blob: 1d342e694b83ee535acf9f6805ba80be5a6afbc2 [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 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:
// ailitchev - jpa 2.0 element collections support
package org.eclipse.persistence.testing.models.aggregate;
import java.io.*;
import java.util.*;
import org.eclipse.persistence.tools.schemaframework.FieldDefinition;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
public class Builder implements Serializable {
private String firstName;
private String lastName;
private java.math.BigDecimal id;
private List houses;
private List customers;
private List vehicles;
public Builder() {
super();
houses = new ArrayList(2);
customers = new ArrayList(2);
vehicles = new ArrayList(2);
}
public void addCustomer(Customer customer) {
getCustomers().add(customer);
}
public void addHouse(House house) {
getHouses().add(house);
}
public void addVehicle(Vehicle vehicle) {
getVehicles().add(vehicle);
}
public static Builder example1() {
Builder example1 = new Builder();
example1.setFirstName("Micheal");
example1.setLastName("Jordan");
example1.addCustomer(Customer.example1());
example1.addCustomer(Customer.example2());
example1.addHouse(SingleHouse.example1());
example1.addHouse(TownHouse.example3());
example1.addVehicle(Car.example1());
example1.addVehicle(Car.example2());
example1.addVehicle(Car.example3());
example1.addVehicle(Bicycle.example1());
example1.addVehicle(Bicycle.example2());
return example1;
}
public List getCustomers() {
return customers;
}
public String getFirstName() {
return firstName;
}
public List getHouses() {
return houses;
}
public java.math.BigDecimal getId() {
return id;
}
public String getLastName() {
return lastName;
}
public List getVehicles() {
return vehicles;
}
public void removeCustomer(Customer customer) {
getCustomers().remove(customer);
}
public void removeHouse(House house) {
getHouses().remove(house);
}
public void removeVehicle(Vehicle vehicle) {
getVehicles().remove(vehicle);
}
public void setCustomers(List customers) {
this.customers = customers;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setHouses(List houses) {
this.houses = houses;
}
public void setId(java.math.BigDecimal id) {
this.id = id;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public void setVehicles(List vehicles) {
this.vehicles = vehicles;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition tableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("BUILDER");
definition.addIdentityField("BUILDER_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;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition houseTableDefinition() {
TableDefinition definition = House.tableDefinition();
definition.setName("BUILDER_HOUSE");
for(int i=0; i < definition.getFields().size(); i++) {
FieldDefinition field = definition.getFields().get(i);
if(field.getName().equals("AGENT_ID")) {
field.setName("BUILDER_ID");
break;
}
}
return definition;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition singleHouseTableDefinition() {
TableDefinition definition = SingleHouse.tableDefinition();
definition.setName("BUILDER_SINGLE_HOUSE");
for(int i=0; i < definition.getFields().size(); i++) {
FieldDefinition field = definition.getFields().get(i);
if(field.getName().equals("AGENT_ID")) {
field.setName("BUILDER_ID");
break;
}
}
return definition;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition sellingPointTableDefinition() {
TableDefinition definition = SellingPoint.tableDefinition();
definition.setName("BUILDER_SELLING_POINT");
for(int i=0; i < definition.getFields().size(); i++) {
FieldDefinition field = definition.getFields().get(i);
if(field.getName().equals("AGENT_ID")) {
field.setName("BUILDER_ID");
break;
}
}
return definition;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition customerTableDefinition() {
TableDefinition definition = Customer.tableDefinition();
definition.setName("BUILDER_CUSTOMER");
for(int i=0; i < definition.getFields().size(); i++) {
FieldDefinition field = definition.getFields().get(i);
if(field.getName().equals("AGENT_ID")) {
field.setName("BUILDER_ID");
break;
}
}
return definition;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition dependantTableDefinition() {
TableDefinition definition = Dependant.tableDefinition();
definition.setName("BUILDER_DEPENDANT");
return definition;
}
/**
* Return a platform independent definition of the database table.
*/
public static TableDefinition vehicleTableDefinition() {
TableDefinition definition = Vehicle.tableDefinition();
definition.setName("BUILDER_VEHICLE");
for(int i=0; i < definition.getFields().size(); i++) {
FieldDefinition field = definition.getFields().get(i);
if(field.getName().equals("ID")) {
field.setName("BUILDER_ID");
field.setIsPrimaryKey(false);
break;
}
}
return definition;
}
}