## org.biojavax
Class SimpleCrossRef

    java.lang.Object
      org.biojava.utils.Unchangeable
          org.biojavax.SimpleCrossRef

All Implemented Interfaces:
  Comparable, Annotatable, Changeable, CrossRef, RichAnnotatable

    public class SimpleCrossRef

extends Unchangeable
implements CrossRef

A basic CrossRef implementation.

Since:
  1.5
Author:
  Richard Holland, Mark Schreiber, George Waldon (made Unchangeable)

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
`Annotatable.AnnotationForwarder`

Field Summary

Fields inherited from interface org.biojava.bio.Annotatable
`ANNOTATION`

Constructor Summary
`protected` `SimpleCrossRef()`
`` `SimpleCrossRef(String dbname, String accession, int version)` Creates a new instance of SimpleCrossRef with the values to use for the immutable database name, accession and version.
`` `SimpleCrossRef(String dbname, String accession, Integer version)` Creates a new instance of SimpleCrossRef with the values to use for the immutable database name, accession and version.

Method Summary
`int` `compareTo(Object o)` Compares cross references first by database name, then by accession, then by version.
`boolean` `equals(Object obj)` Equality is defined as having the same database name, accession and version.
`String` `getAccession()` Returns the accession of the object that the crossref refers to.
`Annotation` `getAnnotation()` Should return the associated annotation object.
`String` `getDbname()` Returns the name of the database the cross reference refers to.
`Integer` `getId()` Gets the Hibernate ID.
`Set` `getNoteSet()` Returns the set of notes associated with this object.
`RichAnnotation` `getRichAnnotation()` Return the associated annotation object.
`int` `getVersion()` Returns the version of the object that the crossref refers to.
`int` `hashCode()`
`void` `setId(Integer id)` Sets the Hibernate ID.
`void` `setNoteSet(Set notes)` Clears the notes associated with this object and replaces them with the contents of this set.
`String` `toString()` Form: "dbname:accession.version"

Methods inherited from class org.biojava.utils.Unchangeable
`addChangeListener, addChangeListener, addForwarder, getForwarders, getListeners, isUnchanging, removeChangeListener, removeChangeListener, removeForwarder`

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

### SimpleCrossRef

    public SimpleCrossRef(String dbname,
                          String accession,
                          int version)

  Creates a new instance of SimpleCrossRef with the values to use for the immutable database name, accession and version.

  Parameters:
    `dbname` - the dbname for this crossref.
    `accession` - the accession for this crossref.
    `version` - the version for this crossref.

### SimpleCrossRef

    public SimpleCrossRef(String dbname,
                          String accession,
                          Integer version)

  Creates a new instance of SimpleCrossRef with the values to use for the immutable database name, accession and version. Identical to other dbname/accession/version constructor except the version is specified as an Integer object rather than an int primitive. Will throw an exception if version is null.

  Parameters:
    `dbname` - the dbname for this crossref.
    `accession` - the accession for this crossref.
    `version` - the version for this crossref.

### SimpleCrossRef

    protected SimpleCrossRef()

Method Detail

### 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.

  Specified by:
    `getNoteSet` in interface `RichAnnotatable`
  Returns:
    set a set of Note objects.
  See Also:
    `Note`

### setNoteSet

    public void setNoteSet(Set notes)

  Clears the notes associated with this object and replaces them with the contents of this set. Would normally delegate call to internal RichAnnotation instance.

  Specified by:
    `setNoteSet` in interface `RichAnnotatable`
  Parameters:
    `notes` - the set of Note objects to replace the existing ones with.
  See Also:
    `Note`

### getAccession

    public String getAccession()

  Returns the accession of the object that the crossref refers to.

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

### getDbname

    public String getDbname()

  Returns the name of the database the cross reference refers to. This would normally be a namespace name, eg. 'gb' for GenBank.

  Specified by:
    `getDbname` in interface `CrossRef`
  Returns:
    Value of property dbname.

### getVersion

    public int getVersion()

  Returns the version of the object that the crossref refers to.

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

### compareTo

    public int compareTo(Object o)

  Compares cross references first by database name, then by accession, then by version.

  Specified by:
    `compareTo` in interface `Comparable`

### equals

    public boolean equals(Object obj)

  Equality is defined as having the same database name, accession and version.

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### toString

    public String toString()

  Form: "dbname:accession.version"

  Overrides:
    `toString` in class `Object`

### 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.