
org.biojavax.bio.BioEntry Maven / Gradle / Ivy
/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojavax.bio;
import java.util.Set;
import org.biojava.utils.ChangeType;
import org.biojava.utils.ChangeVetoException;
import org.biojava.utils.Changeable;
import org.biojavax.Comment;
import org.biojavax.Namespace;
import org.biojavax.RankedCrossRefable;
import org.biojavax.RankedDocRef;
import org.biojavax.RichAnnotatable;
import org.biojavax.bio.taxa.NCBITaxon;
/**
* This class relates to the bioentry table in BioSQL. It holds everything you need
* to define a non-sequence bearing bioentry.
* @author Mark Schreiber
* @author Richard Holland
* @see BioEntryRelationship
* @since 1.5
*/
public interface BioEntry extends RichAnnotatable,RankedCrossRefable,Comparable,Changeable {
public static final ChangeType IDENTIFIER = new ChangeType(
"This bioentry's identifier has changed",
"org.biojavax.bio.BioEntry",
"IDENTIFIER"
);
public static final ChangeType DESCRIPTION = new ChangeType(
"This bioentry's description has changed",
"org.biojavax.bio.BioEntry",
"DESCRIPTION"
);
public static final ChangeType DIVISION = new ChangeType(
"This bioentry's division has changed",
"org.biojavax.bio.BioEntry",
"DIVISION"
);
public static final ChangeType TAXON = new ChangeType(
"This bioentry's taxon has changed",
"org.biojavax.bio.BioEntry",
"TAXON"
);
public static final ChangeType SEQVERSION = new ChangeType(
"This bioentry's sequence version has changed",
"org.biojavax.bio.BioEntry",
"SEQVERSION"
);
public static final ChangeType RANKEDCROSSREF = new ChangeType(
"This bioentry's ranked crossrefs changed",
"org.biojavax.bio.BioEntry",
"RANKEDCROSSREF"
);
public static final ChangeType RANKEDDOCREF = new ChangeType(
"This bioentry's ranked docrefs changed",
"org.biojavax.bio.BioEntry",
"RANKEDDOCREF"
);
public static final ChangeType COMMENT = new ChangeType(
"This bioentry's comments changed",
"org.biojavax.bio.BioEntry",
"COMMENT"
);
public static final ChangeType RELATIONS = new ChangeType(
"This bioentry's relations have changed",
"org.biojavax.bio.BioEntry",
"RELATIONS"
);
/**
* Returns the namespace of this bioentry. The namespace is supposed
* to be an immutable property set by the constructor.
* @return the namespace of this bioentry.
*/
public Namespace getNamespace();
/**
* Returns the name of this bioentry. The name is supposed
* to be an immutable property set by the constructor.
* @return Value of property name.
*/
public String getName();
/**
* Returns the accession of this bioentry. The accession is supposed
* to be an immutable property set by the constructor.
* @return Value of property accession.
*/
public String getAccession();
/**
* Returns the identifier of this bioentry.
* @return Value of property identifier.
*/
public String getIdentifier();
/**
* Sets the identifier of this bioentry. Null is allowable.
* @param identifier New value of property identifier.
* @throws ChangeVetoException in case of objections.
*/
public void setIdentifier(String identifier) throws ChangeVetoException;
/**
* Returns the division of this bioentry. Division relates to a division
* of the parent namespace.
* @return Value of property division.
*/
public String getDivision();
/**
* Sets the division of this bioentry. Null is allowable.
* @param division New value of property division.
* @throws ChangeVetoException in case of objections.
*/
public void setDivision(String division) throws ChangeVetoException;
/**
* Returns a description of this sequence.
* @return Value of property description.
*/
public String getDescription();
/**
* Sets the description for this bioentry.
* @param description New value of property description.
* @throws ChangeVetoException in case of objections.
*/
public void setDescription(String description) throws ChangeVetoException;
/**
* 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.
* @return Value of property version.
*/
public int getVersion();
/**
* Gets the taxon associated with this bioentry. It may be null.
* @return Value of property taxon.
*/
public NCBITaxon getTaxon();
/**
* Sets the taxon for this bioentry. It may be null, in which case the
* taxon is unset.
* @param taxon New value of property taxon.
* @throws ChangeVetoException in case of objections.
*/
public void setTaxon(NCBITaxon taxon) throws ChangeVetoException;
/**
* 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.
* @return a set of RankedDocRef objects.
* @see RankedDocRef
*/
public Set getRankedDocRefs();
/**
* 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.
* @return a set of Comment objects.
* @see Comment
*/
public Set getComments();
/**
* 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.
* @return a set of BioEntryRelationship objects.
* @see BioEntryRelationship
*/
public Set getRelationships();
/**
* Adds a ranked docref instance to this bioentry. Must not be null.
* @param docref the item to add.
* @throws ChangeVetoException if it doesn't want to add it.
*/
public void addRankedDocRef(RankedDocRef docref) throws ChangeVetoException;
/**
* Removes a ranked docref instance from this bioentry. If it was not found,
* nothing happens.
* @param docref the item to remove.
* @throws ChangeVetoException if it doesn't want to remove it.
*/
public void removeRankedDocRef(RankedDocRef docref) throws ChangeVetoException;
/**
* Adds a comment instance to this bioentry. Must not be null.
* @param comment the item to add.
* @throws ChangeVetoException if it doesn't want to add it.
*/
public void addComment(Comment comment) throws ChangeVetoException;
/**
* Removes a comment instance from this bioentry. If it wasn't present, it
* nothing will happen.
* @param comment the item to remove.
* @throws ChangeVetoException if it doesn't want to remove it.
*/
public void removeComment(Comment comment) throws ChangeVetoException;
/**
* Adds a relation instance to this bioentry. It must not be null.
* @param relation the item to add.
* @throws ChangeVetoException if it doesn't want to add it.
*/
public void addRelationship(BioEntryRelationship relation) throws ChangeVetoException;
/**
* Removes a relation instance from this bioentry. If it wasn't present,
* nothing will happen.
* @param relation the item to remove.
* @throws ChangeVetoException if it doesn't want to remove it.
*/
public void removeRelationship(BioEntryRelationship relation) throws ChangeVetoException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy