com.objex.panywhere
Class Family

java.lang.Object
  extended by com.objex.panywhere.Family
All Implemented Interfaces:
java.io.Serializable

public class Family
extends java.lang.Object
implements java.io.Serializable

The Family Bean acts as the main data model for the Pedigree, storing and maintaining a number of property fields, and in particular maintaining the Individual data store. It provides methods for adding, updating and removing Individuals from the Pedigree and in so doing, fires the appropriate events to inform listeners of such actions. A Pedigree has one and only one Family object which gets refreshed whenever a new set of Individuals are imported and/or the Pedigree is cleared. Family objects generate AddEvents, DeleteEvents and PropertyChangeEvents to inform interested classes of additions, deletions of Individuals and/or changes in the properties of interest.

See Also:
Serialized Form

Constructor Summary
Family()
          Creates a new family with default properties
 
Method Summary
 void addAddListener(AddListener listener)
          Allows interested objects to registser for receiving AddEvents
 void addDeleteListener(DeleteListener listener)
          Allows users of Family Model bean to registser for Delete Events.
 boolean addIndividual(Individual member)
          Adds the specified Individual to this family.
 void addPropertyChangeListener(java.beans.PropertyChangeListener lstnr)
          Enables users of Family Bean to register for property change events
 void deleteAll()
          Removes / deletes all Individuals in the Family Model.
 void fireIndividualAdded(AddEvent evt)
          Fires AddEvents to inform all the Listeners that a new Individual has been added to the Pedigree Family Model
 void fireIndividualDeleted(DeleteEvent evt)
          Fires DeleteIndividual Events, informing all the listeners that an Individual has been deleted from the Family/Pedigree
 java.lang.String getFamilyID()
          Retrives the family ID for this family
 java.lang.String getFamilyName()
          Retrieves the family Name for this family
 Individual getIndividual(Individual member)
          Gets / retrieves the Individuals specified from the family and returns his Individual object.
 Individual getIndividual(java.lang.String memberid)
          Gets / retrives the Individual whose ID is specified from the family and returns his Individual object.
static Family getInstance()
          Return the current instance of Family.
 java.util.Map getMembers()
           
 int getNumIndividuals()
           
 void removeAddListener(AddListener listener)
          Enabled interested objects to remove and hence de-register for AddEvents
 void removeDeleteListener(DeleteListener listener)
          Allows users of Family Model bean to de-register the DeleteEvents
 void removeIndividual(Individual member)
          Removes / deletes specified Individual from this family or Pedigree.
 void removePropertyChangeListener(java.beans.PropertyChangeListener lstnr)
          Enables users of Family bean to remove property change events listeners
 void setFamilyID(java.lang.String rhs)
          Sets the family id property.
 void setFamilyName(java.lang.String name)
          Sets the family name property
 void setMembers(java.util.Map fMembers)
          Adds the Individuals contained in Map fMembers to the Family Model
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Family

public Family()
Creates a new family with default properties

Method Detail

addAddListener

public void addAddListener(AddListener listener)
Allows interested objects to registser for receiving AddEvents

Parameters:
listener - The AddListener object to be added or registered

removeAddListener

public void removeAddListener(AddListener listener)
Enabled interested objects to remove and hence de-register for AddEvents

Parameters:
listener - The AddListener object to be removed / de-registered

fireIndividualAdded

public void fireIndividualAdded(AddEvent evt)
Fires AddEvents to inform all the Listeners that a new Individual has been added to the Pedigree Family Model

Parameters:
evt - The AddEvent

removeDeleteListener

public void removeDeleteListener(DeleteListener listener)
Allows users of Family Model bean to de-register the DeleteEvents


fireIndividualDeleted

public void fireIndividualDeleted(DeleteEvent evt)
Fires DeleteIndividual Events, informing all the listeners that an Individual has been deleted from the Family/Pedigree

Parameters:
evt - The DeleteIndividual event

addDeleteListener

public void addDeleteListener(DeleteListener listener)
Allows users of Family Model bean to registser for Delete Events.


addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener lstnr)
Enables users of Family Bean to register for property change events


removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener lstnr)
Enables users of Family bean to remove property change events listeners


getInstance

public static Family getInstance()
Return the current instance of Family. May be null if no Family object has been instantiated


addIndividual

public boolean addIndividual(Individual member)
Adds the specified Individual to this family. Fires an AddEvent to show that a new Individual has been added to the Pedigree Family model. If the Individual already exists, the old one will be replaced and no AddEvents will be generated.

Parameters:
member - The new Individual to be added.

removeIndividual

public void removeIndividual(Individual member)
Removes / deletes specified Individual from this family or Pedigree. Fires a DeleteEvent if delete was successful

Parameters:
member - The Individual to be deleted

deleteAll

public void deleteAll()
Removes / deletes all Individuals in the Family Model. No DeleteEvents will be generated. To get DeleteEvents, use the #removeIndividual(Individual) method.


getIndividual

public Individual getIndividual(Individual member)
Gets / retrieves the Individuals specified from the family and returns his Individual object. This method is an overloaded version of getIndividual(String memberid) which is useful in retrieving the most up to date object reference for the Individual.

Parameters:
member - The individual whose object is to be retrieved
Returns:
Indvidual An Individual object

getIndividual

public Individual getIndividual(java.lang.String memberid)
Gets / retrives the Individual whose ID is specified from the family and returns his Individual object.

Parameters:
memberid - The UPN of the Individual to be retrieved s
Returns:
Indvidual An Individual object

setFamilyID

public void setFamilyID(java.lang.String rhs)
Sets the family id property.

Parameters:
rhs - The new ID of this family

getFamilyID

public java.lang.String getFamilyID()
Retrives the family ID for this family

Returns:
String value -- ID of family

setFamilyName

public void setFamilyName(java.lang.String name)
Sets the family name property

Parameters:
name - The name of the family

getFamilyName

public java.lang.String getFamilyName()
Retrieves the family Name for this family

Returns:
String value -- NAme of family -- Same as Header

setMembers

public void setMembers(java.util.Map fMembers)
Adds the Individuals contained in Map fMembers to the Family Model

Parameters:
fMembers - The Map containing Individual objects keyed by Individual.upn

getMembers

public java.util.Map getMembers()
Returns:
the Map whose contents are Individual objects keyed by Unique Person Number (UPN) of the Indvidual

getNumIndividuals

public int getNumIndividuals()
Returns:
the total number of Individuals in this family