import ifs.fnd.ap.Record;
import ifs.fnd.ap.DataType;
import ifs.fnd.ap.RecordAttribute;
import ifs.fnd.ap.RecordAttributeCollection;
import ifs.fnd.ap.RecordCollection;
import ifs.fnd.ap.Server;
import ifs.fnd.ap.APException;
public abstract class Simpson {
public static void main(String [] pars) {
Record person = new Record("PERSON");
person.add("FIRST_NAME", "", DataType.TEXT);
person.add("LAST_NAME", "", DataType.TEXT);
person.add("AGE", 0, DataType.INTEGER);
Record spouse = new Record("SPOUSE");
spouse.setAttributes((RecordAttributeCollection)person.getAttributes().clone());
Record child = new Record("CHILDREN");
child.setAttributes((RecordAttributeCollection)person.getAttributes().clone());
person.addAggregate("SPOUSE", spouse);
RecordCollection children = person.addArray("CHILDREN");
Record personRecord = (Record)person.clone();
personRecord.find("FIRST_NAME").setValue("Homer");
personRecord.find("LAST_NAME").setValue("Simpson");
personRecord.find("AGE").setValue(38);
Record spouseRecord = personRecord.find("SPOUSE").getAggregate();
spouseRecord.find("FIRST_NAME").setValue("Marge");
RecordCollection childrenArray = personRecord.find("CHILDREN").getArray();
Record childRecord = (Record)child.clone();
childRecord.find("FIRST_NAME").setValue("Bart");
childrenArray.add(childRecord);
childRecord = (Record)child.clone();
childRecord.find("FIRST_NAME").setValue("Lisa");
childrenArray.add(childRecord);
childRecord = (Record)child.clone();
childRecord.find("FIRST_NAME").setValue("Maggie");
childrenArray.add(childRecord);
System.out.println();
System.out.println("************** TRACE *********************");
System.out.println(personRecord.toString());
System.out.println("******************************************");
System.out.println();
String name = (String)personRecord.findValue("FIRST_NAME");
System.out.println("Name is " + name);
spouseRecord = personRecord.find("SPOUSE").getAggregate();
name = (String)spouseRecord.findValue("FIRST_NAME");
System.out.println("Spouse is " + name);
name = "";
childrenArray = personRecord.find("CHILDREN").getArray();
for(int i = 0; i < childrenArray.size(); i++) {
if(i > 0)
name += ", ";
name += (String)childrenArray.get(i).findValue("FIRST_NAME");
}
System.out.println("Children are " + name);
System.out.println();
}
}