/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 1997-2017 Oracle and/or its affiliates. All rights reserved.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License.  You can
 * obtain a copy of the License at
 * https://oss.oracle.com/licenses/CDDL+GPL-1.1
 * or LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 *
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at LICENSE.txt.
 *
 * GPL Classpath Exception:
 * Oracle designates this particular file as subject to the "Classpath"
 * exception as provided by Oracle in the GPL Version 2 section of the License
 * file that accompanied this code.
 *
 * Modifications:
 * If applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyright [year] [name of copyright owner]"
 *
 * Contributor(s):
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.
 */

package com.sun.xml.ws.cts.jws_common;

public class Employee {

  private Name name;
  private Department dept;
  private Salary salary;
  private Address address;
  private String title;
  private int type;

  public Employee(Name name, Department dept, Salary salary, Address address, String title, int type) {
    this.name = name;
    this.dept = dept;
    this.salary = salary;
    this.address = address;
    this.title = title;
    this.type = type;
  }

  public Employee() {
    name = new Name();
    dept = new Department();
    salary = new Salary();
    address = new Address();
    title = "";
    type = EmployeeType.PERMANENT;
  }

  public Name getName() throws NameException { return name; }
  public void setName(Name name) throws NameException { this.name = name; }

  public Department getDept() throws DepartmentException { return dept; }
  public void setDept(Department dept) throws DepartmentException { this.dept = dept; }

  public Salary getSalary() throws SalaryException { return salary; }
  public void setSalary(Salary salary) throws SalaryException { this.salary = salary; }

  public Address getAddress() throws AddressException { return address; }
  public void setAddress(Address address) throws AddressException { this.address = address; }

  public String getTitle() throws TitleException { return title; }
  public void setTitle(String title) throws TitleException { this.title = title; }

  public int getType() throws TypeException { return type; }
  public void setType(int type) throws TypeException { this.type = type; }

  public String toString() {
    return name + "::" + dept + "::" + salary + "::" + address + "::" + title + "::" + type;
  }

}

