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

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


Field Summary
static java.lang.String CALLER_ALL_CONFIGURATION
           
static java.lang.String DEFAULT_CONFIGURATION
           
 
Method Summary
 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 getExtraAttributesNamespaces()
          Returns the list of xml namespaces used by extra attributes, as Map from prefix to namespace URIs.
 java.util.Map getExtraInfo()
          Returns the custom info provided in the info tag.
 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.
 java.util.Date getResolvedPublicationDate()
          The publication date of the module revision should be the date at which it has been published, i.e.
 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.
 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 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

java.util.Map getExtraInfo()
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.

Returns: