com.objex.panywhere
Class Individual

java.lang.Object
  extended by com.objex.panywhere.Individual
All Implemented Interfaces:
RelationshipConstants, java.io.Serializable

public class Individual
extends java.lang.Object
implements RelationshipConstants, java.io.Serializable

Ddescribes the properties of an person within a pedigree.

See Also:
Serialized Form

Field Summary
 int twingrp
           
 int twinstyle
           
 
Fields inherited from interface com.objex.panywhere.RelationshipConstants
BROTHER, DAUGHTER, FATHER, FEMALE_GENDER, MALE_GENDER, MOTHER, SISTER, SON, SPOUSE, TWINBROTHER, TWINSISTER, UNKNOWN_GENDER
 
Constructor Summary
Individual()
          Creates new Individual.
Individual(double x, double y)
          Creates an Individual whose initial location on the Pedigree is specified by xy coordinates.
Individual(double x, double y, java.lang.String upn, java.lang.String fid, java.lang.String mid, java.lang.String gender)
          Creates an Individual with specified UPN, father ID, mother ID, gender and location.
Individual(Individual ao_father, Individual ao_mother)
          Creates an individual whose father and mother are specified.
Individual(java.lang.String upn, java.lang.String fid, java.lang.String mid, java.lang.String gender)
          Creates an Individual with specified UPN, father ID, mother ID and gender.
 
