blob: b3505a969237e7b56e387f3239441d684fa533fb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.testing.models.aggregate;
import java.io.*;
import java.util.*;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.mappings.*;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
import org.eclipse.persistence.indirection.*;
public class Agent implements Serializable {
private String firstName;
private String lastName;
private java.math.BigDecimal id;
private ValueHolderInterface houses;
private java.util.List houses2;
private ValueHolderInterface customers;
public Agent() {
super();
houses = new ValueHolder(new Vector());
houses2 = new ArrayList(2);
customers = new ValueHolder(new Vector());
}
public void addCustomer(Customer customer) {
getCustomers().addElement(customer);
}
public void addHouse(House house) {
getHouses().addElement(house);
}
public static void addToDescriptor(ClassDescriptor descriptor) {
OneToManyMapping houses = (OneToManyMapping)descriptor.getMappingForAttributeName("houses");
houses.useTransparentCollection();
}
public static Agent example1() {
Agent example1 = new Agent();
example1.setFirstName("Micheal");
example1.setLastName("Jordan");
Vector customers = new Vector();
customers.addElement(Customer.example1());
customers.addElement(Customer.example2());
example1.setCustomers(customers);
Vector houses = new Vector();
houses.addElement(SingleHouse.example1());
houses.addElement(TownHouse.example3());
example1.setHouses(houses);
return example1;
}
public static Agent example2() {
Agent example2 = new Agent();
//example1.setId(new java.math.BigDecimal(1));
example2.setFirstName("Dennis");
example2.setLastName("Rodman");
Vector customers = new Vector();
customers.addElement(Customer.example3());
example2.setCustomers(customers);
Vector houses = new Vector();
houses.addElement(SingleHouse.example2());
houses.addElement(TownHouse.example4());
example2.setHouses(houses);
return example2;
}
public Vector getCustomers() {
return (Vector)getCustomerValueHolder().getValue();
}
public ValueHolderInterface getCustomerValueHolder() {
return customers;
}
public String getFirstName() {
return firstName;
}
public Vector getHouses() {
return (Vector)getHouseValueHolder().getValue();
}
public java.util.List getHouses2() {
return houses2;
}
public ValueHolderInterface getHouseValueHolder() {
return houses;
}
public java.math.BigDecimal getId() {
return id;
}
public String getLastName() {
return lastName;
}
public void removeCustomer(Customer customer) {
getCustomers().removeElement(customer);
}
public void removeHouse(House house) {
getHouses().removeElement(house);
}
public void setCustomers(Vector customerVector) {
customers.setValue(customerVector);
}
public void setCustomerValueHolder(ValueHolderInterface customers) {
this.customers = customers;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setHouses(Vector houseVector) {
getHouseValueHolder().setValue(houseVector);
}
public void setHouses2(java.util.List newHouses2) {
houses2 = newHouses2;
}
public void setHouseValueHolder(ValueHolderInterface houses) {
this.houses = houses;
}
public void setId(java.math.BigDecimal id) {
this.id = id;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition tableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("AGENT");
definition.addIdentityField("AGENT_ID", java.math.BigDecimal.class, 15);
definition.addField("FNAME", String.class, 30);
definition.addField("LNAME", String.class, 30);
definition.addField("VERSION", java.math.BigDecimal.class, 15);
return definition;
}
}