# Interface Attributable

All Known Subinterfaces:
  `Edge, Graph, Node, RootedTree, Sequence, Tree`

All Known Implementing Classes:
  `AbstractRootedTree, AttributableHelper, BaseEdge, BaseNode, BasicSequence, CanonicalSequence, CodonSequence, CompactRootedTree, ConsensusSequence, FilteredRootedTree, FilteredSequence, GaplessSequence, MutableRootedTree, ReRootedTree, RootedFromUnrooted, RootedSubtree, SimpleRootedTree, SimpleTree, SortedRootedTree, Taxon, TransformedRootedTree, TranslatedSequence`

public interface Attributable
Interface for associating attributeNames with an object.

Version:
  $Id: Attributable.java 849 2007-12-06 00:10:14Z twobeers $
Author:
  Andrew Rambaut

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`Attributable.Utils`

## Method Summary

Modifier and Type
Method
Description
`Object`
`getAttribute(String name)`
`Map<String,Object>`
`getAttributeMap()`
Gets the entire attribute map.
`Set<String>`
`getAttributeNames()`
`void`
`removeAttribute(String name)`
`void`
`setAttribute(String name, Object value)`
Sets an named attribute for this object.

## Method Details

### setAttribute

void setAttribute(String name, Object value)
Sets an named attribute for this object.

Parameters:
  `name` - the name of the attribute.
  `value` - the new value of the attribute.

### getAttribute

Object getAttribute(String name)

Parameters:
  `name` - the name of the attribute of interest, or null if the attribute doesn't exist.
Returns:
  an object representing the named attributed for this object.

### removeAttribute

void removeAttribute(String name)

Parameters:
  `name` - name of attribute to remove

### getAttributeNames

Set<String> getAttributeNames()

Returns:
  an array of the attributeNames that this object has.

### getAttributeMap

Map<String,Object> getAttributeMap()
Gets the entire attribute map.

Returns:
  an unmodifiable map