org.biojavax.bio
Class SimpleBioEntry

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojavax.bio.SimpleBioEntry
All Implemented Interfaces:
Comparable, Annotatable, Changeable, BioEntry, RankedCrossRefable, RichAnnotatable
Direct Known Subclasses:
ThinRichSequence

public class SimpleBioEntry
extends AbstractChangeable
implements BioEntry

Reference implementation of a BioEntry object which has no features or sequence. Equality is the combination of namespace, name, accession and version.

Since:
1.5
Author:
Richard Holland, Mark Schreiber, George Waldon

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
 
Fields inherited from interface org.biojavax.bio.BioEntry
COMMENT, DESCRIPTION, DIVISION, IDENTIFIER, RANKEDCROSSREF, RANKEDDOCREF, RELATIONS, SEQVERSION, TAXON
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Constructor Summary
protected SimpleBioEntry()
           
  SimpleBioEntry(Namespace ns, String name, String accession, int version)
          Creates a new bioentry representing the sequence in the given namespace with the given name, accession and version.
 
Method Summary
 void addComment(Comment comment)
          Adds a comment instance to this bioentry.
 void addRankedCrossRef(RankedCrossRef crossref)
          Adds a ranked cross reference to the existing set.
 void addRankedDocRef(RankedDocRef docref)
          Adds a ranked docref instance to this bioentry.
 void addRelationship(BioEntryRelationship relation)
          Adds a relation instance to this bioentry.
 int compareTo(Object o)
           Bioentries are ordered first by namespace, then name, accession, and finally version.
 boolean equals(Object obj)
           Two bioentries are equal if they share the same namespace, name, accession and version.
 String getAccession()
          Returns the accession of this bioentry.
 Annotation getAnnotation()
          Should return the associated annotation object.
 Set getComments()
          Returns a set of all comments associated with this bioentry. Warning this method gives access to the original Collection not a copy.
 String getDescription()
          Returns a description of this sequence.
 String getDivision()
          Returns the division of this bioentry.
 Integer getId()
          Gets the Hibernate ID.
 String getIdentifier()
          Returns the identifier of this bioentry.
 String getName()
          Returns the name of this bioentry.
 Namespace getNamespace()
          Returns the namespace of this bioentry.
 Set getNoteSet()
          Returns the set of notes associated with this object. Warning this method gives access to the original Collection not a copy.
 Set getRankedCrossRefs()
          Returns the set of all ranked cross references associated with an object. Warning this method gives access to the original Collection not a copy.
 Set getRankedDocRefs()
          Returns a set of all bioentrydocrefs associated with this bioentry. Warning this method gives access to the original Collection not a copy.
 Set getRelationships()
          Returns a set of all relationships associated with this bioentry. Warning this method gives access to the original Collection not a copy.
 RichAnnotation getRichAnnotation()
          Return the associated annotation object.
 NCBITaxon getTaxon()
          Gets the taxon associated with this bioentry.
 int getVersion()
          Gets the version of this bioentry.
 int hashCode()
          
 void removeComment(Comment comment)
          Removes a comment instance from this bioentry.
 void removeRankedCrossRef(RankedCrossRef crossref)
          Removes a ranked cross reference from the existing set.
 void removeRankedDocRef(RankedDocRef docref)
          Removes a ranked docref instance from this bioentry.
 void removeRelationship(BioEntryRelationship relation)
          Removes a relation instance from this bioentry.
 void setDescription(String description)
          Sets the description for this bioentry.
 void setDivision(String division)
          Sets the division of this bioentry.
 void setId(Integer id)
          Sets the Hibernate ID.
 void setIdentifier(String identifier)
          Sets the identifier of this bioentry.
 void setNoteSet(Set notes)
          Clears the notes associated with this object and replaces them with the contents of this set. Warning this method gives access to the original Collection not a copy.
 void setRankedCrossRefs(Set rankedcrossrefs)
          Sets the ranked cross references associated with an object.
 void setTaxon(NCBITaxon taxon)
          Sets the taxon for this bioentry.
 String toString()
           Form: namespace:name/accession.version
 
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

SimpleBioEntry

public SimpleBioEntry(Namespace ns,
                      String name,
                      String accession,
                      int version)
Creates a new bioentry representing the sequence in the given namespace with the given name, accession and version. These properties are all immutable and non-nullable.

Parameters:
ns - The namespace for this new bioentry (not null).
name - The name for this new bioentry (not null).
accession - The accession for this new bioentry (not null).
version - The version for this new bioentry.