Method Summary
 void addChild(Individual as_relative, java.lang.String as_relationship)
          Connects "as_relative" to this Individual as a child.
 void addFather(Individual as_relative, java.lang.String as_relationship)
          Connects "as_relative" to this Individual as a father.
 void addMother(Individual as_relative, java.lang.String as_relationship)
          Connects "as_relative" to this Individual as a mother.
 void addPropertyChangeListener(java.beans.PropertyChangeListener lstnr)
          Allows this Bean to register for property change events
 void addSibling(Individual a_relative, java.lang.String as_relationship)
          Connects this Individual to "as_relative" as siblings.
 void addSpouse(Individual as_relative, java.lang.String as_relationship)
          Connects "as_relative" to this Individual as a spouse.
 java.lang.String ancestors(boolean includeAdopted)
          Gets a semi-colon delimited list of Unique Person Numbers (UPN's) for all ancestors of this Individual
 Individual cloneInd()
          Creates a new Individual whose primitive properties (non object properies) are copied from this Individual.
 Individual cloneInd(java.lang.String newupn)
          Clone and return a new Individual with the UPN supplied.
 void deleteself()
          Disconnects this Individual from all his/her direct relatives (Siblings, Parents and Kids and SPouses) by removing this Individual from their relationship tables.
protected  void deleteSpouseRelationship(java.lang.String as_spouse_upn)
           
 java.lang.String findMatchingAncestor(java.awt.Paint paint, java.lang.String markername, Allele allele)
          Finds an ancestor from whom the specified Allele could possibly have been inherited.
 int getAdjustedGeneration(int oldestgen)
           
 java.util.Vector<Individual> getAllChildren()
           
 Individual getAncestor()
           
 int getAncestorDOR()
          Determines the degree of relation from this Individual to furthest known ancestor.
 Individual getAnyChild()
          Gets any one child of this person or null if this person has no children
 Individual getAnyChild(Individual as_spouse)
          Gets any one child shared between this person and specified spouse.
 java.lang.String getAnysibling()
           
 Individual getChild(java.lang.String as_upn)
          Retrieves an Individual whose UPN equals the supplied parameter and is a child of this Individual
 java.awt.geom.Line2D getChildline()
           
 RelationshipLine getChildlineRL()
          Getter for property childlineRL.
 java.util.Hashtable getChildren()
           
 java.util.Vector<Individual> getChildren(Individual as_spouse)
          Returns a Vector containing children of this person.
 java.util.Vector<java.lang.String> getChildren(Individual as_spouse, PedigreeComparator aComparator)
          Returns a Vector containing UPN's of children of this person.
 Data getData(int ai_fieldid)
           
 java.util.Map<java.lang.Integer,Data> getDataitems()
           
 java.lang.String getExternalkey()
          Getter for property externalkey.
 java.lang.String getFamilyID()
           
static Individual getFamilyProband()
          Returns a reference to the Individual who is the proband for the Family .
 Individual getFather()
           
 java.lang.String getFatherid()
           
 java.lang.String getFirstName()
           
 java.lang.String getGender()
           
 int getGeneration()
           
 java.lang.String getIconsubtext()
          The current Iconsubtext string.
 java.lang.String[] getIconSubtext(SubtextLegend aLegend, DataDictionary aDict)
           
 java.lang.String[] getIconSupertext(SubtextLegend aLegend, DataDictionary aDict)
           
 java.lang.String getIcontext()
           
 double getIconY()
           
 int getIntUpn()
           
 java.lang.String getLastName()
           
 Individual getLeftChild(Individual as_spouse)
          Finds a child of this Individual's whose X-Coordinate is the leftmost in the decreasing X-direction on the Pedigree space
 Individual getLeftMostSibling()
           
 Individual getLeftMostTwin()
           
 java.lang.String getMarkedby()
           
 MarkerData getMarkerData()
           
 Individual getMother()
           
 java.lang.String getMotherid()
           
 double getPageNo()
           
 java.awt.geom.Line2D getParentline(Individual a_person)
          Returns the current parent relationship line between this Individual and the specified spouse.
 java.util.Hashtable getParentlines()
           
 java.util.Hashtable getRelationships()
           
 Individual getRelative(java.lang.String as_upn)
          Retrieves this Individual's relative whose UPN is specified.
 java.util.Vector<java.lang.String> getRelatives(java.lang.String as_relationship, PedigreeComparator aComparator)
          Returns a Vector of UPN's of this Individual's relatives.
 java.util.Vector<java.lang.String> getRelatives(java.lang.String as_relationship1, java.lang.String as_relationship2, PedigreeComparator aComparator)
          Returns a Vector of UPN's of this Individual's relatives.
 Individual getRightChild(Individual as_spouse)
          Returns a child of this Individual's whose X-Coordinate is the rightmost in the increasing X-direction on the Pedigree space
 Individual getRightMostSibling()
           
 Individual getRightMostTwin()
           
 java.util.Vector<Individual> getRightSpouses()
           
 java.lang.String getShadowupn()
          Getter for property shadowupn.
 java.awt.geom.Line2D getSiblingline()
          Fetch and return a line2d object rep's the sibling line for this Individual
 RelationshipLine getSiblinglineRL()
          Getter for property siblinglineRL.
 java.util.Hashtable getSiblings()
           
 Individual[] getSiblings(boolean includeAdopted)
          Return Array of Individuals who are siblings of this person
 double getSpaceX()
          Returns the a value greater than zero if the length of this individual's subtext is greater than the value returned by Pedigree.getIndividualOffset().
 double getSpaceX(double ad_pedspacex)
          Returns the a value greater the greater of ad_spacex" and id_spacex, where "id_spacex" is this Individual's space as occupied by its subtext
 Individual getSpouse()
           
 java.util.Hashtable getSpouseindex()
           
 java.awt.geom.Line2D getSpouseline(Individual as_person)
          Returns a Line2D object representing the spouse relationship line between this Individual and specified spouse.
 java.util.Hashtable getSpouselines()
           
protected  SpouseRelationship getSpouseRelationship(java.lang.String as_spouse_upn)
           
 java.util.Hashtable getSpouses()
           
 Subtext getSubtext()
           
 Symbol getSymbol()
           
 java.lang.String getTag()
           
 java.lang.String getTree()
          Returns the Tree ID of this Individual.
 java.util.Hashtable getTwinindex()
           
 java.awt.geom.Line2D getTwinline()
           
 RelationshipLine getTwinlineRL()
          Getter for property twinlineRL.
 java.util.Vector<java.lang.String> getTwins()
          Returns a vector containing upns of twins of this person
 java.lang.String getUpn()
           
 double getX()
           
 double getXcoordinate()
           
 double getY()
           
 double getYcoordinate()
           
 boolean hasBothparents()
           
 boolean hasChildren()
           
 boolean hasOneparent()
           
 boolean hasParents()
           
 boolean hasSiblings()
           
 boolean hasSpouses()
           
 int indexOf(Individual ind, int direction, int count, boolean found, boolean falldown, boolean didfalldown, boolean includeAdopted)
          Returns the degree of relation of Individual "ind" from this person or -1 if they are not relatives.
 java.lang.String inheritedHaplotype(Individual parent)
           
 boolean isAdopted()
          Determines if Individual is adopted or not.
 boolean isAdoptedIn()
          Determines if Individual is adopted in or not
 boolean isAdoptedOut()
          Determines if Individual is adopted out or not
 boolean isAncestorOf(Individual as_grantchild, boolean includeAdopted)
          Returns true if this Individual is ancestor of "as_grandchild"
 boolean isAuntOf(Individual ind, boolean includeAdopted)
          Returns true if this Individual is an Aunt of "ind".
 boolean isCasual(Individual as_spouse)
          Returns the "Casual" status of this Individual's relationship with specified spouse.
 boolean isChanged()
          Not used
 boolean isChildOf(Individual as_person)
           
 boolean isConsanguineous(Individual as_spouse)
          Returns the Consanguineous status of this Individual's relationship with specified spouse.
 boolean isDeceased()
           
 boolean isDivorced(Individual as_spouse)
          Returns the Divorced status of this Individual's relationship with specified spouse.
 boolean isDizygotic()
          Getter for property dizygotic.
 boolean isFemale()
           
 boolean isGenderunknown()
          Retrieves the unknown gender status of this Individual.
 boolean isHalfBrother(Individual ind)
           
 boolean isHalfSister(Individual ind)
           
 boolean isHighlighted()
           
 boolean isInfertile()
          Returns the infertifility indicator for an Individual
 boolean isInfertile(Individual as_spouse)
          Returns the infertility Indicator for the Relationship between this Individual and his spouse.
 boolean isMale()
           
 boolean isMarried(Individual a_spouse)
          Returns the "Married" or "Normal" status of this Individual's relationship with specified spouse.
 boolean isMonozygotic()
          Getter for property monozygotic.
 boolean isNoissue()
           
 boolean isNoissue(Individual as_spouse)
          Returns the "No Issue" status of the this Individual's relationship with specified spouse.
 boolean isOwnparent()
          Reserved for ver1.1 True of this Individual has is his own parent (plants will do this )
 boolean isParentOf(Individual a_child, boolean includeAdopted)
          Returns true If this Individual is a parent to "a_child"
 boolean isProband()
           
 boolean isRelativeOf(Individual ind, boolean includeAdopted)
           
 boolean isSAB()
           
 boolean isSeparated(Individual as_spouse)
          Returns the Separated status of this Individual's relationship with specified spouse.
 boolean isShadow()
           
 boolean isSiblingOf(Individual as_person, boolean includeAdopted)
          Determines if current Individual is a sibling of the specified Individual
 boolean isSpouseOf(Individual as_person)
           
 boolean isTraversed()
           
 boolean isTwin()
           
 boolean isTwinOf(Individual twin)
          Returns true if the Individual "twin" is a twin one of this Individual
 boolean isTwintypeunknown()
          Getter for property twintypeunknown.
 boolean isUncleOf(Individual ind, boolean includeAdopted)
          Returns true if this Individual is an Uncle of "ind".
 java.util.Vector<Individual> myAncestors(boolean includeAdopted)
          Returns list of this peron's ancestors
 java.util.Vector<Individual> myAncestors(int degree, boolean includeAdopted)
          Returns a list of this peron's ancestors
 java.util.Vector<Individual> myDescendants(boolean includeAdopted)
          Returns a vector containg descendants of this person up to and including the degree of relation specified.
 java.util.Vector<Individual> myDescendants(int degree, boolean includeAdopted)
          Returns a vector containg descendants of this person up to and including the degree of relation specified.
 java.lang.String myGeneration()
           
 java.util.Vector<Individual> myRelatives(int degree, int direction, int count, boolean falldown, boolean didfalldown, boolean includeAdopted)
          Finds and returns all of this person's relatives at the specified degree of relation.
 java.util.Vector<java.lang.String> mySiblings(boolean includeAdopted)
          Return list containing UPNs of siblings of this person
 java.util.Vector<Individual> myUncles(boolean includeAdopted)
          Returns a list Individuals who are indirect Ancestors (Aunts and Uncles) of this Individual.
 int numChildren()
           
 int numChildren(Individual as_spouse)
           
 int numSiblings()
           
 int numSpouses()
           
protected  boolean objectIsEmptyString(java.lang.Object a_value)
           
 java.lang.String passedHaplotype(Individual child)
           
 void prepareAllelesForRendering()
          Runs through the genetic data for this Individual and sets the right flags to prepare the markers for drawing in haplotype bars.
 void removeData(int ai_fieldid)
          Remove the dataitem associated with the field whose field is specified
 void removePropertyChangeListener(java.beans.PropertyChangeListener lstnr)
          Allows this Bean to de-register for property change events
static void resetOldestGeneration()
          Resets the oldest generation to its default value.
static void resetYoungestGeneration()
          Resets the generation of the youngest Individual in this family/pedigree.
 void setAdopted(boolean rhs)
          Sets or unsets the adopted status of this Individual.
 void setAdoptedIn(boolean rhs)
          Sets or unsets the adoption status of this Individual
 void setAdoptedOut(boolean rhs)
          Sets or unsets the adoption status of this Individual.
 void setCasual(Individual a_spouse, boolean casual)
          Sets or unsets the spouse "Casual Status" of the relationship between this Individual and specified spouse.
 void setChanged(boolean ab_changed)
          Not Used
 void setChildline(java.awt.geom.Line2D as_line)
          Sets child line for this Individual to the specified value
 void setChildlineRL(RelationshipLine childlineRL)
          Setter for property childlineRL.
 void setChildren(java.util.Hashtable rhs)
          Assigns the Individual's children relationships to the supplied hashmap.
 void setConsanguineous(Individual a_spouse, boolean incest)
          Sets or unsets the "Consanguineous" status of this Individual's relationship with specified spouse.
 void setData(Data data)
          Adds the specified data item to the Individual.
 void setDataitems(java.util.Map<java.lang.Integer,Data> rhs)
          Sets new custom data map for this person
 void setDeceased(boolean rhs)
          Set or unsets the deceased status for this individual to deceased or alive.
 void setDivorced(Individual a_spouse, boolean d)
          Sets or unsets the "Divorced" status of this Individual's relationship with specified spouse.
 void setDizygotic(boolean rhs)
          Setter for property dizygotic.
 void setExternalkey(java.lang.String externalkey)
          Setter for property externalkey.
 void setFamilyID(java.lang.String rhs)
          Sets the family ID of this Individual to supplied text string.
 void setFather(Individual pa)
          Sets Individual "pa" as the father of this Individual.
 void setFatherid(java.lang.String rhs)
          Sets the FatherID of this Individual to supplied value.
 void setFirstName(java.lang.String fname)
          Sets the 1st name of the Individual to value .
 void setGender(java.lang.String rhs)
          Sets the Gender of this Individual to supplied String.
 void setGenderunknown(boolean rhs)
          Sets or unsets the unknown gender property.
 void setGeneration(int rhs)
          Sets this Individual's generation to value specified.
 void setHighlighted(boolean rhs)
          Sets or unsets the hilighted status of the Individual.
 void setIconsubtext(java.lang.String subtext)
          Sets the Iconsubtext property.
 void setIcontext(java.lang.String text)
          Sets the Icontext property to specified value.
 void setInfertile(boolean fertile)
          Sets the infertility indicator for this Individual
 void setInfertile(Individual a_spouse, boolean fertile)
          Sets the infertility Indicator for the Relationship between this Individual and specified spouse.
 void setLastName(java.lang.String rhs)
          Sets the last name of the Individual to value .
 void setMarkedby(java.lang.String marker)
          Sets the marker text for this Individual.
 void setMarkerData(MarkerData a_data)
          Assigns a new set of genetic data to this Individual
 void setMarried(Individual a_spouse, boolean normal)
          Sets or unsets the "Married" status of this Individual's relationship with specified spouse.
 void setMonozygotic(boolean rhs)
          Setter for property monozygotic.
 void setMother(Individual ma)
          Sets Individual "ma" as the mother of this Individual.
 void setMotherid(java.lang.String rhs)
          Sets the MotherID of this Individual to supplied UPN
 void setNoissue(boolean rhs)
          Sets or usets the "No Issue" status of an Individual.
 void setNoissue(Individual a_spouse, boolean ni)
          Sets or unsets the relationship between this Individual and specified spouse as a "No Issue" type relatiosnhip A relationship is considered as "No Issue" if the two Individuals may not have children together.
 void setPageNo(double pno)
           
 void setParentlines(java.util.Hashtable rhs)
          Sets this Individual's parent relationship lines container to specified hashmap.
 void setPoint(double xc, double yc)
          Sets the current location of an Individual object to supplied xy coordinates.
 void setProband(boolean rhs)
          Sets or usets the proband status of an Individual.
protected  void setQuadColor(int color, Symbol a_item, int ai_quadno)
           
protected  void setQuadColor(Symbol a_item, int ai_quadno, java.awt.Color a_color)
           
 void setQuadrant(int quadrant, int qColorRGB)
          Sets the color for a specified quantrant of this Individual's Symbol object to the specified value.
 void setRelationships(java.util.Hashtable rhs)
          Assigns the Individual's relationships container to the supplied hashmap.
 void setSAB(boolean rhs)
          Sets or usets the SAB status of an Individual.
 void setSeparated(Individual a_spouse, boolean s)
          Sets or unsets the "Separated" status of this Individual's relationship with specified spouse.
 void setShadow(boolean rhs)
          Sets or unsets the boolean flag indicating whether or not this Individual is a shadow or not.
 void setShadowupn(java.lang.String rhs)
          Setter for property shadowupn.
 void setSiblingline(java.awt.geom.Line2D as_line)
          Sets the sibling line for this Individual to supplied line2D object
 void setSiblinglineRL(RelationshipLine siblinglineRL)
          Setter for property siblinglineRL.
 void setSiblings(java.util.Hashtable rhs)
          Assigns the Individual's siblings relationships index to the supplied hashmap contents.
 void setSpaceX(double ad_len)
          Sets the Indvidual space.
 void setSpouse(Individual sp)
          Sets the main spouse reference for this Individual.
 void setSpouseindex(java.util.Hashtable rhs)
          Assigns the spouse relationship table to specified hashmap.
 void setSpouselines(java.util.Hashtable rhs)
          Sets this Individual's spouse relationship lines property.
 void setSpouses(java.util.Hashtable rhs)
          Assigns the Individual's spouses relationships container to the supplied hashmap.
 void setSubtext(Subtext aSubtext)
          Sets the new Subtext object for this Individual
 void setSymbol(Symbol sym)
          Assigns this Individual's symbol object to the supplied object.
 void setTag(java.lang.String rhs)
          Sets the tag property value to supplied string
 void setTraversed(boolean rhs)
          Set a marker flag to true of false.
 void setTree(java.lang.String rhs)
          Sets the Tree ID of this Individual to supplied text string.
 void setTwinindex(java.util.Hashtable rhs)
          Assigns the twin relationship table to specified hashmap
 void setTwinline(java.awt.geom.Line2D as_line)
          Sets twin line property for this Individual
 void setTwinlineRL(RelationshipLine twinlineRL)
          Setter for property twinlineRL.
 void setTwins(Individual as_relative, java.lang.String as_relationship)
          Add a twin (triplet or quadruplet) brother or sister to this Individual.
 void setTwintypeunknown(boolean rhs)
          Setter for property twintypeunknown.
 void setUpn(int rhs)
          Sets the Unique Number for this Individual to supplied value
 void setUpn(java.lang.String rhs)
          Sets the Unique Number for this Individual to supplied value
 void setX(double xc)
          Sets the X-Coordinate for this Individual's Icon
 void setXcoordinate(double x)
          Sets the X coordinate position at which this Individual's Icon will be drawn.
 void setY(double yc)
          Sets the Y-Coordinate for this Individual's Icon
 void setYcoordinate(double y)
          Sets the Y coordinate position at which this Individual's Icon will be drawn.
 java.lang.String toString()
           
 void updateSymbol(long al_symbol)
          Updates Individual's symbol object by decoding the Long Integer passed as parameter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

twingrp

public transient int twingrp

twinstyle

public transient int twinstyle
Constructor Detail

Individual

public Individual()
Creates new Individual. All properties are set to default values.

Throws:
java.lang.Exception - If there was an error in creating the Individual.

Individual

public Individual(Individual ao_father,
                  Individual ao_mother)
Creates an individual whose father and mother are specified.

Parameters:
ao_father - The Individual's father
ao_mother - The Individual's mother

Individual

public Individual(java.lang.String upn,
                  java.lang.String fid,
                  java.lang.String mid,
                  java.lang.String gender)
Creates an Individual with specified UPN, father ID, mother ID and gender.

Parameters:
upn - A Unique Number for the new Individual
fid - The UPN of Individual's father
mid - The UPN of Individual's mother
gender - The gender status of new Individual

Individual

public Individual(double x,
                  double y)
Creates an Individual whose initial location on the Pedigree is specified by xy coordinates.

Parameters:
x - The X position for new Individual
y - The Y position for new Individual

Individual

public Individual(double x,
                  double y,
                  java.lang.String upn,
                  java.lang.String fid,
                  java.lang.String mid,
                  java.lang.String gender)
Creates an Individual with specified UPN, father ID, mother ID, gender and location. I

Parameters:
x - The X position for new Individual
y - The Y position for new Individual
upn - Unique Number for the new Individual
fid - The UPN of Individual's father
mid - The UPN of the Individual's mother
gender - The gender of the new Individual
Method Detail

getSpaceX

public double getSpaceX()
Returns the a value greater than zero if the length of this individual's subtext is greater than the value returned by Pedigree.getIndividualOffset(). Otherwise this method returns 0

Since:
Version 2.0

getSpaceX

public double getSpaceX(double ad_pedspacex)
Returns the a value greater the greater of ad_spacex" and id_spacex, where "id_spacex" is this Individual's space as occupied by its subtext

Parameters:
ad_pedspacex - The currently ruling Individual space as mandated by the Pedigree viewer
Since:
Version 2.0

setSpaceX

public void setSpaceX(double ad_len)
Sets the Indvidual space. Use a value of zero to show that the subtext length for this Individual is inconsequential, in which case the value will be set to null, otherwise use a value greater than zero IFF that value is greater than the value returned by Pedigree.getIndividualOffset().

Parameters:
ad_len - The new individual space value
Since:
Version 2.0

cloneInd

public Individual cloneInd()
                    throws java.lang.Exception
Creates a new Individual whose primitive properties (non object properies) are copied from this Individual. All non primitive properties except Symbol, Chromosome, dataItems, Father, Mother and Main Spouse are not copied but are instead set to null values. All Individuals are created with a default generation of "999999".

Returns:
A new Individual whose properties are similar to this Individual.
Throws:
java.lang.Exception - if there is a problem with the cloning / copying operation

cloneInd

public Individual cloneInd(java.lang.String newupn)
                    throws java.lang.Exception
Clone and return a new Individual with the UPN supplied. No relationships are copied as a result of this cloning operation.

Parameters:
newupn - The new UPN for the cloned Individual
Returns:
A new Individual whose properties are similar to this Individual except for non-primitive properties such as relationships pointers. Symbols and quadrants are however copied. Null is returned if the cloning operation failed for some reason.
Throws:
java.lang.Exception - if there is a problem with the cloning / copying operation
Since:
ver1.01 To include the cloning of the Chromsome and dataitems fields

getData

public Data getData(int ai_fieldid)
Parameters:
ai_fieldid - The fieldid that corresponds to a database field for which data has been loaded into this Individual object.
Returns:
The data item for the specified fieldid

getIconSubtext

public java.lang.String[] getIconSubtext(SubtextLegend aLegend,
                                         DataDictionary aDict)
Parameters:
aLegend - The Progeny Anywhere control's SubtextLegend containing the SubtextLegendItems that may be assigned to this Individual's Subtext based on a pre-set list of conditions that must be satisfied by the this Individual.
aDict - The data dictionary from which the fields making up the Data for the individuals are derived
Returns:
An array of subtext lines if this Individual has any otherwise an empty array

getIconSupertext

public java.lang.String[] getIconSupertext(SubtextLegend aLegend,
                                           DataDictionary aDict)
Parameters:
aLegend - The Progeny Anywhere control's SubtextLegend containing the supertext legend items. Supertext legend items have a rowid smaller than zero
aDict - The data dictionary from which the fields making up the Data for the individuals are derived
Returns:
An array of supertext lines if this Individual has any otherwise an empty array

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener lstnr)
Allows this Bean to register for property change events


removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener lstnr)
Allows this Bean to de-register for property change events


setPageNo

public void setPageNo(double pno)
Parameters:
pno - The new Page NO on which the Individual will be printed

getPageNo

public double getPageNo()
Returns:
The current Page No where the Individual is to be printed (-1 if unset)

setAdoptedIn

public void setAdoptedIn(boolean rhs)
Sets or unsets the adoption status of this Individual

Parameters:
rhs - Boolean indicating whether the Individual is adopted into another family. The system differntiates between an Individual who is adopted into the Family , which means that you may not trace his/her genetics going up the family tree, and an Individual who is adopted out to another Family, which means that his genetics can be traced up the family tree.

setAdoptedOut

public void setAdoptedOut(boolean rhs)
Sets or unsets the adoption status of this Individual.

Parameters:
rhs - Boolean indicating whether the Individual is adopted out to another family. The system differntiates between an Individual who is adopted into the Family , which means that you may not trace his/her genetics going up the family tree, and an Individual who is adopted out to another Family, which means that his genetics can be traced up the family tree.

isAdoptedIn

public boolean isAdoptedIn()
Determines if Individual is adopted in or not

Returns:
True If the this Individual is Adopted in from another Family, False otherwise. The system differntiates between an Individual who is adopted into the Family , which means that you may not trace his/her genetics going up the family tree, and an Individual who is adopted out to another Family, which means that his genetics can be traced up the family tree.

isAdoptedOut

public boolean isAdoptedOut()
Determines if Individual is adopted out or not

Returns:
True If the this Individual is Adopted out to another Family, False otherwise. The system differntiates between an Individual who is adopted into the Family , which means that you may not trace his/her genetics going up the family tree, and an Individual who is adopted out to another Family, which means that his genetics can be traced up the family tree.

setGenderunknown

public void setGenderunknown(boolean rhs)
Sets or unsets the unknown gender property. An Individual whose gender is set to unknown is rendered differently than an Individual whose status is set to false. In either case, the underlying gender of the Individual will be either male or female but can be changed one way or the other depending on whether the Individual has spousal relationships or has children.

Parameters:
rhs - The new boolean indicating whether the Individual's unknown gender status

isGenderunknown

public boolean isGenderunknown()
Retrieves the unknown gender status of this Individual. An Individual whose gender is set to unknown is rendered differently than an Individual whose status is set to false. In either case, the underlying gender of the Individual will be either male or female but can be changed one way or the other depending on whether the Individual has spousal relationships or has children.

Returns:
True if the this gendederunknown status is set and false otherwise

setSymbol

public void setSymbol(Symbol sym)
Assigns this Individual's symbol object to the supplied object. The symbol determines the colors that will be used to paint the quadrants on the person's icon

Parameters:
sym - The new symbol

getSymbol

public Symbol getSymbol()
Returns:
Individual's symbol object to the supplied object. The symbol determines the colors that will be used to paint the quadrants on the person's icon

updateSymbol

public void updateSymbol(long al_symbol)
Updates Individual's symbol object by decoding the Long Integer passed as parameter. The symbol's new color scheme will be defined by decoding the bit segments of the 32 bit Long integer as described below.

BITSITEM VALUE
------------------- -----------------
1-3Quadrant 1 color See �colors� below
4-6Quadrant 2 color See �colors� below
7-9 Quadrant 3 color See �colors� below
10-12Quadrant 4 color See �colors� below
13-15Center circle color See �colors� below
16-18 Center square color See �colors� below
19 Show quadrant 1 1=show 0=hide
20 Show quadrant 2 1=show 0=hide
21 Show quadrant 3 1=show 0=hide
22Show quadrant 4 1=show 0=hide
23 Show circle 1=show 0=hide
24 Show square 1=show 0=hide
25 Show horizontal line 1=show 0=hide
26 Show vertical line 1=show 0=hide
27 Show quadrant1 dot 1=show 0=hide
28 Show quadrant2 dot 1=show 0=hide
29 Show quadrant3 dot 1=show 0=hide
30 Show quadrant4 dot 1=show 0=hide


Symbol color for each quadrant or part thereof, can be any one of the following predefined colors. A value of ranging from 0 - 7 will determine the color used to paint a quadrant of this symbol.

ValueColor
----------
0 black
1 blue
2 yellow
3 green
4 red
5 gray
6 cyan
7 magenta


Example
--------
An icon that is shaded magenta on the top, black on the bottom and has a yellow dot at the center is defined by the following binary bit pattern (in bit order from 1-30) shown below :-

HOB<<<----- Bit order increases in this direction <<<<-----LOB

00000000011111 000 010 000 000 111 111

The decimal equivalent of the above binary number is 8134719. To get an Icon that is painted as described above, you would have to pass the value "8134719" to this method as "al_symbol"

Parameters:
al_symbol - A 32 bit integer which can be decoded as above.

setQuadColor

protected void setQuadColor(Symbol a_item,
                            int ai_quadno,
                            java.awt.Color a_color)

setQuadColor

protected void setQuadColor(int color,
                            Symbol a_item,
                            int ai_quadno)

setQuadrant

public void setQuadrant(int quadrant,
                        int qColorRGB)
Sets the color for a specified quantrant of this Individual's Symbol object to the specified value. This value overides the current color for that quadrant.

Parameters:
quadrant - The quadrant whose color is to be updated (1 - 4)
qColorRGB - The RGB value for the new color

setSpouseindex

public void setSpouseindex(java.util.Hashtable rhs)
Assigns the spouse relationship table to specified hashmap.

Parameters:
rhs - The new spouse table. All spouses of this Individual are to be found in this table

getSpouseindex

public java.util.Hashtable getSpouseindex()
Returns:
The hash map containing spouse relationships. All spouses of this Individual are to be found in this table

setTwinindex

