|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.xml.sax.HandlerBase | +--org.concord.biologica.engine.EngineObject | +--org.concord.biologica.engine.Gene
This class represents a gene.
This class does not implement INucleicAcid because a gene is considered to be an abstract relationship between different alleles where the alleles are the actual nucleic acids.
A gene MAY change after it has been created, especially new alleles may be created and added to the gene. This is possible due to mutations.
An object of this class will generate the following property change events:
EngineProp.DELETED
,
EngineProp.DESCRIPTION
,
EngineProp.ID
,
EngineProp.LENGTH_IN_BASES
,
EngineProp.LOCKED_STATE
,
EngineProp.NAME
,
EngineProp.SPECIES_ALLELE_ADDED
,
EngineProp.SPECIES_ALLELE_REMOVED
,
EngineProp.START_INDEX_IN_HOLDER
,
EngineProp.STRAND
,
EngineProp.VISIBLE
,
PropertyChangeListener
, Serialized FormField Summary | |
static int |
BOTTOM_STRAND
Top strand |
static int |
TOP_STRAND
Bottom strand |
Fields inherited from class org.concord.biologica.engine.EngineObject |
AUTOMATIC_LOCKED, AUTOMATIC_LOCKED_STRING, changes, deleted, FALSE, id, lockedState, MANUAL_AND_AUTOMATIC_LOCKED, MANUAL_AND_AUTOMATIC_LOCKED_STRING, MANUAL_LOCKED, MANUAL_LOCKED_STRING, NULL_ID, TRUE, UNLOCKED, UNLOCKED_STRING, xmlElementContext |
Constructor Summary | |
Gene(SpeciesChromosome aSpeciesChromosome,
java.lang.String aName,
int aStartIndexInHolder,
int aLengthInBases)
Create a new gene given a species chromosome. |
|
Gene(SpeciesChromosome aSpeciesChromosome,
java.lang.String anElementName,
int anElementID,
com.sun.xml.parser.Parser anXMLParser,
ImportContext importContext)
Create a new gene and start handling XML parsing events to set the properties of this object. |
Method Summary | |
void |
characters(char[] ch,
int start,
int length)
Receive notification of character data. |
void |
delete()
Delete this object, notifying parent objects and deleting any child objects. |
void |
delete(boolean notifyChange)
|
void |
endElement(java.lang.String anElementName)
Handle notification that the parsing of the given element has ended. |
java.lang.String |
getDescription()
Return the description of this gene. |
int |
getLengthInBases()
Returns the length of this gene in bases. |
SpeciesAllele |
getMutationSpeciesAllele()
Returns the mutation species allele for this gene, if there is one. |
java.lang.String |
getName()
Return the name of this gene. |
int |
getNumberOfSpeciesAlleles()
Return the number of species alleles of this gene. |
Species |
getSpecies()
Get the species containing this object. |
java.util.Enumeration |
getSpeciesAlleles()
Returns an enumeration over the gene's species alleles. |
SpeciesChromosome |
getSpeciesChromosome()
Get the species chromosome containing this gene. |
int |
getStartIndexInHolder()
Returns the start index of this gene acid in its chromosome. |
int |
getStrand()
Get the strand of this gene. |
World |
getWorld()
Get the world containing this object. |
void |
ignorableWhitespace(char[] ch,
int start,
int length)
Receive notification of ignorable white space character data. |
boolean |
isVisible()
Get whether this gene is visible. |
void |
setAutomaticLocked(boolean automaticLocked)
Set or unset the automatic locked state of this object, leaving other components of the locked state untouched. |
void |
setDescription(java.lang.String aDescription)
Set the description of this gene. |
void |
setLengthInBases(int aLengthInBases)
Set the length in bases of this gene. |
void |
setLockedState(int aLockedState)
Set the locked state of the object, recursively setting the locked state of children objects. |
void |
setManualLocked(boolean manualLocked)
Set or unset the manual locked state of this object, leaving other components of the locked state untouched. |
void |
setName(java.lang.String aName)
Set the name of this gene. |
void |
setStartIndexInHolder(int anIndex)
Set the start index of this gene in its chromosome. |
void |
setStrand(int aStrand)
Set the strand of this gene. |
void |
setVisible(boolean TorF)
Set whether this gene is visible. |
void |
startElement(java.lang.String anElementName,
org.xml.sax.AttributeList amap)
Handle notification that the parser has hit the start of a new element with the given name and attributes. |
java.lang.String |
toString()
Return a string representation of this object, usually the object's name. |
void |
writeToStream(java.io.PrintWriter stream)
Writes this object to the given stream in XML format. |
Methods inherited from class org.concord.biologica.engine.EngineObject |
addPropertyChangeListener, getID, getLockedState, getLockedStateAsString, isAutomaticLocked, isDeleted, isLocked, isManualLocked, notifySelected, release, removePropertyChangeListener, setID, setLockedStateAsString |
Methods inherited from class org.xml.sax.HandlerBase |
endDocument, error, fatalError, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, startDocument, unparsedEntityDecl, warning |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int BOTTOM_STRAND
public static final int TOP_STRAND
Constructor Detail |
public Gene(SpeciesChromosome aSpeciesChromosome, java.lang.String aName, int aStartIndexInHolder, int aLengthInBases)
aSpeciesChromosome
- SpeciesChromosome - the species chromosome of this gene, may not be nullaName
- String - the name for this gene, may not be nullaStartIndexInHolder
- int - the start index of the gene in bases on its chromosome, must be greater than zeroaLengthInBases
- int - the "normal" length of the gene, must be zero or greaterjava.lang.IllegalArgumentException
- - input argument(s) illegalpublic Gene(SpeciesChromosome aSpeciesChromosome, java.lang.String anElementName, int anElementID, com.sun.xml.parser.Parser anXMLParser, ImportContext importContext)
aSpeciesChromosome
- SpeciesChromosome - the enclosing species chromosome for this new geneanElementName
- String - the element nameanElementID
- int - the element idanXMLParser
- com.sun.xml.parser.Parser - the element parserimportContext
- ImportContext - import context for mapping ids from file to this worldjava.lang.IllegalArgumentException
- - input arguments illegalMethod Detail |
public void startElement(java.lang.String anElementName, org.xml.sax.AttributeList amap) throws org.xml.sax.SAXException
For internal elements (elements that are non-EngineObject instance variables of this object), call xmlElementContext.startElement() and xmlElementContext will receive the remaining element notifications. For external elements (elements that are EngineObject instance variables of this object), create an object of the appropriate class and that object will receive the remaining element notifications.
startElement
in class org.xml.sax.HandlerBase
anElementName
- String - name of elementamap
- AttributeList - an attribute listpublic void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in class org.xml.sax.HandlerBase
ch
- char[] - charactersstart
- int - start of stringlength
- int - length of stringpublic void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException
ignorableWhitespace
in class org.xml.sax.HandlerBase
ch
- char[] - charactersstart
- int - start of stringlength
- int - length of stringpublic void endElement(java.lang.String anElementName) throws org.xml.sax.SAXException
endElement
in class org.xml.sax.HandlerBase
anElementName
- String - the element namepublic void delete()
When this method is called, a property change event is generated for the property named EngineProp.DELETED.
delete
in class EngineObject
public void delete(boolean notifyChange)
public SpeciesChromosome getSpeciesChromosome()
public Species getSpecies()
public World getWorld()
getWorld
in class EngineObject
public void setAutomaticLocked(boolean automaticLocked)
When this property is changed, a property change event is fired for the property named EngineProp.LOCKED_STATE.
setAutomaticLocked
in class EngineObject
automaticLocked
- boolean - object should be automatic locked (true) or not (false)public void setManualLocked(boolean manualLocked)
When this property is changed, a property change event is fired for the property named EngineProp.LOCKED_STATE.
setManualLocked
in class EngineObject
manualLocked
- boolean - object should be manually locked (true) or not (false)public void setLockedState(int aLockedState)
When this property is changed, a property change event is fired for the property named EngineProp.LOCKED_STATE.
setLockedState
in class EngineObject
aLockedState
- int - new locked state of this objectjava.lang.IllegalArgumentException
- - new locked state invalidpublic java.lang.String toString()
toString
in class EngineObject
public java.lang.String getName()
public void setName(java.lang.String aName)
When this method is successful, a property change event is fired for the property named EngineProp.NAME.
aName
- String - the new name of this gene, may not be nulljava.lang.IllegalArgumentException
- - input argument illegalObjectDeletedException
- - object is deleted and cannot be modifiedObjectLockedException
- - object is locked and cannot be deletedpublic java.lang.String getDescription()
public void setDescription(java.lang.String aDescription)
When this method is successful, a property change event is fired for the property named EngineProp.DESCRIPTION.
aDescription
- String - the new description of this gene, may not be nulljava.lang.IllegalArgumentException
- - input argument illegalObjectDeletedException
- - object is deleted and cannot be modifiedObjectLockedException
- - object is locked and cannot be modifiedpublic int getStartIndexInHolder()
public void setStartIndexInHolder(int anIndex)
When this property is changed, a property change event is generated for the property named EngineProp.START_INDEX_IN_HOLDER.
int
- - new index in holder, must be between 0 and the length in basesjava.lang.IllegalArgumentException
- - input argument(s) illegalObjectDeletedException
- - object is deleted and cannot be modifiedObjectLockedException
- - object is locked and cannot be deletedpublic int getLengthInBases()
public void setLengthInBases(int aLengthInBases)
When this property is changed, a property change event is generated for the property named EngineProp.LENGTH_IN_BASES.
aLengthInBases
- int - new length in bases for genejava.lang.IllegalArgumentException
- - input argument(s) illegalObjectDeletedException
- - object is deleted and cannot be modifiedObjectLockedException
- - object is locked and cannot be deletedpublic SpeciesAllele getMutationSpeciesAllele()
The mutation species allele is the allele that will be assumed when the user manually mutates an existing allele of this gene into something that isn't recognizable as a known allele. In this case, the mutation allele will be used for purposes of genotype to phenotype calculations, etc.
public java.util.Enumeration getSpeciesAlleles()
If there are no alleles of this gene, an enumeration with no elements is returned.
If there are alleles of this gene, the vector of alleles is cloned and an enumeration over that clone is returned. This enables you to safely modify the gene and its alleles while using the enumeration.
public int getNumberOfSpeciesAlleles()
public boolean isVisible()
public void setVisible(boolean TorF)
TorF
- boolean - visible (true) or not visible (false)public int getStrand()
BOTTOM_STRAND
,
TOP_STRAND
public void setStrand(int aStrand)
aStrand
- int - strand of genepublic void writeToStream(java.io.PrintWriter stream) throws java.io.IOException
We could supply a default implementation that knows how to write the id value. But that convenience is not chosen because it's never correct to use just this implementation of these methods, so I'd rather have a compilation fail if a derived class fails to implement this method.
The inverse of this method is a constructor that takes a org.xml.sax.Parser argument and other arguments.
writeToStream
in class EngineObject
stream
- PrintWriter - print streamjava.lang.IllegalArgumentException
- - input arguments illegaljava.io.IOException
- - an IO error occurred in java libraries
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |