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
`static java.lang.String` `CALLER_ALL_CONFIGURATION`
`static java.lang.String` `DEFAULT_CONFIGURATION`

### Method Summary

Methods
`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