public void setTwinindex(java.util.Hashtable rhs)
Assigns the twin relationship table to specified hashmap

Parameters:
rhs - The new hash table containing this Individual's twin (or quadruplets) siblings

getTwinindex

public java.util.Hashtable getTwinindex()
Returns:
The hash map containing twin relationships. All twin brothers/sisters of this Individual are to be found in this table

isTwin

public boolean isTwin()
Returns:
True if this Individual is a twin-one or part of a group of triplets, quadruplets etc

setInfertile

public void setInfertile(Individual a_spouse,
                         boolean fertile)
Sets the infertility Indicator for the Relationship between this Individual and specified spouse. A relationship between two Individuals is said to be infertile if both couple cannot have children for one reason or another. This as distinguished from an Individual who is interfile or cannot have children.

Parameters:
a_spouse - This Individual's spouse
fertile - The fertility indicator (true or false)

isInfertile

public boolean isInfertile(Individual as_spouse)
Returns the infertility Indicator for the Relationship between this Individual and his spouse. A relationship between two Individuals is said to be infertile if both couple cannot have children for one reason or another. This as distinguished from an Individual who is interfile or cannot have children.

Parameters:
as_spouse - This Individual's spouse
Returns:
True if the relationship between these two is infertile and false otherwise

setInfertile

public void setInfertile(boolean fertile)
Sets the infertility indicator for this Individual

Parameters:
fertile - The new fertility indicator

isInfertile

public boolean isInfertile()
Returns the infertifility indicator for an Individual

Returns:
True if Individual is infertile, false otherwise

setNoissue

public void setNoissue(Individual a_spouse,
                       boolean ni)
Sets or unsets the relationship between this Individual and specified spouse as a "No Issue" type relatiosnhip A relationship is considered as "No Issue" if the two Individuals may not have children together.

Parameters:
a_spouse - This Individual's spouse
ni - The fertility Indicator (true or false)

isNoissue

public boolean isNoissue(Individual as_spouse)
Returns the "No Issue" status of the this Individual's relationship with specified spouse. A relationship is considered as "No Issue" if the two Individuals may not have children together.

Parameters:
as_spouse - The individual's spouse
Returns:
True if the relationship is "No Issue", false otherwise

setCasual

public void setCasual(Individual a_spouse,
                      boolean casual)
Sets or unsets the spouse "Casual Status" of the relationship between this Individual and specified spouse. A casual relationship is one that is not a commited "married" relationship where two Individuals stay together but are not officially married.

Parameters:
a_spouse - This Individual's spouse
casual - The new value for the "casual" property

isCasual

public boolean isCasual(Individual as_spouse)
Returns the "Casual" status of this Individual's relationship with specified spouse. A casual relationship is one that is not a commited "married" relationship where two Individuals stay together but are not officially married.

Parameters:
as_spouse - This Individual's spouse
Returns:
True if the relationship is casual, false otherwise.

setDivorced

public void setDivorced(Individual a_spouse,
                        boolean d)
Sets or unsets the "Divorced" status of this Individual's relationship with specified spouse. Individuals who got married and had a divorce will have a relationship marked as "divorced"

Parameters:
a_spouse - This Individual's spouse
d - The new value for "divorced" status of the relationship between these two Individuals

setSeparated

public void setSeparated(Individual a_spouse,
                         boolean s)
Sets or unsets the "Separated" status of this Individual's relationship with specified spouse. A relationship is considered as "separated" if the Individuals have not yet divorced but are no-longer married.

Parameters:
a_spouse - This Individual's spouse
s - The new "Separated" status

setMarried

public void setMarried(Individual a_spouse,
                       boolean normal)
Sets or unsets the "Married" status of this Individual's relationship with specified spouse. A relationship is normal ("Married") only if it is not casual, separated or divorced.

Parameters:
a_spouse - This Individual's spouse
normal - The new "Married" status

setConsanguineous

public void setConsanguineous(Individual a_spouse,
                              boolean incest)
Sets or unsets the "Consanguineous" status of this Individual's relationship with specified spouse. A relationship is Consanguineous if it is incestuous in any way.

Parameters:
a_spouse - This Individual's spouse
incest - The new "Married" status

isConsanguineous

public boolean isConsanguineous(Individual as_spouse)
Returns the Consanguineous status of this Individual's relationship with specified spouse. A relationship is Consanguineous if it is incestuous in any way.

Parameters:
as_spouse - This Individual's spouse
Returns:
True if the relationship is an incestuous one, if they are related at all, false otherwise

isDivorced

public boolean isDivorced(Individual as_spouse)
Returns the Divorced status of this Individual's relationship with specified spouse. Individuals who got married and had a divorce will have a relationship marked as "divorced"

Parameters:
as_spouse - This Individual's spouse
Returns:
True if the relationship is an incestuous one, if they are related at all, false otherwise

isSeparated

public boolean isSeparated(Individual as_spouse)
Returns the Separated status of this Individual's relationship with specified spouse. A relationship is considered as "separated" if the Individuals have not yet divorced but are nolonger married.

Parameters:
as_spouse - This Individual's spouse
Returns:
True if they are separated, false otherwise

isMarried

public boolean isMarried(Individual a_spouse)
Returns the "Married" or "Normal" status of this Individual's relationship with specified spouse. A relationship is normal ("Married") only if it is not casual, separated or divorced.

Parameters:
a_spouse - This Individual's spouse
Returns:
True if the relationship is a normal one, if they are related at all, false otherwise

setMarkedby

public void setMarkedby(java.lang.String marker)
Sets the marker text for this Individual. Marker text is drawn on the top right corner of this Individual's Icon.

Parameters:
marker - The new marker text. Can be any one of ("+", "-", "*") or any other marker text that may be defined in the future.

getMarkedby

public java.lang.String getMarkedby()
Returns:
The current marker text for this Individual. Can be any one of ("+", "-", "*") or any other marker text that may be defined in the future.

setIcontext

public void setIcontext(java.lang.String text)
Sets the Icontext property to specified value. Icon Text is rendered / drawn in the middle of this Individual's Icon.

Parameters:
text - The new Icon text

getIcontext

public java.lang.String getIcontext()
Returns:
The current Icon Text string. Icon Text is rendered / drawn in the middle of this Individual's Icon.

setIconsubtext

public void setIconsubtext(java.lang.String subtext)
Sets the Iconsubtext property. Icon subtext is drawn below the Individual's Icon at a location determined by Pedigree.getSubtextyvalue() property.

Parameters:
subtext - The text string to set set Icon subtext property to

getIconsubtext

public java.lang.String getIconsubtext()
The current Iconsubtext string. Icon subtext is drawn below the Individual's Icon at a location determined by Pedigree.getSubtextyvalue() property. Note that if an Individual has multiple subtext lines, the Iconsubtext string will be set to one multi-segment string with subtext lines being delimited by a new line character. To get the different subtext lines separately, one would typically split the Iconsubtext string into an array of strings as follows :- String lines[] = getIconsubtext().split("\n"); This gives an array of strings with the elements being equivalent to the different subtext lines.


setTraversed

public void setTraversed(boolean rhs)
Set a marker flag to true of false. This can be used by the Algorithm for various purposes one of which is to mark the Individual as having been traversed in a family traversal operation.

Parameters:
rhs - The flag to set (True sets the marker and false unsets the marker)

isTraversed

public boolean isTraversed()
Returns:
True if traversed is set, false otherwise. This can be used by the Algorithm for various purposes one of which is to mark the Individual as having been traversed in a family traversal operation.

setAdopted

public void setAdopted(boolean rhs)
Sets or unsets the adopted status of this Individual. This does not distinguish between those aopted into a Family or those Individudals that are adopted out to another Family.

Parameters:
rhs - Flag indicating whether or not the Individual is adopted.

isAdopted

public boolean isAdopted()
Determines if Individual is adopted or not.

Returns:
True If this Individual is Adopted, False Otherwise. This does not distinguish between those aopted into a Family or those Individudals that are adopted out to another Family.

getFamilyProband

public static Individual getFamilyProband()
Returns a reference to the Individual who is the proband for the Family . A Family may have 0 or 1 probands.

Returns:
The Individual who is the curent family proband. Null is returned if no family proband is specified.

setProband

public void setProband(boolean rhs)
Sets or usets the proband status of an Individual. If "rhs" is true, then this Individual becomes the new family proband. If "rhs" is false, no action will be taken if this Individual was not the proband otherwise the family proband will be set to null.

Parameters:
rhs - The new proband Indicator (True or False)

isProband

public boolean isProband()
Returns:
True if this Individual is a proband, false otherwise. A Family may have 0 or 1 probands.

setNoissue

public void setNoissue(boolean rhs)
Sets or usets the "No Issue" status of an Individual.

Parameters:
rhs - The new "No Issue" status.

isNoissue

public boolean isNoissue()
Returns:
True if this Individual is a "No Issue", false otherwise

setSAB

public void setSAB(boolean rhs)
Sets or usets the SAB status of an Individual. An Individuals who is marked as SAB died at birth.

Parameters:
rhs - The new SAB status

isSAB

public boolean isSAB()
Returns:
True if this Individual is an SAB, false otherwise. An Individuals who is marked as SAB died at birth.

setFamilyID

public void setFamilyID(java.lang.String rhs)
Sets the family ID of this Individual to supplied text string. This is used to show that this Individual belongs to a Family whose family ID is specified. Note that just changing this value does not actually move the Individual to the right Family. To do so, one has to excute one of two methods (1) Pedigree.addToFamily() and Family.addIndividual(). Even then, there is no guarantee provided that the relationships between this Indiviudal and and others in the same family have been properly set.

Parameters:
rhs - The new Family ID. Non numberic strings will be rejected quietly without an error alert

getFamilyID

public java.lang.String getFamilyID()
Returns:
The unique ID of the Family of which this Individual is a member

setTree

public void setTree(java.lang.String rhs)
Sets the Tree ID of this Individual to supplied text string. A sub tree consists of Family members who are connected to each other but are not connected by a relationship to other members of the same family. Non numberic strings will be rejected quietly without an error alert.

Parameters:
rhs - The new Tree ID

getTree

public java.lang.String getTree()
Returns the Tree ID of this Individual. A sub tree consists of Family members who are connected to each other but are not connected by a relationship to other members of the same family. If all members in a family are linked via relationships, then there will be only one "tree" in the family.

