// PsePerson.java import COM.odi.*; public class PsePerson extends Person implements PseObject, ObjectWithUI { public PseObject copy ( ) throws java.lang.IllegalAccessException, java.lang.InstantiationException { PsePerson oPsePerson = new PsePerson(); oPsePerson.setName (((PseObject)getName ()).copy()); oPsePerson.setAddress (((PseObject)getAddress ()).copy()); oPsePerson.setPhone (((PseObject)getPhone ()).copy()); return oPsePerson; } public ObjectApplet getUI ( ) { ObjectApplet oApplet = new PersonApplet(); oApplet.setObject(this); return oApplet; } public boolean isEmpty ( ) { return true && ((PseObject)getAddress ()).isEmpty() && ((PseObject)getName ()).isEmpty() && ((PseObject)getPhone ()).isEmpty() ; } public boolean matches ( PseObject poObject ) { return (getClass() == poObject.getClass()) ?matchAttributes(poObject) :false; } public Object objectForString ( String poString ) { return new PseString(poString); } public void setAddress ( Object poObject ) { PseObject oPseObject = (PseObject)poObject; if (Transaction.inTransaction()) ObjectStore.destroy((PseObject)getAddress()); super.setAddress(oPseObject); } public void setName ( Object poObject ) { PseObject oPseObject = (PseObject)poObject; if (Transaction.inTransaction()) ObjectStore.destroy((PseObject)getName()); super.setName(oPseObject); } public void setPhone ( Object poObject ) { PseObject oPseObject = (PseObject)poObject; if (Transaction.inTransaction()) ObjectStore.destroy((PseObject)getPhone()); super.setPhone(oPseObject); } public PseObject transfer ( PseObject poPseObject ) { Person oPsePerson = (PsePerson)poPseObject; ((PseObject)getAddress ()) .transfer((PseObject)oPsePerson.getAddress ()); ((PseObject)getName ()) .transfer((PseObject)oPsePerson.getName ()); ((PseObject)getPhone ()) .transfer((PseObject)oPsePerson.getPhone ()); return this; } // PROTECTED METHODS protected boolean matchAttributes ( PseObject poPseObject ) { Person oPsePerson = (PsePerson)poPseObject; return true && ((PseObject)getName ()) .matches((PseObject)oPsePerson.getName ()) && ((PseObject)getAddress ()) .matches((PseObject)oPsePerson.getAddress ()) && ((PseObject)getPhone ()) .matches((PseObject)oPsePerson.getPhone ()) ; } }