blob: 07f31a49311066e13683b980e401e35efc54971a [file] [log] [blame]
/*
* Copyright (c) 1998, 2019 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 v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// 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<Vector<House>> houses;
private java.util.List houses2;
private ValueHolderInterface<Vector<Customer>> customers;
public Agent() {
super();
houses = new ValueHolder<>(new Vector<>());
houses2 = new ArrayList(2);
customers = new ValueHolder<>(new Vector<Customer>());
}
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<Customer> customers = new Vector<Customer>();
customers.addElement(Customer.example1());
customers.addElement(Customer.example2());
example1.setCustomers(customers);
Vector<House> 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<Customer> customers = new Vector<>();
customers.addElement(Customer.example3());
example2.setCustomers(customers);
Vector<House> houses = new Vector<>();
houses.addElement(SingleHouse.example2());
houses.addElement(TownHouse.example4());
example2.setHouses(houses);
return example2;
}
public Vector<Customer> getCustomers() {
return getCustomerValueHolder().getValue();
}
public ValueHolderInterface<Vector<Customer>> getCustomerValueHolder() {
return customers;
}
public String getFirstName() {
return firstName;
}
public Vector<House> getHouses() {
return getHouseValueHolder().getValue();
}
public java.util.List getHouses2() {
return houses2;
}
public ValueHolderInterface<Vector<House>> 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<Customer> customerVector) {
customers.setValue(customerVector);
}
public void setCustomerValueHolder(ValueHolderInterface<Vector<Customer>> customers) {
this.customers = customers;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setHouses(Vector<House> houseVector) {
getHouseValueHolder().setValue(houseVector);
}
public void setHouses2(java.util.List newHouses2) {
houses2 = newHouses2;
}
public void setHouseValueHolder(ValueHolderInterface<Vector<House>> 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;
}
}