org.apache.ivy.util.extendable

## Interface ExtendableItem

All Known Subinterfaces:
  Artifact, DependencyArtifactDescriptor, DependencyDescriptor, ExcludeRule, IncludeRule, ModuleDescriptor

All Known Implementing Classes:
  AbstractArtifact, AbstractIncludeExcludeRule, ArtifactRevisionId, Configuration, ConfigurationGroup, ConfigurationIntersection, DefaultArtifact, DefaultDependencyArtifactDescriptor, DefaultDependencyDescriptor, DefaultExcludeRule, DefaultExtendableItem, DefaultIncludeRule, DefaultModuleDescriptor, IvyPublish.PublishArtifact, MDArtifact, ModuleRevisionId, PomModuleDescriptorBuilder.PomDependencyDescriptor, PomModuleDescriptorBuilder.PomModuleDescriptor, UnmodifiableExtendableItem

    public interface ExtendableItem

### Method Summary

Methods
`java.lang.String` `getAttribute(java.lang.String attName)` Gets the value of an attribute Can be used to access the value of a standard attribute (like organisation, revision) or of an extra attribute.
`java.util.Map` `getAttributes()` Returns a Map of all attributes of this extendable item, including standard and extra ones.
`java.lang.String` `getExtraAttribute(java.lang.String attName)` Gets the value of an extra attribute Can be used only to access the value of an extra attribute, not a standard one (like organisation, revision)
`java.util.Map` `getExtraAttributes()` Returns a Map of all extra attributes of this extendable item.
`java.util.Map` `getQualifiedExtraAttributes()` Returns a Map of all extra attributes of this extendable item.

### Method Detail

#### getAttribute

    java.lang.String getAttribute(java.lang.String attName)

Gets the value of an attribute Can be used to access the value of a standard attribute (like organisation, revision) or of an extra attribute.

Parameters:
  `attName` - the name of the attribute to get
Returns:
  the value of the attribute, null if the attribute doesn't exist

#### getExtraAttribute

    java.lang.String getExtraAttribute(java.lang.String attName)

Gets the value of an extra attribute Can be used only to access the value of an extra attribute, not a standard one (like organisation, revision)

Parameters:
  `attName` - the name of the extra attribute to get. This name can be either qualified or unqualified.
Returns:
  the value of the attribute, null if the attribute doesn't exist

#### getAttributes

    java.util.Map getAttributes()

Returns a Map of all attributes of this extendable item, including standard and extra ones. The Map keys are attribute names as Strings, and values are corresponding attribute values (as String too). Extra attributes are included in unqualified form only.

Returns:
  A Map instance containing all the attributes and their values.

#### getExtraAttributes

    java.util.Map getExtraAttributes()

Returns a Map of all extra attributes of this extendable item. The Map keys are unqualified attribute names as Strings, and values are corresponding attribute values (as String too)

Returns:
  A Map instance containing all the extra attributes and their values.
See Also:
  `getQualifiedExtraAttributes()`

#### getQualifiedExtraAttributes

    java.util.Map getQualifiedExtraAttributes()

Returns a Map of all extra attributes of this extendable item.

The Map keys are qualified attribute names as Strings, and values are corresponding attribute values (as String too).

An attribute name is qualified with a namespace exactly the same way xml attributes are qualified. Thus qualified attribute names are of the form `prefix:name`

Returns:
  A Map instance containing all the extra attributes and their values.
See Also:
  `getExtraAttributes()`