blob: 1a93e07bc8ce9eddb3db7b2e0753c894ab908d99 [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.transparentindirection;
import java.util.*;
/**
* Simple order object. Just a test fixture.
* Collections are held in Maps.
* @author: Big Country
*/
public class MappedOrder extends AbstractOrder {
public Map salesReps;
public Collection contacts;// Maps are not allowed for DirectCollections
public Map lines;
/**
* TopLink constructor
*/
public MappedOrder() {
super();
}
/**
* Constructor
*/
public MappedOrder(String customerName) {
super(customerName);
}
public void addContact(String contact) {
contacts.add(contact);
}
public void addLine(AbstractOrderLine line) {
lines.put(line.getKey(), line);
line.order = this;
}
public void addSalesRep(AbstractSalesRep salesRep) {
salesReps.put(salesRep.getKey(), salesRep);
salesRep.addOrder(this);
}
public boolean containsContact(String contactName) {
return contacts.contains(contactName);
}
public boolean containsLine(AbstractOrderLine line) {
return lines.containsValue(line);
}
public boolean containsSalesRep(AbstractSalesRep salesRep) {
return salesReps.containsValue(salesRep);
}
public Object getContactContainer() {
return contacts;
}
public Enumeration getContactStream() {
return (new Vector(contacts)).elements();
}
public Object getLineContainer() {
return lines;
}
public Enumeration getLineStream() {
return (new Vector(lines.values())).elements();
}
public int getNumberOfContacts() {
return contacts.size();
}
public int getNumberOfLines() {
return lines.size();
}
public int getNumberOfSalesReps() {
return salesReps.size();
}
public Object getSalesRepContainer() {
return salesReps;
}
public Enumeration getSalesRepStream() {
return (new Vector(salesReps.values())).elements();
}
/**
* initialize the instance
*/
protected void initialize() {
super.initialize();
salesReps = new Hashtable();
contacts = new Vector();
lines = new Hashtable();
}
public void removeContact(String contact) {
contacts.remove(contact);
}
public void removeLine(AbstractOrderLine line) {
lines.remove(line.getKey());
// line.order = null;
}
public void removeSalesRep(AbstractSalesRep salesRep) {
salesReps.remove(salesRep.getKey());
salesRep.removeOrder(this);
}
public void clearLines() {
lines = new Hashtable();
}
}