SimpleBioEntry

protected SimpleBioEntry()
Method Detail

getRankedCrossRefs

public Set getRankedCrossRefs()
Returns the set of all ranked cross references associated with an object. 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:
getRankedCrossRefs in interface RankedCrossRefable
Returns:
a set of RankedCrossRef objects.

setTaxon

public void setTaxon(NCBITaxon taxon)
              throws ChangeVetoException
Sets the taxon for this bioentry. It may be null, in which case the taxon is unset.

Specified by:
setTaxon in interface BioEntry
Parameters:
taxon - New value of property taxon.
Throws:
ChangeVetoException - in case of objections.

getAnnotation

public Annotation getAnnotation()
Should return the associated annotation object.

Specified by:
getAnnotation in interface Annotatable
Returns:
an Annotation object, never null

getRichAnnotation

public RichAnnotation getRichAnnotation()
Return the associated annotation object.

Specified by:
getRichAnnotation in interface RichAnnotatable
Returns:
a RichAnnotation object, never null

getNoteSet

public Set getNoteSet()
Returns the set of notes associated with this object. Would normally delegate call to internal RichAnnotation instance. 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:
getNoteSet in interface RichAnnotatable
Returns:
set a set of Note objects.
See Also:
Note

setNoteSet

public void setNoteSet(Set notes)
                throws ChangeVetoException
Clears the notes associated with this object and replaces them with the contents of this set. Would normally delegate call to internal RichAnnotation instance. 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:
setNoteSet in interface RichAnnotatable
Parameters:
notes - the set of Note objects to replace the existing ones with.
Throws:
ChangeVetoException - if the set is null or contains any objects that are not Note objects.
See Also:
Note

getComments

public Set getComments()
Returns a set of all comments associated with this bioentry. This set is not mutable. If no comments are associated, you will get back an empty set. 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:
getComments in interface BioEntry
Returns:
a set of Comment objects.
See Also:
Comment

getRankedDocRefs

public Set getRankedDocRefs()
Returns a set of all bioentrydocrefs associated with this bioentry. This set is not mutable. If no docrefs are associated, you will get back an empty set. 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:
getRankedDocRefs in interface BioEntry
Returns:
a set of RankedDocRef objects.
See Also:
RankedDocRef

getRelationships

public Set getRelationships()
Returns a set of all relationships associated with this bioentry. This set is not mutable. If no relationships are associated, you will get back an empty set. 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:
getRelationships in interface BioEntry
Returns:
a set of BioEntryRelationship objects.
See Also:
BioEntryRelationship

setIdentifier

public void setIdentifier(String identifier)
                   throws ChangeVetoException
Sets the identifier of this bioentry. Null is allowable.

Specified by:
setIdentifier in interface BioEntry
Parameters:
identifier - New value of property identifier.
Throws:
ChangeVetoException - in case of objections.

setDivision

public void setDivision(String division)
                 throws ChangeVetoException
Sets the division of this bioentry. Null is allowable.

Specified by:
setDivision in interface BioEntry
Parameters:
division - New value of property division.
Throws:
ChangeVetoException - in case of objections.

setDescription

public void setDescription(String description)
                    throws ChangeVetoException
Sets the description for this bioentry.

Specified by:
setDescription in interface BioEntry
Parameters:
description - New value of property description.
Throws:
ChangeVetoException - in case of objections.

getAccession

public String getAccession()
Returns the accession of this bioentry. The accession is supposed to be an immutable property set by the constructor.

Specified by:
getAccession in interface BioEntry
Returns:
Value of property accession.

getDescription

public String getDescription()
Returns a description of this sequence.

Specified by:
getDescription in interface BioEntry
Returns:
Value of property description.

getDivision

public String getDivision()
Returns the division of this bioentry. Division relates to a division of the parent namespace.

Specified by:
getDivision in interface BioEntry
Returns:
Value of property division.

getIdentifier

public String getIdentifier()
Returns the identifier of this bioentry.

Specified by:
getIdentifier in interface BioEntry
Returns:
Value of property identifier.

getName

public String getName()
Returns the name of this bioentry. The name is supposed to be an immutable property set by the constructor.

Specified by:
getName in interface BioEntry
Returns:
Value of property name.

getNamespace

public Namespace getNamespace()
Returns the namespace of this bioentry. The namespace is supposed to be an immutable property set by the constructor.

