org.apache.ivy.core.module.descriptor

## Class DefaultArtifact

- java.lang.Object
- - org.apache.ivy.core.module.descriptor.AbstractArtifact
  - - org.apache.ivy.core.module.descriptor.DefaultArtifact

All Implemented Interfaces:
  Artifact, ExtendableItem

    public class DefaultArtifact
    extends AbstractArtifact

### Constructor Summary

Constructors
Constructor and Description
`DefaultArtifact(ArtifactRevisionId arid, java.util.Date publicationDate, java.net.URL url, boolean isMetadata)`
`DefaultArtifact(ModuleRevisionId mrid, java.util.Date publicationDate, java.lang.String name, java.lang.String type, java.lang.String ext)`
`DefaultArtifact(ModuleRevisionId mrid, java.util.Date publicationDate, java.lang.String name, java.lang.String type, java.lang.String ext, boolean isMetadata)`
`DefaultArtifact(ModuleRevisionId mrid, java.util.Date publicationDate, java.lang.String name, java.lang.String type, java.lang.String ext, java.util.Map extraAttributes)`
`DefaultArtifact(ModuleRevisionId mrid, java.util.Date publicationDate, java.lang.String name, java.lang.String type, java.lang.String ext, java.net.URL url, java.util.Map extraAttributes)`

### Method Summary

Methods
`static Artifact` `cloneWithAnotherExt(Artifact artifact, java.lang.String newExt)`
`static Artifact` `cloneWithAnotherMrid(Artifact artifact, ModuleRevisionId mrid)`
`static Artifact` `cloneWithAnotherName(Artifact artifact, java.lang.String name)`
`static Artifact` `cloneWithAnotherType(Artifact artifact, java.lang.String newType)`
`static Artifact` `cloneWithAnotherTypeAndExt(Artifact artifact, java.lang.String newType, java.lang.String newExt)`
`java.lang.String[]` `getConfigurations()` Returns the list of configurations where this artifact is associated to.
`java.lang.String` `getExt()` Retrieve the extension of the artifact.
`ArtifactRevisionId` `getId()` Return the specific identifier of this artifact.
`ModuleRevisionId` `getModuleRevisionId()` Returns the resolved module revision id for this artifact
`java.lang.String` `getName()` Return the name of the artifact, generally 'part' of the basename of the file.
`java.util.Date` `getPublicationDate()` Returns the resolved publication date for this artifact
`java.lang.String` `getType()` Returns the type of the artifact, typically 'jar', 'source', 'javadoc', 'debian', ...
`java.net.URL` `getUrl()` Returns the url at which this artifact can be found independently of ivy configuration.
`boolean` `isMetadata()` Returns true if this artifact represents a module metadata artifact, false if it's a published artifact
`static Artifact` `newIvyArtifact(ModuleRevisionId mrid, java.util.Date pubDate)`
`static Artifact` `newPomArtifact(ModuleRevisionId mrid, java.util.Date pubDate)`

### Methods inherited from class org.apache.ivy.core.module.descriptor.AbstractArtifact

`equals, getAttribute, getAttributes, getExtraAttribute, getExtraAttributes, getQualifiedExtraAttributes, hashCode, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### DefaultArtifact

    public DefaultArtifact(ModuleRevisionId mrid,
                   java.util.Date publicationDate,
                   java.lang.String name,
                   java.lang.String type,
                   java.lang.String ext)

#### DefaultArtifact

    public DefaultArtifact(ModuleRevisionId mrid,
                   java.util.Date publicationDate,
                   java.lang.String name,
                   java.lang.String type,
                   java.lang.String ext,
                   boolean isMetadata)

#### DefaultArtifact

    public DefaultArtifact(ModuleRevisionId mrid,
                   java.util.Date publicationDate,
                   java.lang.String name,
                   java.lang.String type,
                   java.lang.String ext,
                   java.util.Map extraAttributes)

#### DefaultArtifact

    public DefaultArtifact(ModuleRevisionId mrid,
                   java.util.Date publicationDate,
                   java.lang.String name,
                   java.lang.String type,
                   java.lang.String ext,
                   java.net.URL url,
                   java.util.Map extraAttributes)

#### DefaultArtifact

    public DefaultArtifact(ArtifactRevisionId arid,
                   java.util.Date publicationDate,
                   java.net.URL url,
                   boolean isMetadata)

### Method Detail

#### newIvyArtifact

    public static Artifact newIvyArtifact(ModuleRevisionId mrid,
                          java.util.Date pubDate)

#### newPomArtifact

    public static Artifact newPomArtifact(ModuleRevisionId mrid,
                          java.util.Date pubDate)

#### cloneWithAnotherExt

    public static Artifact cloneWithAnotherExt(Artifact artifact,
                               java.lang.String newExt)

#### cloneWithAnotherType

    public static Artifact cloneWithAnotherType(Artifact artifact,
                                java.lang.String newType)

#### cloneWithAnotherTypeAndExt

    public static Artifact cloneWithAnotherTypeAndExt(Artifact artifact,
                                      java.lang.String newType,
                                      java.lang.String newExt)

#### cloneWithAnotherName

    public static Artifact cloneWithAnotherName(Artifact artifact,
                                java.lang.String name)

#### cloneWithAnotherMrid

    public static Artifact cloneWithAnotherMrid(Artifact artifact,
                                ModuleRevisionId mrid)

#### getModuleRevisionId

    public ModuleRevisionId getModuleRevisionId()

Description copied from interface: `Artifact`
Returns the resolved module revision id for this artifact

Returns:
  the resolved module revision id.

#### getName

    public java.lang.String getName()

Description copied from interface: `Artifact`
Return the name of the artifact, generally 'part' of the basename of the file.

Returns:
  the name of the artifact. Never null.

#### getPublicationDate

    public java.util.Date getPublicationDate()

Description copied from interface: `Artifact`
Returns the resolved publication date for this artifact

Returns:
  the resolved publication date. Never null.

#### getType

    public java.lang.String getType()

Description copied from interface: `Artifact`
Returns the type of the artifact, typically 'jar', 'source', 'javadoc', 'debian', ...

Returns:
  the type of the artifact. Never null.

#### getExt

    public java.lang.String getExt()

Description copied from interface: `Artifact`
Retrieve the extension of the artifact. The extension is without dot (ie. 'jar' and not '.jar')

Returns:
  the extension of the artifact. Never null.

#### getId

    public ArtifactRevisionId getId()

Description copied from interface: `Artifact`
Return the specific identifier of this artifact.

Returns:
  the id of the artifact

#### getConfigurations

    public java.lang.String[] getConfigurations()

Description copied from interface: `Artifact`
Returns the list of configurations where this artifact is associated to.

Returns:
  the list of configuration this artifact is associated to. Never null.

#### getUrl

    public java.net.URL getUrl()

Description copied from interface: `Artifact`
Returns the url at which this artifact can be found independently of ivy configuration. This can be null (and is usually for standard artifacts)

Returns:
  url at which this artifact can be found independently of ivy configuration

#### isMetadata

    public boolean isMetadata()

Description copied from interface: `Artifact`
Returns true if this artifact represents a module metadata artifact, false if it's a published artifact

Returns:
  true if this artifact represents a module metadata artifact, false if it's a published artifact