/******************************************************************************* * Copyright (c) 1998, 2015 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; } }