uk.ac.leeds.ccg.andyt.projects.genesis.society.organisations
Class Family

java.lang.Object
  extended by uk.ac.leeds.ccg.andyt.projects.genesis.society.organisations.Family

public class Family
extends java.lang.Object

A family is individual to a person. It is made up of indivuals and collections of people with special roles or relationships to the individual. A family includes parents. These may also be guardians, but guardians are represented separately and these may change, but parents do not. There may be siblings who can share all, one or no parents or guardians. There may also be children who reciprocate the parent relationship. Often these are dependents, although dependents are represented separately. (Every guardian does not necessarily have the same set of dependents.) Next of kin relationships for the individual is stored here. Spouse relationship is also stored here (this is reciprocal). Family history is stored with dates of changes in the relationships. Every person has a family even if it is not defined.


Constructor Summary
Family(Person _Person)
           
 
Method Summary
 void _Add_Guardian(Person _Guardian)
          After an individuals family is initilised, a guardian may be added during simulation.
 void _Add_Parent(Person _Parent)
          Parents are not necessarily guardians.
 void _Add_Sibling(Person _Sibling)
          Once a sibling, always a sibling.
 void _Add_Spouse(Person _Spouse)
           
 void _Remove_Guardian(Person _Guardian)
          A guardian may be removed during simulation.
 void _Remove_Spouse(Person _Spouse)
          This is like divorce, but that could be more complicated?
 java.util.HashSet get_Children()
           
 java.util.HashSet get_Dependents()
           
 java.util.HashSet get_Guardians()
           
 Person get_NextOfKin()
           
 int get_Order()
           
 java.util.HashSet get_Parents()
           
 java.util.HashSet get_People()
           
 java.util.HashSet get_Siblings()
           
 Person get_Spouse()
           
 void set_Children(java.util.HashSet _Children)
           
 void set_Dependents(java.util.HashSet _Dependents)
           
 void set_Guardians(java.util.HashSet _Guardians)
           
 void set_NextOfKin(Person _NextOfKin)
           
 void set_Order(int _Order)
           
 void set_Parents(java.util.HashSet _Parents)
           
 void set_Siblings(java.util.HashSet _Siblings)
           
 void set_Spouse(Person _Spouse)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Family

public Family(Person _Person)
Method Detail

_Add_Parent

public void _Add_Parent(Person _Parent)
Parents are not necessarily guardians. A parent is biological/genetic provider. A parent is not to be removed from a family in simulation though they may die or divorce/decohabit.


_Add_Sibling

public void _Add_Sibling(Person _Sibling)
Once a sibling, always a sibling. A sibling is not strictly biological/ genetic in that siblings do not have to share a common parent. To identify those that do then the parents of siblings should be tested for equality. All siblings are common, however it might be desirable to distinguish the steps of siblings. Should sibling divorce be allowed? Siblings that do not share a common parent can legally have children. Legality is not well defined yet. After a family is initilised, a sibling may be added during simulation when there is a birth, or a marriage/cohabitation.

Parameters:
_Sibling -

_Add_Guardian

public void _Add_Guardian(Person _Guardian)
After an individuals family is initilised, a guardian may be added during simulation. This is usually when there is a marriage/cohabitation change. Cohabitation is not necessary for a guardian relationship, but it is perhaps usual.

Parameters:
_Guardian -

_Remove_Guardian

public void _Remove_Guardian(Person _Guardian)
A guardian may be removed during simulation. Removing a guardian does not remove the guardian from _People.

Parameters:
_Guardian -

_Add_Spouse

public void _Add_Spouse(Person _Spouse)
Parameters:
_Spouse -

_Remove_Spouse

public void _Remove_Spouse(Person _Spouse)
This is like divorce, but that could be more complicated?

Parameters:
_Spouse -

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
description of this.

get_People

public java.util.HashSet get_People()

get_Parents

public java.util.HashSet get_Parents()

set_Parents

public void set_Parents(java.util.HashSet _Parents)

get_Guardians

public java.util.HashSet get_Guardians()

set_Guardians

public void set_Guardians(java.util.HashSet _Guardians)

get_Siblings

public java.util.HashSet get_Siblings()

set_Siblings

public void set_Siblings(java.util.HashSet _Siblings)

get_Dependents

public java.util.HashSet get_Dependents()

set_Dependents

public void set_Dependents(java.util.HashSet _Dependents)

get_Children

public java.util.HashSet get_Children()

set_Children

public void set_Children(java.util.HashSet _Children)

get_NextOfKin

public Person get_NextOfKin()

set_NextOfKin

public void set_NextOfKin(Person _NextOfKin)

get_Spouse

public Person get_Spouse()

set_Spouse

public void set_Spouse(Person _Spouse)

get_Order

public int get_Order()

set_Order

public void set_Order(int _Order)