Specified by:
getNamespace in interface BioEntry
Returns:
the namespace of this bioentry.

getTaxon

public NCBITaxon getTaxon()
Gets the taxon associated with this bioentry. It may be null.

Specified by:
getTaxon in interface BioEntry
Returns:
Value of property taxon.

getVersion

public int getVersion()
Gets the version of this bioentry. Bioentries with no versions return 0. The version is supposed to be immutable and set only by the constructor.

Specified by:
getVersion in interface BioEntry
Returns:
Value of property version.

equals

public boolean equals(Object obj)
Two bioentries are equal if they share the same namespace, name, accession and version.

Overrides:
equals in class Object

compareTo

public int compareTo(Object o)
Bioentries are ordered first by namespace, then name, accession, and finally version.

Specified by:
compareTo in interface Comparable

hashCode

public int hashCode()

Overrides:
hashCode in class Object

toString

public String toString()
Form: namespace:name/accession.version

Overrides:
toString in class Object

addRankedCrossRef

public void addRankedCrossRef(RankedCrossRef crossref)
                       throws ChangeVetoException
Adds a ranked cross reference to the existing set. If already present, this call is ignored. Null values are not acceptable.

Specified by:
addRankedCrossRef in interface RankedCrossRefable
Parameters:
crossref - the ranked cross reference to add.
Throws:
ChangeVetoException - if the parameter is null.

removeRankedCrossRef

public void removeRankedCrossRef(RankedCrossRef crossref)
                          throws ChangeVetoException
Removes a ranked cross reference from the existing set. If not present, this call is ignored. Null values are not acceptable.

Specified by:
removeRankedCrossRef in interface RankedCrossRefable
Parameters:
crossref - the ranked cross reference to remove.
Throws:
ChangeVetoException - if the parameter is null.

addRankedDocRef

public void addRankedDocRef(RankedDocRef docref)
                     throws ChangeVetoException
Adds a ranked docref instance to this bioentry. Must not be null.

Specified by:
addRankedDocRef in interface BioEntry
Parameters:
docref - the item to add.
Throws:
ChangeVetoException - if it doesn't want to add it.

removeRankedDocRef

public void removeRankedDocRef(RankedDocRef docref)
                        throws ChangeVetoException
Removes a ranked docref instance from this bioentry. If it was not found, nothing happens.

Specified by:
removeRankedDocRef in interface BioEntry
Parameters:
docref - the item to remove.
Throws:
ChangeVetoException - if it doesn't want to remove it.

addComment

public void addComment(Comment comment)
                throws ChangeVetoException
Adds a comment instance to this bioentry. Must not be null.

Specified by:
addComment in interface BioEntry
Parameters:
comment - the item to add.
Throws:
ChangeVetoException - if it doesn't want to add it.

removeComment

public void removeComment(Comment comment)
                   throws ChangeVetoException
Removes a comment instance from this bioentry. If it wasn't present, it nothing will happen.

Specified by:
removeComment in interface BioEntry
Parameters:
comment - the item to remove.
Throws:
ChangeVetoException - if it doesn't want to remove it.

addRelationship

public void addRelationship(BioEntryRelationship relation)
                     throws ChangeVetoException
Adds a relation instance to this bioentry. It must not be null.

Specified by:
addRelationship in interface BioEntry
Parameters:
relation - the item to add.
Throws:
ChangeVetoException - if it doesn't want to add it.

removeRelationship

public void removeRelationship(BioEntryRelationship relation)
                        throws ChangeVetoException
Removes a relation instance from this bioentry. If it wasn't present, nothing will happen.

Specified by:
removeRelationship in interface BioEntry
Parameters:
relation - the item to remove.
Throws:
ChangeVetoException - if it doesn't want to remove it.

setRankedCrossRefs

public void setRankedCrossRefs(Set rankedcrossrefs)
Description copied from interface: RankedCrossRefable
Sets the ranked cross references associated with an object. Null will throw an exception but the empty set is fine.

Specified by:
setRankedCrossRefs in interface RankedCrossRefable
Parameters:
rankedcrossrefs - a set of RankedCrossRef objects.

getId

public Integer getId()
Gets the Hibernate ID. Should be used with caution.

Returns:
the Hibernate ID, if using Hibernate.

setId

public void setId(Integer id)
Sets the Hibernate ID. Should be used with caution.

Parameters:
id - the Hibernate ID, if using Hibernate.