blob: 98f417d44def574b0ad605f82394c1f22aff9a73 [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.inheritance;
import java.util.*;
import java.io.StringWriter;
import org.eclipse.persistence.indirection.*;
/**
* Designed to test cyclical relationships with inheritance. Has two relationships
* to BaseProject which has a subclass. These relationships have back pointers which
* create cycles.
*/
public class ProjectWorker {
private long p_id;
private String p_name;
private ValueHolderInterface projects;
private ValueHolderInterface headProject;
public ProjectWorker() {
this.p_name = "";
this.headProject = new ValueHolder();
this.projects = new ValueHolder(new Vector());
}
public void addProject(BaseProject project) {
getProjects().addElement(project);
project.setTeamLeader(this);
}
public BaseProject getHeadProject() {
return (BaseProject)headProject.getValue();
}
public String getName() {
return p_name;
}
public long getId() {
return p_id;
}
public Vector getProjects() {
return (Vector)projects.getValue();
}
public void removeProject(BaseProject project) {
getProjects().removeElement(project);
}
public void setHeadProject(BaseProject project) {
this.headProject.setValue(project);
}
public void setName(String a_name) {
this.p_name = a_name;
}
public void setId(long id) {
this.p_id = id;
}
public void setProjects(Vector projects) {
this.projects.setValue(projects);
}
public String toString() {
StringWriter writer = new StringWriter();
writer.write("Person: ");
writer.write(getName());
return writer.toString();
}
}