# Interface ArtifactTypeDefinition

All Superinterfaces:
  `HasAttributes, Named`

@Incubating 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 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.

## 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

### JAR_TYPE

@Incubating static final String JAR_TYPE
Represents a JAR file.

Since:
  4.0
See Also:
  - Constant Field Values

### JVM_CLASS_DIRECTORY

@Incubating static final String JVM_CLASS_DIRECTORY
Represents a directory tree containing class files.

Since:
  4.0
See Also:
  - Constant Field Values

### JVM_RESOURCES_DIRECTORY

@Incubating static final String JVM_RESOURCES_DIRECTORY
Represents a directory tree containing jvm classpath resource files.

Since:
  4.0
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`