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
    Modifier and Type | Method and Description
    --- | ---
    `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