Returns:
The current tree ID of this Individual

setFather

public void setFather(Individual pa)
Sets Individual "pa" as the father of this Individual. Note that this method makes no attempt to do the opposite relationships. You would typically follow this method up with a call to #setRelative(Individual, String)
in order to set the opposite relationship. If the validation of the parameter "pa" is such that "pa" cannot be a father of this Individual, the method returns cleanly and quietly without setting such the relationship.

Parameters:
pa - The new father
See Also:
addFather(Individual, String)

getFather

public Individual getFather()
Returns:
This Individual's father

setMother

public void setMother(Individual ma)
Sets Individual "ma" as the mother of this Individual. Note that this method makes no attempt to do the opposite relationships. You would typically follow this method up with a call to #setRelative(Individual, String) in order to set the opposite relationship. If the validation of the parameter "ma" is such that "ma" cannot be a mother of this Individual, the method returns cleanly and quietly sithout setting such a relationship

Parameters:
ma - The new mother.
See Also:
addMother(Individual, String)

getMother

public Individual getMother()
Returns:
The Individual object which is the reference to the Mother of this Individual, null if no such mother exists

setSpouse

public void setSpouse(Individual sp)
Sets the main spouse reference for this Individual. An Individual can only have one main spouse referrenced by this pointer. The rest of the spouses are kept as relatives with a relationship indicator of RelationshipConstants.SPOUSE. If this Individual already has a main spouse, the new spouse will be added as just another spouse.

Parameters:
sp - The new main spouse for this Individual. May be null to remove main spouse.

getSpouse

public Individual getSpouse()
Returns:
This Individual's main spouse or null if no such spouse exists. An Individual can only have one main spouse referrenced by this pointer. The rest of the spouses are kept as relatives with a relationship indicator of RelationshipConstants.SPOUSE.

setX

public void setX(double xc)
Sets the X-Coordinate for this Individual's Icon

Parameters:
xc - The value to set

getX

public double getX()
Returns:
the current X-Coordinate of the Individual object

setY

public void setY(double yc)
Sets the Y-Coordinate for this Individual's Icon

Parameters:
yc - The value to set

getY

public double getY()
Returns:
The current Y Coordinate of the Individual object.

getIconY

public double getIconY()
Returns:
The current Y Coordinate of the person's icon. This is different from person's X coordinate which may or may not be the same as this value depending on whether or not the pedigree allows for supertext.
See Also:
getY()

setChildline

public void setChildline(java.awt.geom.Line2D as_line)
Sets child line for this Individual to the specified value

Parameters:
as_line - The line object to assign to this Object

setTwinline

public void setTwinline(java.awt.geom.Line2D as_line)
Sets twin line property for this Individual

Parameters:
as_line - The new twin line

getTwinline

public java.awt.geom.Line2D getTwinline()
Returns:
The current twin line object for this Individual

getChildline

public java.awt.geom.Line2D getChildline()
Returns:
current value of the child line property for this Individual

getRightMostSibling

public Individual getRightMostSibling()
Returns:
The sibling who is the right most of all of this Individual's siblings or null if this Individual has no brothers/ sisters. If this Individual is the rightmost of the siblings, this Individual's record will be returned. Rightmost refers to the Individual's relative position as measured in the increasing X-direction in the Pedigree's graphics 2D space.

getLeftMostSibling

public Individual getLeftMostSibling()
Returns:
The sibling who is the left most of all of this Individual's siblings or null if this Indvidual has no brothers/ sisters. If this Individual is the leftmost of the siblings, this Individual's record will be returned. Leftmost refers to the Individual's relative position as measured in the decreasing X-direction in the Pedigree's graphics 2D space.

getRightMostTwin

public Individual getRightMostTwin()
Returns:
The twin who is the right most of all of this Individual's twins or null if this Indvidual has no twin brothers/ sisters. If this Individual is the rightmost of the twins, this Individual's record will be returned. Rightmost refers to the Individual's relative position as measured in the increasing X-direction in the Pedigree's graphics 2D space.

getLeftMostTwin

public Individual getLeftMostTwin()
Returns:
The twin who is the leftmost (2D space) of all of this Individual's twins or null if this Indvidual has no twin brothers/ sisters. If this Individual is the leftmost of the twins, this Individual's record will be returned. Leftmost refers to the Individual's relative position as measured in the decreasing X-direction in the Pedigree's graphics 2D space.

setSiblingline

public void setSiblingline(java.awt.geom.Line2D as_line)
Sets the sibling line for this Individual to supplied line2D object

Parameters:
as_line - The new sibling line for this Individual

getSiblingline

public java.awt.geom.Line2D getSiblingline()
Fetch and return a line2d object rep's the sibling line for this Individual

Returns:
A line2D object -- The sibling line for this Individual

setRelationships

public void setRelationships(java.util.Hashtable rhs)
Assigns the Individual's relationships container to the supplied hashmap. The hashmap key for each table entry is the UPN of this respective Individual with whom that relationship is shared.
This table contains nothing and acts only as a surrogate pointer to more specific relationship tables such as Individual.children, Individual.spouses and Individual.siblings. It was introduced before a design problem arose
where Individuals with may have multiple relationships with another single Individual e.g. one Individual could be both a spouse and a sibling of another Individual, making it impossible to use the UPN as a key for both relationship
entries. This method may be deprected in the future as its functions are well perfomed by the methods setChildren(), setSpouses() and setSiblings().

Parameters:
rhs - The new relationship container

setChildren

public void setChildren(java.util.Hashtable rhs)
Assigns the Individual's children relationships to the supplied hashmap. The hashmap key for each table entry is the UPN of this respective kid with whom that child relationship is shared.

Parameters:
rhs - The new children relationship container

setSpouses

public void setSpouses(java.util.Hashtable rhs)
Assigns the Individual's spouses relationships container to the supplied hashmap. The hashmap key for each table entry is the UPN of this respective spouse with whom that spouse relationship is shared.

Parameters:
rhs - The new spouse relationship container

setSiblings

public void setSiblings(java.util.Hashtable rhs)
Assigns the Individual's siblings relationships index to the supplied hashmap contents. The hashmap key for each table entry is the UPN of this respective sibling with whom that relationship is shared.

Parameters:
rhs - The new sibling relationship container

setSpouselines

public void setSpouselines(java.util.Hashtable rhs)
Sets this Individual's spouse relationship lines property. The hashmap key for each table entry is the UPN of this respective spouse with whom that relationship line is shared.

Parameters:
rhs - The hashmap whose contents are the relationship lines for connecting this individual to his/her spouses

getSpouselines

public java.util.Hashtable getSpouselines()
Returns:
The hashmap whose contents are the relationship lines for connecting this individual to his/her spouses. The hashmap key for each table entry is the UPN of this respective spouse with whom that relationship line is shared.

getParentlines

public java.util.Hashtable getParentlines()
Returns:
The hashmap that contains this Individual's parent relationship lines. The hashmap key for each table entry is the UPN of this respective spouse with whom that relationship line is shared.

setParentlines

public void setParentlines(java.util.Hashtable rhs)
Sets this Individual's parent relationship lines container to specified hashmap. The hashmap key for each table entry is the UPN of this respective spouse with whom that relationship line is shared.

Parameters:
rhs - The hashmap whose contents are the relationship lines

getRelationships

public java.util.Hashtable getRelationships()
Returns:
The current relationship table whose contents are this Indivdiual's relationships keyed by relative UPN.

getChildren

public java.util.Hashtable getChildren()
Returns:
The current relationship table for children

getSiblings

public java.util.Hashtable getSiblings()
Returns:
The current relationship Hash Table for siblings. The hashmap key for each table entry is the UPN of this respective sibling with whom that relationship is shared.

getSpouses

public java.util.Hashtable getSpouses()
Returns:
The current spouse relationship table for spouses. The hashmap key for each table entry is the UPN of this respective spouse with whom that relationship is shared.

getRightSpouses

public java.util.Vector<Individual> getRightSpouses()
Returns:
The list of all spouses of this individual that have XCoordinate greater than this individua. Empty list will be returned if no spouses exists or if there are no spouses to the right of this individual

getSpouseline

public java.awt.geom.Line2D getSpouseline(Individual as_person)
Returns a Line2D object representing the spouse relationship line between this Individual and specified spouse.

Parameters:
as_person - The spouse with whom spouse line is shared
Returns:
The current relationship line between this Individual and spouse or null if none is found

getParentline

public java.awt.geom.Line2D getParentline(Individual a_person)
Returns the current parent relationship line between this Individual and the specified spouse. Note to avoid duplications, the parent relationshuip line may can be owned by only one of the two parents as is the spouse line between them.

Parameters:
a_person - This Individual's spouse with whom a parent line may be shared or null
Returns:
Line2D object which is the parent line shared by these two, null if none is found

getAnyChild

public Individual getAnyChild()
Gets any one child of this person or null if this person has no children

Returns:
Any one child of this person or null if this person has no children

getAnyChild

public Individual getAnyChild(Individual as_spouse)
Gets any one child shared between this person and specified spouse.

Parameters:
as_spouse - This spouse with whom a child is shared
Returns:
Any one child shared between this person and specified spouse.

getAnysibling

public java.lang.String getAnysibling()
Returns:
Any one sibling of this Individual

numSiblings

public int numSiblings()
Returns:
The number of Siblings for Individual

hasSiblings

public boolean hasSiblings()
Returns:
True if this Individual has at least one sibling

isSiblingOf

public boolean isSiblingOf(Individual as_person,
                           boolean includeAdopted)
Determines if current Individual is a sibling of the specified Individual

Parameters:
as_person - The Individual whose relationships is to be checked
includeAdopted - A flag indicating whether or not to cut accross adopted lines in building list of siblings to be checked.
Returns:
True if the two are siblings false otherwise

isSpouseOf

public boolean isSpouseOf(Individual as_person)
Parameters:
as_person - The Individual to check
Returns:
True if as_person is a spouse of this Individual, false otherwise

isChildOf

public boolean isChildOf(Individual as_person)
Parameters:
as_person - The Individual to check
Returns:
True if as_person is a child of this Individual, false otherwise

hasSpouses

public boolean hasSpouses()
Returns:
True of this Individual has at least one spouse

numSpouses

