org.biojava.bio
Class SimpleAnnotation

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.bio.AbstractAnnotation
          extended by org.biojava.bio.SimpleAnnotation
All Implemented Interfaces:
Serializable, Annotation, Changeable

public class SimpleAnnotation
extends AbstractAnnotation

A no-frills implementation of Annotation that is just a wrapper around a LinkedHashMap.

It will allow you to set any property, but will throw exceptions if you try to retrieve a property that is not set. Because of the use of a LinkedHashMap properties are iterated in the order they are entered.

When you need to make a new Annotation instance and will want to populate it with properties, use this class.

Since:
1.0
Author:
Matthew Pocock, Greg Cox, Mark Schreiber
See Also:
SimpleRichAnnotation, Serialized Form

Field Summary
 
Fields inherited from interface org.biojava.bio.Annotation
EMPTY_ANNOTATION, PROPERTY
 
Constructor Summary
SimpleAnnotation()
          Create a new, empty SimpleAnnotation instance.
SimpleAnnotation(Annotation ann)
          Create a new SimpleAnnotation by copying the properties from another one.
SimpleAnnotation(Map map)
          Create a new SimpleAnnotation using the values in a Map.
 
Method Summary
protected  Map getProperties()
          Get the property value pairs in this annotation
protected  boolean propertiesAllocated()
          Test to see if any properties have been allocated
 
Methods inherited from class org.biojava.bio.AbstractAnnotation
asMap, containsProperty, equals, getProperty, hashCode, keys, removeProperty, setProperty, toString
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

SimpleAnnotation

public SimpleAnnotation()
Create a new, empty SimpleAnnotation instance.


SimpleAnnotation

public SimpleAnnotation(Annotation ann)
Create a new SimpleAnnotation by copying the properties from another one. The new Annotation instance will be independant of the original.

Parameters:
ann - the Annotation to copy

SimpleAnnotation

public SimpleAnnotation(Map map)
Create a new SimpleAnnotation using the values in a Map.

Parameters:
map - the Map to copy properties out of
Method Detail

getProperties

protected final Map getProperties()
Get the property value pairs in this annotation

Specified by:
getProperties in class AbstractAnnotation
Returns:
a LinkedHashMap of properties and values

propertiesAllocated

protected final boolean propertiesAllocated()
Test to see if any properties have been allocated

Specified by:
propertiesAllocated in class AbstractAnnotation
Returns:
true if any have (even if they have since been removed), false otherwise