/* * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the "License"). You may not use this file except * in compliance with the License. * * You can obtain a copy of the license at * glassfish/bootstrap/legal/CDDLv1.0.txt or * https://glassfish.dev.java.net/public/CDDLv1.0.html. * See the License for the specific language governing * permissions and limitations under the License. * * When distributing Covered Code, include this CDDL * HEADER in each file and include the License file at * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable, * add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] */ // Copyright (c) 1998, 2005, Oracle. All rights reserved. // Copyright (c) 1998, 2005, Oracle. All rights reserved. package oracle.toplink.essentials.testing.models.cmp3.advanced; import java.sql.Date; import java.io.*; import javax.persistence.*; /** * <p><b>Purpose</b>: Defines the period an Employee worked for the organization * <p><b>Description</b>: The period holds the start date and optionally the * end date if the employee has left (null otherwise). Maintained in an * aggregate relationship of Employee * @see Employee */ @Embeddable @Table(name="CMP3_EMPLOYEE") public class EmploymentPeriod implements Serializable { private Date startDate; private Date endDate; public EmploymentPeriod() {} /** * Return a new employment period instance. * The constructor's purpose is to allow only valid instances of a class to * be created. Valid means that the get/set and clone/toString methods * should work on the instance. Arguments to constructors should be avoided * unless those arguments are required to put the instance into a valid * state, or represent the entire instance definition. */ public EmploymentPeriod(Date theStartDate, Date theEndDate) { startDate = theStartDate; endDate = theEndDate; } @Column(name="S_DATE") public Date getStartDate() { return startDate; } public void setStartDate(Date date) { this.startDate = date; } @Column(name="E_DATE") public Date getEndDate() { return endDate; } public void setEndDate(Date date) { this.endDate = date; } /** * Print the start & end date */ public String toString() { java.io.StringWriter writer = new java.io.StringWriter(); writer.write("EmploymentPeriod: "); if (this.getStartDate() != null) { writer.write(this.getStartDate().toString()); } writer.write("-"); if (this.getEndDate() != null) { writer.write(this.getEndDate().toString()); } return writer.toString(); } }