public int numSpouses()
Returns:
The number of spouses this Individual has

hasChildren

public boolean hasChildren()
Returns:
True of this Individual has at least one child

numChildren

public int numChildren()
Returns:
The number of children for this Indvidual regardless of whether or not the children have different mothers/fathers

hasParents

public boolean hasParents()
Returns:
True of this Individual has at least one parent specified in this Pedigree

hasBothparents

public boolean hasBothparents()
Returns:
True of this Individual has at both parents specified in this Pedigree

hasOneparent

public boolean hasOneparent()
Returns:
True of this Individual has only one parent specified in this Pedigree

isOwnparent

public boolean isOwnparent()
Reserved for ver1.1 True of this Individual has is his own parent (plants will do this )


isMale

public boolean isMale()
Returns:
True if this Individual is male, false otherwise

isFemale

public boolean isFemale()
Returns:
True if this Individual is female, false otherwise

getTwins

public java.util.Vector<java.lang.String> getTwins()
Returns a vector containing upns of twins of this person

Returns:
A vector containing upns of twins of this person

getRelatives

public java.util.Vector<java.lang.String> getRelatives(java.lang.String as_relationship1,
                                                       java.lang.String as_relationship2,
                                                       PedigreeComparator aComparator)
Returns a Vector of UPN's of this Individual's relatives. Only Sons and Daughters or Brothers and Sisters can be retrieved this way.
Typical relationship strings are RelationshipConstants.BROTHER, RelationshipConstants.SISTER, RelationshipConstants.SON, RelationshipConstants.DAUGHTER

Parameters:
as_relationship1 - The first relationship defining individuals to be returned. This is typically RelationshipConstants.SON, RelationshipConstants.DAUGHTER, RelationshipConstants.SISTER, RelationshipConstants.BROTHER
as_relationship2 - The second relationship defining individuals to be returned. This is typically RelationshipConstants.SON, RelationshipConstants.DAUGHTER, RelationshipConstants.SISTER, RelationshipConstants.BROTHER
aComparator - The pedigree comparator to define the order by which the returned individuals will be sorted. If this parameter is NULL then no specific order will be enforced.
Returns:
Vector of UPN's of relatives found or an empty vector if no relatives have been found.
See Also:
RelationshipConstants

getRelatives

public java.util.Vector<java.lang.String> getRelatives(java.lang.String as_relationship,
                                                       PedigreeComparator aComparator)
Returns a Vector of UPN's of this Individual's relatives.

Parameters:
as_relationship - The relationship to look for e.g. RelationshipConstants.SON, RelationshipConstants.DAUGHTER
aComparator - The pedigree comparator to define the order by which the returned individuals will be sorted. If this parameter is NULL then no specific order will be enforced.
Returns:
Vector with a list of UPN's of relatives found or an empty vector if no relatives have been found.

getChild

public Individual getChild(java.lang.String as_upn)
Retrieves an Individual whose UPN equals the supplied parameter and is a child of this Individual

Parameters:
as_upn - The UPN of the Individual to be retrived.
Returns:
An Individual or null if no child is found

getRelative

public Individual getRelative(java.lang.String as_upn)
Retrieves this Individual's relative whose UPN is specified.

Parameters:
as_upn - The UPN of the Individual / relative to be retrieved.
Returns:
Individual (child, spouse, sibling) or null if no relative with specified UPN exists

getAllChildren

public java.util.Vector<Individual> getAllChildren()
Returns:
A Vector containing children of this person. All this Individual's children are returned regardless of who the 2nd parent is.

numChildren

public int numChildren(Individual as_spouse)
Parameters:
as_spouse - The spouse by whom this Individual has children
Returns:
The total number of children this Individual has by a given spouse.

getChildren

public java.util.Vector<java.lang.String> getChildren(Individual as_spouse,
                                                      PedigreeComparator aComparator)
Returns a Vector containing UPN's of children of this person. These children must be shared with spouse "as_spouse"

Parameters:
as_spouse - The spouse by whom this Individual has children. If NULL is specified then only those children whose 2nd parent is not specified are returned.
aComparator - The pedigree comparator to define the order by which the returned individuals will be sorted. If this parameter is NULL then no specific order will be enforced.
Returns:
An ordered list (Vector) with UPN's of the children. The child with the smallest UPN will be found at element "0" of the Vector while the child with the highest UPN will be located at the last array index of the Vector.

getChildren

public java.util.Vector<Individual> getChildren(Individual as_spouse)
Returns a Vector containing children of this person. These children must be shared with spouse "as_spouse"

Parameters:
as_spouse - The spouse by whom this Individual has children. If NULL is specified then only those children whose 2nd parent is not specified are returned.
Returns:
Children of this individual shared with as_apouse.

getLeftChild

public Individual getLeftChild(Individual as_spouse)
Finds a child of this Individual's whose X-Coordinate is the leftmost in the decreasing X-direction on the Pedigree space

Parameters:
as_spouse - Spouse who is mother/father of the kid in question
Returns:
The leftmost child of this person and spouse as_spouse

getRightChild

public Individual getRightChild(Individual as_spouse)
Returns a child of this Individual's whose X-Coordinate is the rightmost in the increasing X-direction on the Pedigree space

Parameters:
as_spouse - Spouse who is mother/father of the child in question
Returns:
The rightmost child of this person and spouse as_spouse

deleteself

public void deleteself()
Disconnects this Individual from all his/her direct relatives (Siblings, Parents and Kids and SPouses) by removing this Individual from their relationship tables. It is important to note that this method, while it fully disconnects this Individual from his immediate relatives, does not remove the Individual from the Pedigree Family Model and hence it is up to the caller to do so.


addSibling

public void addSibling(Individual a_relative,
                       java.lang.String as_relationship)
Connects this Individual to "as_relative" as siblings. All of this Individual's existing siblings are connected to "as_relative" and vice versa. Note that this method does nothing to connect the new sibling to this Individual's parents if indeed they exist so it is up to you to call the appropriate methods to do that.

Parameters:
a_relative - The Individual to be added as a sibling of this Individual
as_relationship - "Brother" or "Sister" relationship types

getSiblings

public Individual[] getSiblings(boolean includeAdopted)
Return Array of Individuals who are siblings of this person

Parameters:
includeAdopted - Flag indicating whether of not adopted in sibling should or should not be included in the list returned. Adopted out Individuals will be returned regardless of the value of this flag.
Returns:
Array of Individuals who are siblings of this person

addChild

public void addChild(Individual as_relative,
                     java.lang.String as_relationship)
Connects "as_relative" to this Individual as a child. An attempt is also made to do the opposite relationship by setting this Individual as a father or mother of the newly added child. The method does not however connect the new child to the other children of this Individual as siblings. For that you would have to call the appropriate methods to set sibling relationships between the new child and the other children.

Parameters:
as_relative - The Individual who is to be connected as child
as_relationship - String equal to RelationshipConstants.SON or RelationshipConstants.DAUGHTER

addFather

public void addFather(Individual as_relative,
                      java.lang.String as_relationship)
Connects "as_relative" to this Individual as a father. An attempt is also made to do the opposite relationship of setting as_relative as a child of this Individual. The method does not however connect the new father to any existing siblings of this Individual so it is up to you to call the appropriate methods. Neither does it connect the new Father to any existing parent as a spouse, leaving that responsibility and determination to be made by you.

Parameters:
as_relative - The new Individual to be added as father
as_relationship - RelationshipConstants.FATHER

addMother

public void addMother(Individual as_relative,
                      java.lang.String as_relationship)
Connects "as_relative" to this Individual as a mother. An attempt is also made to do the opposite relationship of setting as_relative as child of this Individual. The method does not however connect the new mother to any existing siblings of this Individual so it is up to you to call the appropriate methods. Neither does it connect the new mother to any existing parent as a spouse, leaving that responsibility and determination to be made by you.

Parameters:
as_relative - The Individual to be added as a mother
as_relationship - RelationshipConstants.MOTHER

addSpouse

public void addSpouse(Individual as_relative,
                      java.lang.String as_relationship)
Connects "as_relative" to this Individual as a spouse. An attempt is also made to do the opposite relationship of setting as_relative as spouse of this Individual. The method does not however connect the new spouse as a mother or father of any existing children of this Individual.

Parameters:
as_relative - The Individual who is to be connected as spouse
as_relationship - A string equal to RelationshipConstants.SPOUSE

setTwins

public void setTwins(Individual as_relative,
                     java.lang.String as_relationship)
Add a twin (triplet or quadruplet) brother or sister to this Individual. If this Individual has existing twins, they will be registered as triplets (or indeed quadruplets) of as_relative and vice versa. Any existing twins (triplets or quadruplets) and/or siblings will be connected to the new sibling being added but as in the #addSibling(Individual, String) method, no attempt is made to connect this new Individual to existing parents.

Parameters:
as_relative - The Individdual to be set as this Individual's twin (triplet or quadruplet etc)
as_relationship - The string relationship (BROTHER, SISTER etc)

isTwinOf

public boolean isTwinOf(Individual twin)
Returns true if the Individual "twin" is a twin one of this Individual

Parameters:
twin - Individual whose relationship is to be checked
Returns:
True if Individual "twin" is a twin one of this Individual.

isParentOf

public boolean isParentOf(Individual a_child,
                          boolean includeAdopted)
Returns true If this Individual is a parent to "a_child"

Parameters:
a_child - Individual whose relationship is to be checked
includeAdopted - Flag indicating whether of not adopted parents/ancestors across adopted lines must be returned or considered as parents. If false, parents of this Indidual will not be returned if he/she was adopted into the family. Adopted out Individuals will be returned regardless of the value of this flag.
Returns:
True if this Individual is a parent of "a_child" and false otherwise.

ancestors

