# Interface ArtifactTypeDefinition

All Superinterfaces:
  `HasAttributes, Named`

public interface ArtifactTypeDefinition extends HasAttributes, Named
Meta-data about a particular type of artifacts.

Since:
  4.0

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Attribute<String>`
  `ARTIFACT_TYPE_ATTRIBUTE`
  The attribute that represents the type of the artifact.
  `static final String`
  `BINARY_DATA_TYPE`
  Represents a binary file
  `static final String`
  `DIRECTORY_TYPE`
  Represents a raw directory
  `static final String`
  `JAR_TYPE`
  Represents a JAR file.
  `static final String`
  `JVM_CLASS_DIRECTORY`
  Represents a directory tree containing class files.
  `static final String`
  `JVM_RESOURCES_DIRECTORY`
  Represents a directory tree containing jvm classpath resource files.
  `static final String`
  `ZIP_TYPE`
  Represents a zip file

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AttributeContainer`
  `getAttributes()`
  Defines the set of attributes to apply to a component that is packaged as an artifact of this type, when no other attributes are defined.
  `Set<String>`
  `getFileNameExtensions()`
  Returns the set of file name extensions that should be mapped to this artifact type.

  ### Methods inherited from interface Named

  `getName`

- ## Field Details

  - ### ARTIFACT_TYPE_ATTRIBUTE

    static final Attribute<String> ARTIFACT_TYPE_ATTRIBUTE
    The attribute that represents the type of the artifact.
    Since:
      7.3

  - ### JAR_TYPE

    static final String JAR_TYPE
    Represents a JAR file.
    Since:
      4.0
    See Also:
      - Constant Field Values

  - ### JVM_CLASS_DIRECTORY

    static final String JVM_CLASS_DIRECTORY
    Represents a directory tree containing class files.
    Since:
      4.0
    See Also:
      - Constant Field Values

  - ### JVM_RESOURCES_DIRECTORY

    static final String JVM_RESOURCES_DIRECTORY
    Represents a directory tree containing jvm classpath resource files.
    Since:
      4.0
    See Also:
      - Constant Field Values

  - ### ZIP_TYPE

    static final String ZIP_TYPE
    Represents a zip file
    Since:
      5.3
    See Also:
      - Constant Field Values

  - ### DIRECTORY_TYPE

    static final String DIRECTORY_TYPE
    Represents a raw directory
    Since:
      5.3
    See Also:
      - Constant Field Values

  - ### BINARY_DATA_TYPE

    @Incubating static final String BINARY_DATA_TYPE
    Represents a binary file
    Since:
      7.4
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getFileNameExtensions

    Set<String> getFileNameExtensions()
    Returns the set of file name extensions that should be mapped to this artifact type. Defaults to the name of this type.

  - ### getAttributes

    AttributeContainer getAttributes()
    Defines the set of attributes to apply to a component that is packaged as an artifact of this type, when no other attributes are defined. For example, these attributes are applied when a Maven module contains an artifact with one of the extensions listed in `getFileNameExtensions()`.
    Specified by:
      `getAttributes` in interface `HasAttributes`