org.biojava.bio
Class BeanAsAnnotation

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

public class BeanAsAnnotation
extends AbstractAnnotation

Create an Annotation with properties matching those of a JavaBean instance. Note: this class is experimental and only partialy implemented.

Since:
1.3
Author:
Matthew Pocock
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.biojava.bio.Annotation
EMPTY_ANNOTATION, PROPERTY
 
Constructor Summary
BeanAsAnnotation(Object bean)
          Create a new BeanAsAnnotation for a bean.
 
Method Summary
protected  Map getProperties()
          Implement this to return the Map delegate.
protected  boolean propertiesAllocated()
          A convenience method to see if we have allocated the properties Map.
 
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

BeanAsAnnotation

public BeanAsAnnotation(Object bean)
                 throws IntrospectionException
Create a new BeanAsAnnotation for a bean.

Parameters:
bean - the JavaBean to view
Throws:
IntrospectionException - if the bean could not be introspected
Method Detail

getProperties

protected final Map getProperties()
Description copied from class: AbstractAnnotation
Implement this to return the Map delegate. Modifying this return value will modify the properties associated with this annotation. From code in the 1.2 version of AbstractAnnotation This is required for the implementation of an Annotation that extends AbstractAnnotation. Where possible implementations should be backed with a LinkedHashMap or similar so properties are iterated in the order they were added.

Specified by:
getProperties in class AbstractAnnotation
Returns:
a Map containing all properties

propertiesAllocated

protected final boolean propertiesAllocated()
Description copied from class: AbstractAnnotation
A convenience method to see if we have allocated the properties Map. This is required for the implementation of an Annotation that extends AbstractAnnotation.

Specified by:
propertiesAllocated in class AbstractAnnotation
Returns:
true if the properties have been allocated, false otherwise