blob: ac43f0d250fb3e73e3ef5c6b7fda6539ab1194ab [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.tools.workbench.test.models.phone;
import java.util.List;
import org.eclipse.persistence.sessions.Record;
public class Address {
/**
* Flags for converting int rate to booleans.
**/
public final static int LOCAL_FLAG = 1;
public final static int LONG_DISTANCE_FLAG = 2;
public final static int DSL_FLAG = 4;
/**
* To test DTF
**/
private String street;
/**
* To test OT
**/
private String buildingType;
public static final String[] BUILDING_TYPES = new String[] {"Apartment", "Single-family Home", "Multi-family home"};
/**
* To test 1-1
**/
private State state;
/**
* To test 1-M, has a Variable 1-1 back pointer to Person or Company
**/
private List serviceCalls; // (List of ServiceCalls)
/**
* To test M-M
**/
private List providers; // (List of Companies)
/**
* To test DC
**/
private List phoneNumbers; // List of Strings
/**
* To test Transformation
* Determined by adding up a bunch of booleans in the database.
* For simplicity, it stores it as an int. Of course, this is never
* how you'd do it in the real world, but I'm just coming up with a test
* here, so leave me alone.
**/
private int rate;
/**
* Address constructor comment.
*/
public Address() {
super();
}
/**
* Calculates and sets the rate based on the values in the database row.
**/
public void calculateRate(Record row) {
this.rate = 0;
if (((Boolean)row.get("HAS_LOCAL")).booleanValue()) this.rate += LOCAL_FLAG;
if (((Boolean)row.get("HAS_LONG_DISTANCE")).booleanValue()) this.rate += LONG_DISTANCE_FLAG;
if (((Boolean)row.get("HAS_DSL")).booleanValue()) this.rate += DSL_FLAG;
}
/**
*
* @return java.lang.String
*/
public java.lang.String getBuildingType() {
return this.buildingType;
}
/**
*
* @return java.util.List
*/
public java.util.List getPhoneNumbers() {
return this.phoneNumbers;
}
/**
*
* @return java.util.List
*/
public java.util.List getProviders() {
return this.providers;
}
/**
*
* @return int
*/
public int getRate() {
return this.rate;
}
/**
*
* @return java.util.List
*/
public java.util.List getServiceCalls() {
return this.serviceCalls;
}
/**
*
* @return org.eclipse.persistence.tools.workbench.test.models.phone.State
*/
public State getState() {
return this.state;
}
/**
*
* @return java.lang.String
*/
public java.lang.String getStreet() {
return this.street;
}
public boolean hasDslService() {
return (this.rate & DSL_FLAG) > 0;
}
public boolean hasLocalService() {
return (this.rate & LOCAL_FLAG) > 0;
}
public boolean hasLongDistanceService() {
return (this.rate & LONG_DISTANCE_FLAG) > 0;
}
/**
*
* @param newBuildingType java.lang.String
*/
public void setBuildingType(java.lang.String newBuildingType) {
this.buildingType = newBuildingType;
}
/**
*
* @param newPhoneNumbers java.util.List
*/
public void setPhoneNumbers(java.util.List newPhoneNumbers) {
this.phoneNumbers = newPhoneNumbers;
}
/**
*
* @param newProviders java.util.List
*/
public void setProviders(java.util.List newProviders) {
this.providers = newProviders;
}
/**
*
* @param newRate int
*/
public void setRate(int newRate) {
this.rate = newRate;
}
/**
*
* @param newServiceCalls java.util.List
*/
public void setServiceCalls(java.util.List newServiceCalls) {
this.serviceCalls = newServiceCalls;
}
/**
*
* @param newState org.eclipse.persistence.tools.workbench.test.models.phone.State
*/
public void setState(State newState) {
this.state = newState;
}
/**
*
* @param newStreet java.lang.String
*/
public void setStreet(java.lang.String newStreet) {
this.street = newStreet;
}
}