Package jebl.util

# 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