blob: 0f5f4cad1eb59d98d144c242c2134f39b799ff10 [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:
// 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();
}
}