public java.lang.String ancestors(boolean includeAdopted)
Gets a semi-colon delimited list of Unique Person Numbers (UPN's) for all ancestors of this Individual

Parameters:
includeAdopted - Flag indicating whether of not adopted ancestors across adopted lines must be returned or included as part of the list of ancestors. If false, ancestors of this Indiduals will not be returned if he/she was adopted into the family. Adopted out Individuals will be returned regardless of the value of this flag.
Returns:
A semicolon delimied string of Ancestors UPN's for this Individual starting from father and mother. An empty string will be returned if no ancestors of this Individual are known.

mySiblings

public java.util.Vector<java.lang.String> mySiblings(boolean includeAdopted)
Return list containing UPNs of siblings of this person

Parameters:
includeAdopted - Flag indicating whether of not adopted in sibling should or should not be included in the list returned. Adopted out Individuals will be returned regardless of the value of this flag.
Returns:
A list containing UPNs of siblings of this person. UPN's.

myDescendants

public java.util.Vector<Individual> myDescendants(int degree,
                                                  boolean includeAdopted)
Returns a vector containg descendants of this person up to and including the degree of relation specified.

Parameters:
degree - An integer specifying the degree of relation to search up to. If degree is 1, children are returned, if 2 then grandkids are returned etc
includeAdopted - True if descendants across adopted lines are to be included in list of Descendants. This may be required during traversal but will not be required if list if being used to get list of descendants for display purposes
Returns:
A vector containg descendants of this person up to and including the degree of relation specified.

myDescendants

public java.util.Vector<Individual> myDescendants(boolean includeAdopted)
Returns a vector containg descendants of this person up to and including the degree of relation specified.

Parameters:
includeAdopted - True if descendants across adopted lines are to be included in list of Descendants. This may be required during traversal but will not be required if list if being used to get list of descendants for display purposes
Returns:
A vector containg descendants of this person up to and including the degree of relation specified.

myAncestors

public java.util.Vector<Individual> myAncestors(int degree,
                                                boolean includeAdopted)
Returns a list of this peron's ancestors

Parameters:
degree - An integer specifying the degree of relation to search up to. If degree is one, father and mother are returned, if 2 then grandpa and grandma from the father and mother lines are returned.
includeAdopted - True if ancestors across adopted lines are to be included in list of ancestors. This may be required during traversal but will not be required if list if being used to get list of descendants for display purposes
Returns:
A list of this peron's ancestors.

myAncestors

public java.util.Vector<Individual> myAncestors(boolean includeAdopted)
Returns list of this peron's ancestors

Parameters:
includeAdopted - True if ancestors across adopted lines are to be included in list of ancestors. This may be required during traversal but will not be required if list if being used to get list of descendants for display purposes
Returns:
A list of this peron's ancestors

myRelatives

public java.util.Vector<Individual> myRelatives(int degree,
                                                int direction,
                                                int count,
                                                boolean falldown,
                                                boolean didfalldown,
                                                boolean includeAdopted)
Finds and returns all of this person's relatives at the specified degree of relation. List of relatives includes this Individual as well. A direction parameter
is used to cut down on the number of repeat traversals made by the system in search of relatives.

Please note before calling this method, all Individuals in the pedigree must have their "traversed" field set to a value of false (Individual.setTraversed(false) otherwise no traversal will be done sucessfully.

Parameters:
degree - The degree of relation to search to (-1) searches all relatives
direction - The direction of search determined by the following integer values
ValueDescription
0 Initial search (searches for all direct relatives) of current Individual
-1 Sideways while exploring siblings. No need to search for siblings or ancestors when a sibling is explored
2 Updwards in search of ancestors -- No need to seek descendants
3 Downwards in search of children -- no need to go back looking for ancestors
count - The recursion counter (used internally to initialize traversal flags). Must always be 0. If a value other than zero is used on calling method, the traversal may or may not happen.
falldown - Boolean indicating whether or not an Individual invoked as an ancestor / parent must look down to find children that may not have been traversed. If a parent has other children that are not the invoking child's siblings then half brothers and sisters of that kid would not have been traversed, necessitating a "fall down" traversal by parent.
didfalldown - True if the search for children resulted from a falldown as described above
includeAdopted - True if relatives across adopted lines are to be included in list of ancestors / relatives. This may be required during traversal but will not be required if list is being used to get list of relatives/descendants for display purposes
Returns:
A vector of this person's relatives

indexOf

public int indexOf(Individual ind,
                   int direction,
                   int count,
                   boolean found,
                   boolean falldown,
                   boolean didfalldown,
                   boolean includeAdopted)
Returns the degree of relation of Individual "ind" from this person or -1 if they are not relatives. Spouses are not considered to be relatives.

Please note before calling this method, all Individuals in the pedigree must have their "traversed" field set to a value of false (Individual.setTraversed(false) otherwise no traversal will be done sucessfully.

Parameters:
ind - The individual whose degree of relation is being checked
direction - The direction of search determined by the following integer values
ValueDescription
0 Initial search (searches for all direct relatives) of current Individual
-1 Sideways while exploring siblings. No need to search for siblings or ancestors when a sibling is explored
2 Updwards in search of ancestors -- No need to seek descendants
3 Downwards in search of children -- no need to go back looking for ancestors
count - The recursion counter (used internally to initialize traversal flags). Must always be 0. If a value other than zero is used on calling method, the traversal may or may not happen.
found - The boolean flag used to stop the search when the relative "ind" has been found.
falldown - Boolean indicating whether or not an Individual invoked as an ancestor / parent must look down to find children that may not have been traversed. If a parent has other children that are not the invoking child's siblings then half brothers and sisters of that kid would not have been traversed, necessitating a "fall down" traversal by parent.
didfalldown - True if the search for children resulted from a falldown as described above
includeAdopted - True if relatives across adopted lines are to be included in list of ancestors / relatives. This may be required during traversal but will not be required if list if being used to get list of relatives/descendants for display purposes
Returns:
The degree of relation of Individual "ind" from this Individual or -1 if they are not relatives. Spouses are not considered to be relatives.

isRelativeOf

public boolean isRelativeOf(Individual ind,
                            boolean includeAdopted)
Parameters:
ind - The individual whose relationship to this Individual is being checked.
includeAdopted - True if relatives across adopted lines are to be included in list of ancestors / relatives. This may be required during traversal but will not be required if list if being used to get list of relatives/descendants for display purposes
Returns:
True if Idnivdiual "ind" is a direct or indirect relative of this Individual. Spouses of Individual or spouses of relatives are not considered relatives. Please note before calling this method, all Individuals in the pedigree must have their "traversed" field set to a value o f false (Individual.setTraversed(false) otherwise no traversal will be done sucessfully.

isHalfBrother

public boolean isHalfBrother(Individual ind)
Parameters:
ind - The Individual to whom this Individual may be a half brother.
Returns:
True if this Individual is half brother of Individual "IND".

isHalfSister

public boolean isHalfSister(Individual ind)
Parameters:
ind - The Individual to whom this Individual may be a half sister.
Returns:
True if this Individual is half sister of Individual "IND".

isAuntOf

public boolean isAuntOf(Individual ind,
                        boolean includeAdopted)
Returns true if this Individual is an Aunt of "ind". An Aunt is a female sibling of one of your ancestors.

Parameters:
ind - The Individual to whom this Indibidual may be an aunt.
includeAdopted - True if relatives across adopted lines are to be included in list of ancestors / relatives. This may be required during traversal but will not be required if list is being used to get list of relatives/descendants for display purposes
Returns:
True if this Individual is an Aunt of "ind"

isUncleOf

public boolean isUncleOf(Individual ind,
                         boolean includeAdopted)
Returns true if this Individual is an Uncle of "ind". An Uncle if a male sibling of one of your ancestors.

Parameters:
ind - The Individual to whom this Indiviual may be an uncle.
includeAdopted - True if relatives across adopted lines are to be included in list of ancestors / relatives. This may be required during traversal but will not be required if list is being used to get list of relatives/descendants for display purposes
Returns:
True if this Individual is an Uncle of "ind"

myUncles

public java.util.Vector<Individual> myUncles(boolean includeAdopted)
Returns a list Individuals who are indirect Ancestors (Aunts and Uncles) of this Individual. Please note before calling this method, all Individuals in the pedigree must have their "traversed" field set to a value o f false (Individual.setTraversed(false) otherwise no traversal will be done sucessfully.

Parameters:
includeAdopted - A flag indicating whether or not to cut accross adopted lines in building list of ancestors
Returns:
A Vector whose contents are Individual objects (aunts and uncles) or an empty vector if no uncles or aunts are found.

isAncestorOf

public boolean isAncestorOf(Individual as_grantchild,
                            boolean includeAdopted)
Returns true if this Individual is ancestor of "as_grandchild"

Parameters:
as_grantchild - The Individual whose ancestry is to be detrmined
includeAdopted - A flag indicating whether or not to cut accross adopted lines in building list of ancestors
Returns:
True if this Individual is an ancestor of as_grandchild and false otherwise.

getAncestor

public Individual getAncestor()
Returns:
This individual's oldest known ancestor. If more than one ancestor is found at the highest level, then only one of them is returned.

getAncestorDOR

public int getAncestorDOR()
Determines the degree of relation from this Individual to furthest known ancestor.

Returns:
This number of steps (generational gap) or degree of relation from this Individual to the oldest (or one of the oldest) ancestor(s).

getUpn

public java.lang.String getUpn()
Returns:
The Unique Person Number for this Individual

setUpn

public void setUpn(java.lang.String rhs)
Sets the Unique Number for this Individual to supplied value

Parameters:
rhs - The new UPN

setUpn

public void setUpn(int rhs)
            throws java.lang.NumberFormatException
Sets the Unique Number for this Individual to supplied value

Parameters:
rhs - The new UPN
Throws:
java.lang.NumberFormatException - If the parameter supplied cannot be converted to a string

getTag

public java.lang.String getTag()
Returns:
Current string value of the tag. Tag is normally used as an external key for external databases or systems that supply data to the Java Bean for drawing.

setTag

public void setTag(java.lang.String rhs)
Sets the tag property value to supplied string

Parameters:
rhs - The new tag

setGender

public void setGender(java.lang.String rhs)
Sets the Gender of this Individual to supplied String.

Parameters:
rhs - The new gender
See Also:
RelationshipConstants

getGender

public java.lang.String getGender()
Returns:
Gender of this Individual (0) female, (1) Male
See Also:
RelationshipConstants

setFatherid

public void setFatherid(java.lang.String rhs)
Sets the FatherID of this Individual to supplied value.

Parameters:
rhs - The new Father ID. The new fatherid must be convertible to a number else it will be ignored.

getFatherid

public java.lang.String getFatherid()
Returns:
The UPN of the Father

setMotherid

public void setMotherid(java.lang.String rhs)
Sets the MotherID of this Individual to supplied UPN

Parameters:
rhs - UPN of mother.The new motherid must be convertible to a number else it will be ignored.

getMotherid

public java.lang.String getMotherid()
Returns:
The UPN of the Mother

getXcoordinate

public double getXcoordinate()
Returns:
The current X Coordintae of the Individual object

getYcoordinate

public double getYcoordinate()
Returns:
The current Y Coordinate of the Individual object. If the pedigree viewer allows for supertext to be rendered above the icon the this value factors the space for supertext.

setPoint

public void setPoint(double xc,
                     double yc)
Sets the current location of an Individual object to supplied xy coordinates.

Parameters:
xc - The X Coordinate
yc - The Y Coordinate

setDeceased

public void setDeceased(boolean rhs)
Set or unsets the deceased status for this individual to deceased or alive. Progeny draws a slash through an individual to indicate the individual is deceased.

Parameters:
rhs - Flag indicating whether or not Individual is deceased.

isDeceased

public boolean isDeceased()
Returns:
True if Individual is deceased, False otherwise

setChanged

public void setChanged(boolean ab_changed)
Not Used


isChanged

public boolean isChanged()
Not used


setHighlighted

public void setHighlighted(boolean rhs)
Sets or unsets the hilighted status of the Individual.

Parameters:
rhs - True to hilight, false to unhighlight

isHighlighted

public boolean isHighlighted()
Returns:
True if the Individual is marked as hilited, false otherwise

setFirstName

public void setFirstName(java.lang.String fname)
Sets the 1st name of the Individual to value .

Parameters:
fname - The value to set name to

getFirstName

public java.lang.String getFirstName()
Returns:
String The 1st name of the Individual if one exists

setLastName

public void setLastName(java.lang.String rhs)
Sets the last name of the Individual to value .

Parameters:
rhs - The value to set name to

getLastName

public java.lang.String getLastName()
Returns:
String The last name of the Individual if one exists

setXcoordinate

public void setXcoordinate(double x)
Sets the X coordinate position at which this Individual's Icon will be drawn.

Parameters:
x - The value to set

setYcoordinate

public void setYcoordinate(double y)
Sets the Y coordinate position at which this Individual's Icon will be drawn.

Parameters:
y - The value to set

setGeneration

public void setGeneration(int rhs)
Sets this Individual's generation to value specified. The default generation for each Individual is "999999" and must decrease as you go up the ancestral line while it increase as you go down the descendant line. Fails cleanly and quietly.

Parameters:
rhs - The new generation of the Individual

getGeneration

public int getGeneration()
Returns:
This Individual's generation. The default generation "999999" for every individual and increases as you go up the descendant line while it decreases as you go down the ancestral line. The generation returned is not adjusted and reflects the internal generation stored and used by the system. For a generation value that is adjusted for an external system, use the method getAdjustedGeneration()

getAdjustedGeneration

public int getAdjustedGeneration(int oldestgen)
Parameters:
oldestgen - The generation of the oldest Individual on the Pedigree
Returns:
The generation of an Individual as it would appear in exported XML data or other external system. Individuals within Pedigree have internal values for generations that are different than the normal generation as the generations increase/decrease starting from a default of "999999". This method returns a value for generation that is adjusted for external systems such that the oldest generation is at generation "0" while the generations increase as you go further down the descendant line.

myGeneration

public java.lang.String myGeneration()
Returns:
A string representation of the Individual's internal generation. For adjusted generation value, see method getAdjustedGeneration().

setShadow

public void setShadow(boolean rhs)
Sets or unsets the boolean flag indicating whether or not this Individual is a shadow or not.

Parameters:
rhs - The new value of the the shadow property

isShadow

public boolean isShadow()
Returns:
A boolean flag indicating whether or not this Individual is a shadow or not.

prepareAllelesForRendering

public void prepareAllelesForRendering()
Runs through the genetic data for this Individual and sets the right flags to prepare the markers for drawing in haplotype bars. This is usually necessary after adding new marker data.


inheritedHaplotype

public java.lang.String inheritedHaplotype(Individual parent)
Parameters:
parent - The parent from whom a Haplotype is expected to have been inherited.
Returns:
The Paternity of the set of Alleles that were inherited as a Haplotype from parent to this child (if at all). String will be any one of Allele.PATERNAL or Allele.MATERNAL. If either the child of the parent has no chromosome
specified then a NULL will be returned. Null if also returned if the parent did not pass a haplotype down to the child.

This method will only return useful results after the smartHaplotyping algorithm has been executed on the Individuals in the Pedigree (this Individual and the parent)

passedHaplotype

public java.lang.String passedHaplotype(Individual child)
Parameters:
child - The child to whom a Haplotype is expected to have been passed
Returns:
The Paternity of the set of Alleles that were passed on as a Haplotype to this Individual's child (if at all). String will be any one of Allele.PATERNAL or Allele.MATERNAL. If either the child of the parent has no chromosome
specified then a NULL will be returned. Null is also returned if the parent did not pass a haplotype down to the child.

This method will only return useful results after the smartHaplotyping algorithm has been executed on the Individuals in the Pedigree (this Individual and the child)

findMatchingAncestor

public java.lang.String findMatchingAncestor(java.awt.Paint paint,
                                             java.lang.String markername,
                                             Allele allele)
Finds an ancestor from whom the specified Allele could possibly have been inherited. If a match is found, a semi-colon delimited string with UPN of ancestor, markername and AlleleID and paternity on the Ancestor is returned. Only ROOT ancestors and/or adopted (in) ancestors are considered for matching purposes.

Parameters:
paint - The color that is used to help in the matching of this Individual's Allele and the ancestor's allele. Typcially AlleleID's are used to match but in cases where there are double matches, the color will be used to distinguish teh actual Allele that was inherited from that ancestor.
markername - The marker on which the Allele being matched exists
allele - The allele for which a match is being inspected
Returns:
A semi-colon delimited string with UPN, markename, alleleid and allele paternity where all these properties refer to the ancestor where the match was found.

isTwintypeunknown

public boolean isTwintypeunknown()
Getter for property twintypeunknown.

Returns:
Value of property twintypeunknown.

setTwintypeunknown

public void setTwintypeunknown(boolean rhs)
Setter for property twintypeunknown.

Parameters:
rhs - New value of property twintypeunknown.

isDizygotic

public boolean isDizygotic()
Getter for property dizygotic.

Returns:
Value of property dizygotic.

setDizygotic

public void setDizygotic(boolean rhs)
Setter for property dizygotic.

Parameters:
rhs - New value of property dizygotic.

isMonozygotic

public boolean isMonozygotic()
Getter for property monozygotic.

Returns:
Value of property monozygotic.

setMonozygotic

public void setMonozygotic(boolean rhs)
Setter for property monozygotic.

Parameters:
rhs - New value of property monozygotic.

getShadowupn

public java.lang.String getShadowupn()
Getter for property shadowupn.

Returns:
Value of property shadowupn.

setShadowupn

public void setShadowupn(java.lang.String rhs)
Setter for property shadowupn.

Parameters:
rhs - New value of property shadowupn.

getExternalkey

public java.lang.String getExternalkey()
Getter for property externalkey.

Returns:
Value of property externalkey.

setExternalkey

public void setExternalkey(java.lang.String externalkey)
Setter for property externalkey.

Parameters:
externalkey - New value of property externalkey.

getChildlineRL

public RelationshipLine getChildlineRL()
Getter for property childlineRL.

Returns:
Value of property childlineRL.

setChildlineRL

public void setChildlineRL(RelationshipLine childlineRL)
Setter for property childlineRL.

Parameters:
childlineRL - New value of property childlineRL.

getSiblinglineRL

public RelationshipLine getSiblinglineRL()
Getter for property siblinglineRL.

Returns:
Value of property siblinglineRL.

setSiblinglineRL

public void setSiblinglineRL(RelationshipLine siblinglineRL)
Setter for property siblinglineRL.

Parameters:
siblinglineRL - New value of property siblinglineRL.

getTwinlineRL

public RelationshipLine getTwinlineRL()
Getter for property twinlineRL.

Returns:
Value of property twinlineRL.

setTwinlineRL

public void setTwinlineRL(RelationshipLine twinlineRL)
Setter for property twinlineRL.

Parameters:
twinlineRL - New value of property twinlineRL.

getDataitems

public java.util.Map<java.lang.Integer,Data> getDataitems()
Returns:
The custom data map for this person

setDataitems

public void setDataitems(java.util.Map<java.lang.Integer,Data> rhs)
Sets new custom data map for this person

Parameters:
rhs - The new data map

setData

public void setData(Data data)
Adds the specified data item to the Individual. The fieldid from Data.getFieldid() is used as the key into the person's data map

Parameters:
data - The new data item

removeData

public void removeData(int ai_fieldid)
Remove the dataitem associated with the field whose field is specified

Parameters:
ai_fieldid - The ID associated with the data item to be removed

resetOldestGeneration

public static void resetOldestGeneration()
Resets the oldest generation to its default value. This usually happens when a new family is created in which case the class variable has to be set for the new family


resetYoungestGeneration

public static void resetYoungestGeneration()
Resets the generation of the youngest Individual in this family/pedigree. This usually happens when a new family is created in which case the class variable has to be set for the new family


getSubtext

public Subtext getSubtext()
Returns:
The Subtext object for this Individual or null if no Subtext object is assigned.

setSubtext

public void setSubtext(Subtext aSubtext)
Sets the new Subtext object for this Individual

Parameters:
aSubtext - The new Subtext object to be assigned

getMarkerData

public MarkerData getMarkerData()
Returns:
The genetic data for this Individual

setMarkerData

public void setMarkerData(MarkerData a_data)
Assigns a new set of genetic data to this Individual

Parameters:
a_data - The new marker data

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getIntUpn

public int getIntUpn()

objectIsEmptyString

protected boolean objectIsEmptyString(java.lang.Object a_value)

getSpouseRelationship

protected SpouseRelationship getSpouseRelationship(java.lang.String as_spouse_upn)
Parameters:
as_spouse_upn - The UPN of the spouse with whom the SpouseRelationship is shared
Returns:
Shared SpouseRelationship between this individual and the spouse whose UPN is specified

deleteSpouseRelationship

protected void deleteSpouseRelationship(java.lang.String as_spouse_upn)