org.apache.ivy.core.module.descriptor

## Interface ModuleDescriptor

- All Superinterfaces:
    ArtifactInfo, DependencyDescriptorMediator, ExtendableItem
  All Known Implementing Classes:
    DefaultModuleDescriptor, PomModuleDescriptorBuilder.PomModuleDescriptor

      public interface ModuleDescriptor
      extends ExtendableItem, ArtifactInfo, DependencyDescriptorMediator

  Descriptor of a module. This is the Java representation of an ivy.xml

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CALLER_ALL_CONFIGURATION`
    `static java.lang.String` | `DEFAULT_CONFIGURATION`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canExclude()` Returns true if this descriptor contains any exclusion rule
    `boolean` | `dependsOn(VersionMatcher matcher, ModuleDescriptor md)` Returns true if the module described by this descriptor dependes directly upon the given module descriptor
    `boolean` | `doesExclude(java.lang.String[] moduleConfs, ArtifactId artifactId)` Returns true if an exclude rule of this module attached to any of the given configurations matches the given artifact id, and thus exclude it
    `Artifact[]` | `getAllArtifacts()` Returns all artifacts of this module, excluding the artifact corresponding to the module descriptor.
    `ModuleRules` | `getAllDependencyDescriptorMediators()` Returns all the dependency descriptor mediators used by this `ModuleDescriptor`, as an instance of `ModuleRules`.
    `ExcludeRule[]` | `getAllExcludeRules()` Returns an array of all the exclude rules this module descriptor currently holds.
    `Artifact[]` | `getArtifacts(java.lang.String conf)`
    `Configuration` | `getConfiguration(java.lang.String confName)`
    `Configuration[]` | `getConfigurations()` Returns all the configurations declared by this module as an array.
    `java.lang.String[]` | `getConfigurationsNames()`
    `ConflictManager` | `getConflictManager(ModuleId id)` Returns the conflict manager to use for the given ModuleId, or `null` if no specific conflict manager is associated with the given module id in this module descriptor.
    `DependencyDescriptor[]` | `getDependencies()`
    `java.lang.String` | `getDescription()`
    `java.util.Map<java.lang.String,java.lang.String>` | `getExtraAttributesNamespaces()` Returns the list of xml namespaces used by extra attributes, as Map from prefix to namespace URIs.
    `java.util.Map<java.lang.String,java.lang.String>` | `getExtraInfo()` Deprecated. this method is not returning the full content of the extra info: to get the full structure of the extra infos, use getExtraInfos()
    `ExtraInfoHolder` | `getExtraInfoByTagName(java.lang.String tagName)` Returns first extrainfo matching with given tag name
    `java.lang.String` | `getExtraInfoContentByTagName(java.lang.String tagName)` Returns content from first extrainfo matching with given tag name
    `java.util.List<ExtraInfoHolder>` | `getExtraInfos()` Returns a list of extras infos (tag name, attributes and content).
    `java.lang.String` | `getHomePage()`
    `ExtendsDescriptor[]` | `getInheritedDescriptors()` Get the list of parent descriptors imported via an <extends> element.
    `long` | `getLastModified()`
    `License[]` | `getLicenses()` Returns the licenses of the module described by this descriptor
    `Artifact` | `getMetadataArtifact()` Returns the Artifact representing this module descriptor itself.
    `ModuleRevisionId` | `getModuleRevisionId()`
    `ModuleDescriptorParser` | `getParser()` The ModuleDescriptorParser used to parse this module descriptor, null is no parser was used.
    `java.util.Date` | `getPublicationDate()` May be `null` if unknown in the descriptor itself.
    `java.lang.String[]` | `getPublicConfigurationsNames()`
    `ModuleRevisionId` | `getResolvedModuleRevisionId()` The module revision id returned here is the resolved one, i.e. it is never a latest one.
    `java.util.Date` | `getResolvedPublicationDate()` The publication date of the module revision should be the date at which it has been published, i.e. in general the date of any of its published artifacts, since all published artifact of a module should follow the same publishing cycle.
    `Resource` | `getResource()` The resource being the source of this module descriptor, null if no resource corresponds to this module descriptor
    `java.lang.String` | `getStatus()`
    `boolean` | `isDefault()` Returns true if this descriptor is a default one, i.e. one generated for a module not actually having one.
    `void` | `setResolvedModuleRevisionId(ModuleRevisionId revId)` This method update the resolved module revision id
    `void` | `setResolvedPublicationDate(java.util.Date publicationDate)` This method update the resolved publication date
    `void` | `toIvyFile(java.io.File ivyFile)` Writes this module descriptor as an ivy file.

    - ### Methods inherited from interface org.apache.ivy.util.extendable.ExtendableItem

      `getAttribute, getAttributes, getExtraAttribute, getExtraAttributes, getQualifiedExtraAttributes`

    - ### Methods inherited from interface org.apache.ivy.plugins.latest.ArtifactInfo

      `getRevision`

    - ### Methods inherited from interface org.apache.ivy.core.module.descriptor.DependencyDescriptorMediator

      `mediate`

