Package org.biojavax
Class SimpleRichAnnotation
- java.lang.Object
-
- org.biojava.utils.AbstractChangeable
-
- org.biojavax.SimpleRichAnnotation
-
- All Implemented Interfaces:
Annotation,Changeable,RichAnnotation
public class SimpleRichAnnotation extends AbstractChangeable implements RichAnnotation
Simple annotation wrapper. All non-Note annotations get a rank of zero.- Since:
- 1.5
- Author:
- Richard Holland, George Waldon - adapted note change firing
-
-
Field Summary
-
Fields inherited from interface org.biojava.bio.Annotation
PROPERTY
-
Fields inherited from interface org.biojavax.RichAnnotation
EMPTY_ANNOTATION
-
-
Constructor Summary
Constructors Constructor Description SimpleRichAnnotation()Creates a new, empty instance of SimpleRichAnnotation
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddNote(Note note)Adds a note to this annotation.MapasMap()Return a map that contains the same key/values as this Annotation.voidclear()Removes all notes from this annotation object.booleancontains(Note note)Returns true if the given note exists in this annotation.booleancontainsProperty(Object key)Deprecated.NotegetNote(Note note)Uses the term and rank to lookup a note in this annotation.Set<Note>getNoteSet()Returns an immutable set of all notes in this annotation.Note[]getProperties(Object key)Deprecated.ObjectgetProperty(Object key)Deprecated.Setkeys()Get a set of key objects.voidremoveNote(Note note)Removes a note from this annotation.voidremoveProperty(Object key)Deprecated.voidsetNoteSet(Set<Note> notes)Clears the notes from this annotation and replaces them with those from the given set.voidsetProperty(Object key, Object value)Deprecated.StringtoString()Form: list of "[note]" values separated by commas-
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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
-
-
-
Constructor Detail
-
SimpleRichAnnotation
public SimpleRichAnnotation()
Creates a new, empty instance of SimpleRichAnnotation
-
-
Method Detail
-
clear
public void clear() throws ChangeVetoException
Removes all notes from this annotation object.- Specified by:
clearin interfaceRichAnnotation- Throws:
ChangeVetoException- if it couldn't do it.
-
asMap
public Map asMap()
Return a map that contains the same key/values as this Annotation.If the annotation changes, the map may not reflect this. The Map may be unmodifiable. The map is a copy of the internal structure. It is a map of
ComparableTerms toStrings corresponding to the Term and Value of theNotes in the annotation.- Specified by:
asMapin interfaceAnnotation- Returns:
- a Map
-
addNote
public void addNote(Note note) throws ChangeVetoException
Adds a note to this annotation. Must not be null. If the note is already in the annotation, nothing happens. In case the note was already here, a call to ChangeEvent.getPrevious() in the firePostChangeEvent method will return a copy of the original note.- Specified by:
addNotein interfaceRichAnnotation- Parameters:
note- note to add- Throws:
ChangeVetoException- if it doesn't like this.
-
contains
public boolean contains(Note note)
Returns true if the given note exists in this annotation. The lookup is done using the term and rank of the note.- Specified by:
containsin interfaceRichAnnotation- Parameters:
note- note to lookup- Returns:
- true if it is in this annotation, false if not.
-
containsProperty
public boolean containsProperty(Object key)
Deprecated.Returns whether there the property is defined. Normal raw access to the property. For cleverer access, use methods in AnnotationType.- Specified by:
containsPropertyin interfaceAnnotation- Parameters:
key- the key Object to search for- Returns:
- true if this Annotation knows about the key, false otherwise
-
getNote
public Note getNote(Note note) throws NoSuchElementException
Uses the term and rank to lookup a note in this annotation.- Specified by:
getNotein interfaceRichAnnotation- Parameters:
note- note to lookup, using term and rank.- Returns:
- the matching note.
- Throws:
NoSuchElementException- if it couldn't be found.
-
getProperty
public Object getProperty(Object key) throws NoSuchElementException
Deprecated.Retrieve the value of a property by key.
Unlike the Map collections, it will complain if the key does not exist. It will only return null if the key is defined and has value null.
Normal raw access to the property. For cleverer access, use methods in AnnotationType. Strictly it will return the firstNotewhich matches thekey(or aTermmade with aStringkey)..- Specified by:
getPropertyin interfaceAnnotation- Parameters:
key- the key of the property to retrieve- Returns:
- the object associated with that key
- Throws:
NoSuchElementException- if there is no property with the key- See Also:
getProperties(Object key)
-
getProperties
public Note[] getProperties(Object key)
Deprecated.Find all theNotes with any rank that match the key. Strictly it will return allNotes which match thekey(or aTermmade with aStringkey)..- Specified by:
getPropertiesin interfaceRichAnnotation- Parameters:
key- either aStringidentifier of a term from the default ontology or aComparableTerm- Returns:
- an array of matching
Notesin order of rank or an empty array if there are no matches. No implementation should ever return null! - See Also:
Note,ComparableTerm
-
keys
public Set keys()
Get a set of key objects.- Specified by:
keysin interfaceAnnotation- Returns:
- a Set of key objects
-
removeNote
public void removeNote(Note note) throws ChangeVetoException
Removes a note from this annotation. Must not be null. If the note wasn't in the annotation, nothing happens. In case the note is not found, a call to ChangeEvent.getPrevious() in the firePostChangeEvent method will return null.- Specified by:
removeNotein interfaceRichAnnotation- Parameters:
note- note to remove- Throws:
ChangeVetoException- if it doesn't like this.
-
removeProperty
public void removeProperty(Object key) throws NoSuchElementException, ChangeVetoException
Deprecated.Delete a property. Normal raw access to the property. For cleverer access, use methods in AnnotationType. Strictly it will remove the firstNotewhich matches thekey(or aTermmade with aStringkey)..- Specified by:
removePropertyin interfaceAnnotation- Parameters:
key- the key object- Throws:
NoSuchElementException- if the property doesn't existChangeVetoException- if the change is vetoed
-
setProperty
public void setProperty(Object key, Object value) throws IllegalArgumentException, ChangeVetoException
Deprecated.Set the value of a property.
This method throws an exception if either properties can not be added to this object, or that this particular property is immutable or illegal within the implementation.
Normal raw access to the property. For cleverer access, use methods in AnnotationType.- Specified by:
setPropertyin interfaceAnnotation- Parameters:
key- the key objectvalue- the new value for this key- Throws:
IllegalArgumentException- if the propertykeyis not legalChangeVetoException- if this annotation object can't be changed, or if the change was vetoed.
-
getNoteSet
public Set<Note> getNoteSet()
Returns an immutable set of all notes in this annotation. Warning this method gives access to the original Collection not a copy. This is required by Hibernate. If you modify the object directly the behaviour may be unpredictable.- Specified by:
getNoteSetin interfaceRichAnnotation- Returns:
- a set of notes.
- See Also:
Note
-
setNoteSet
public void setNoteSet(Set<Note> notes) throws ChangeVetoException
Clears the notes from this annotation and replaces them with those from the given set. The set cannot be null. Warning this method gives access to the original Collection not a copy. This is required by Hibernate. If you modify the object directly the behaviour may be unpredictable.- Specified by:
setNoteSetin interfaceRichAnnotation- Parameters:
notes- a set of Note objects to use from now on.- Throws:
ChangeVetoException- if it doesn't like any of them.- See Also:
Note
-
-