- - ### Field Detail

    - #### DEFAULT_CONFIGURATION

          static final java.lang.String DEFAULT_CONFIGURATION

      See Also:
        Constant Field Values

    - #### CALLER_ALL_CONFIGURATION

          static final java.lang.String CALLER_ALL_CONFIGURATION

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### isDefault

          boolean isDefault()

      Returns true if this descriptor is a default one, i.e. one generated for a module not actually having one.
      Returns:

    - #### getModuleRevisionId

          ModuleRevisionId getModuleRevisionId()

    - #### getResolvedModuleRevisionId

          ModuleRevisionId getResolvedModuleRevisionId()

      The module revision id returned here is the resolved one, i.e. it is never a latest one. If the revision has not been resolved, a null revision should be returned by getRevision() of the returned ModuleRevisionId. This revision must be the same as the module descriptor resolved revision id unless no module descriptor is defined
      Returns:

    - #### setResolvedModuleRevisionId

          void setResolvedModuleRevisionId(ModuleRevisionId revId)

      This method update the resolved module revision id
      Parameters:
        `revId` -

    - #### getInheritedDescriptors

          ExtendsDescriptor[] getInheritedDescriptors()

      Get the list of parent descriptors imported via an <extends> element. Only directly imported descriptors are included; the parent's parents are not included.

    - #### setResolvedPublicationDate

          void setResolvedPublicationDate(java.util.Date publicationDate)

      This method update the resolved publication date
      Parameters:
        `publicationDate` -

    - #### getStatus

          java.lang.String getStatus()

    - #### getPublicationDate

          java.util.Date getPublicationDate()

      May be `null` if unknown in the descriptor itself.
      Returns:
        The publication date or `null` when not knwon.

    - #### getResolvedPublicationDate

          java.util.Date getResolvedPublicationDate()

      The publication date of the module revision should be the date at which it has been published, i.e. in general the date of any of its published artifacts, since all published artifact of a module should follow the same publishing cycle.

    - #### getConfigurations

          Configuration[] getConfigurations()

      Returns all the configurations declared by this module as an array. This array is never empty (a 'default' conf is assumed when none is declared in the ivy file)
      Returns:
        all the configurations declared by this module as an array.

    - #### getConfigurationsNames

          java.lang.String[] getConfigurationsNames()

    - #### getPublicConfigurationsNames

          java.lang.String[] getPublicConfigurationsNames()

    - #### getArtifacts

          Artifact[] getArtifacts(java.lang.String conf)

    - #### getAllArtifacts

          Artifact[] getAllArtifacts()

      Returns all artifacts of this module, excluding the artifact corresponding to the module descriptor.
      Returns:
        all published artifacts of this module
      See Also:
        `getMetadataArtifact()`

    - #### getDependencies

          DependencyDescriptor[] getDependencies()

    - #### dependsOn

          boolean dependsOn(VersionMatcher matcher,
                          ModuleDescriptor md)

      Returns true if the module described by this descriptor dependes directly upon the given module descriptor
      Parameters:
        `md` -
      Returns:

    - #### getConfiguration

          Configuration getConfiguration(java.lang.String confName)

      Parameters:
        `confName` -
      Returns:

    - #### getConflictManager

          ConflictManager getConflictManager(ModuleId id)

      Returns the conflict manager to use for the given ModuleId, or `null` if no specific conflict manager is associated with the given module id in this module descriptor.
      Parameters:
        `id` -
      Returns:

    - #### getLicenses

          License[] getLicenses()

      Returns the licenses of the module described by this descriptor
      Returns:

    - #### getHomePage

          java.lang.String getHomePage()

    - #### getDescription

          java.lang.String getDescription()

    - #### getLastModified

          long getLastModified()

      Specified by:
        `getLastModified` in interface `ArtifactInfo`

    - #### toIvyFile

          void toIvyFile(java.io.File ivyFile)
                         throws java.text.ParseException,
                                java.io.IOException

      Writes this module descriptor as an ivy file. If this descriptor was obtained through the parsing of an ivy file, it should keep the layout of the file the most possible similar to the original one.
      Parameters:
        `ivyFile` - the destination ivy file
      Throws:
        `java.text.ParseException`
        `java.io.IOException`

    - #### getParser

          ModuleDescriptorParser getParser()

      The ModuleDescriptorParser used to parse this module descriptor, null is no parser was used.
      Returns:

    - #### getResource

          Resource getResource()

      The resource being the source of this module descriptor, null if no resource corresponds to this module descriptor
      Returns:

    - #### getMetadataArtifact

          Artifact getMetadataArtifact()

      Returns the Artifact representing this module descriptor itself.

      Even though the module descriptor is never described as a published artifact of a module in the module descriptor itself, it is often useful to consider it as any other artifact of the module. This method allows to access to the Artifact object representing this module descriptor for this purpose.

      Returns:
        the Artifact representing this module descriptor itself.

    - #### canExclude

          boolean canExclude()

      Returns true if this descriptor contains any exclusion rule
      Returns:
        true if this descriptor contains any exclusion rule

    - #### doesExclude

          boolean doesExclude(java.lang.String[] moduleConfs,
                            ArtifactId artifactId)

      Returns true if an exclude rule of this module attached to any of the given configurations matches the given artifact id, and thus exclude it
      Parameters:
        `moduleConfs` -
        `artifactId` -
      Returns:

    - #### getAllExcludeRules

          ExcludeRule[] getAllExcludeRules()

      Returns an array of all the exclude rules this module descriptor currently holds. Module Descriptor exclude rules are used to exclude (usually transitive) dependencies for the whole module.
      Returns:
        an array of `ExcludeRule` this module descriptor holds

    - #### getAllDependencyDescriptorMediators

          ModuleRules getAllDependencyDescriptorMediators()

      Returns all the dependency descriptor mediators used by this `ModuleDescriptor`, as an instance of `ModuleRules`.

      All rules in the `ModuleRules` object returned are `DependencyDescriptorMediator` .

      Returns:
        all the dependency descriptor mediators used by this `ModuleDescriptor`.

    - #### getExtraAttributesNamespaces

          java.util.Map<java.lang.String,java.lang.String> getExtraAttributesNamespaces()

      Returns the list of xml namespaces used by extra attributes, as Map from prefix to namespace URIs.

      The returned list is never `null`, it is empty when no extra attribute is used or if extra attributes are used without xml namespaces

      Returns:
        the list of xml namespaces used by extra attributes, as Map from prefix to namespace URIs.

    - #### getExtraInfo

          @Deprecated
          java.util.Map<java.lang.String,java.lang.String> getExtraInfo()

      Deprecated. this method is not returning the full content of the extra info: to get the full structure of the extra infos, use getExtraInfos()
      Returns the custom info provided in the info tag. All the tags except the description are given. The key is the name of the tag, the value is its content.

    - #### getExtraInfos

          java.util.List<ExtraInfoHolder> getExtraInfos()

      Returns a list of extras infos (tag name, attributes and content). All the tags except the description are given.
      Returns:
      Since:
        2.4.0

    - #### getExtraInfoContentByTagName

          java.lang.String getExtraInfoContentByTagName(java.lang.String tagName)

      Returns content from first extrainfo matching with given tag name
      Returns:
      Since:
        2.4.0

    - #### getExtraInfoByTagName

          ExtraInfoHolder getExtraInfoByTagName(java.lang.String tagName)

      Returns first extrainfo matching with given tag name
      Returns:
      Since:
        2.4.0