/*
* Copyright 2005 Ralf Joachim
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.castor.cpaptf.rel1toN;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
/**
* @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a>
* @version $Revision:6817 $ $Date: 2005-06-24 19:41:08 -0600 (Fri, 24 Jun 2005) $
*/
public final class State {
//-------------------------------------------------------------------------
private Integer _id;
private String _name;
private Locked _locked;
private boolean _input = false;
private boolean _output = false;
private boolean _service = false;
private boolean _changeFrom = true;
private boolean _changeTo = true;
private Collection < Department > _departments = new ArrayList < Department > ();
private Collection < Equipment > _equipments = new ArrayList < Equipment > ();
private String _note;
private Date _createdAt;
private String _createdBy;
private Date _updatedAt;
private String _updatedBy;
//-------------------------------------------------------------------------
public Integer getId() { return _id; }
public void setId(final Integer id) { _id = id; }
public String getName() { return _name; }
public void setName(final String name) { _name = name; }
public Locked getLocked() { return _locked; }
public void setLocked(final Locked locked) { _locked = locked; }
public boolean getInput() { return _input; }
public void setInput(final boolean input) { _input = input; }
public boolean getOutput() { return _output; }
public void setOutput(final boolean output) { _output = output; }
public boolean getService() { return _service; }
public void setService(final boolean service) { _service = service; }
public boolean getChangeFrom() { return _changeFrom; }
public void setChangeFrom(final boolean changeFrom) { _changeFrom = changeFrom; }
public boolean getChangeTo() { return _changeTo; }
public void setChangeTo(final boolean changeTo) { _changeTo = changeTo; }
public Collection < Department > getDepartments() { return _departments; }
public void setDepartments(final Collection < Department > departments) {
_departments = departments;
}
public void addDepartment(final Department department) {
if ((department != null) && (!_departments.contains(department))) {
_departments.add(department);
department.setState(this);
}
}
public void removeDepartment(final Department department) {
if ((department != null) && (_departments.contains(department))) {
_departments.remove(department);
department.setState(null);
}
}
public Collection < Equipment > getEquipments() { return _equipments; }
public void setEquipments(final Collection < Equipment > equipments) {
_equipments = equipments;
}
public void addEquipment(final Equipment equipment) {
if ((equipment != null) && (!_equipments.contains(equipment))) {
_equipments.add(equipment);
equipment.setState(this);
}
}
public void removeEquipment(final Equipment equipment) {
if ((equipment != null) && (_equipments.contains(equipment))) {
_equipments.remove(equipment);
equipment.setState(null);
}
}
public String getNote() { return _note; }
public void setNote(final String note) { _note = note; }
public Date getCreatedAt() { return _createdAt; }
public void setCreatedAt(final Date createdAt) { _createdAt = createdAt; }
public String getCreatedBy() { return _createdBy; }
public void setCreatedBy(final String createdBy) { _createdBy = createdBy; }
public void setCreated(final Date createdAt, final String createdBy) {
_createdAt = createdAt;
_createdBy = createdBy;
}
public Date getUpdatedAt() { return _updatedAt; }
public void setUpdatedAt(final Date updatedAt) { _updatedAt = updatedAt; }
public String getUpdatedBy() { return _updatedBy; }
public void setUpdatedBy(final String updatedBy) { _updatedBy = updatedBy; }
public void setUpdated(final Date updatedAt, final String updatedBy) {
_updatedAt = updatedAt;
_updatedBy = updatedBy;
}
//-------------------------------------------------------------------------
public String toString() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
StringBuffer sb = new StringBuffer();
sb.append("<State id='"); sb.append(_id);
sb.append("' name='"); sb.append(_name);
sb.append("' input='"); sb.append(_input);
sb.append("' output='"); sb.append(_output);
sb.append("' service='"); sb.append(_service);
sb.append("' changeFrom='"); sb.append(_changeFrom);
sb.append("' changeTo='"); sb.append(_changeTo);
sb.append("' note='"); sb.append(_note);
sb.append("' createdAt='");
if (_createdAt != null) {
sb.append(df.format(_createdAt));
} else {
sb.append(_createdAt);
}
sb.append("' createdBy='"); sb.append(_createdBy);
sb.append("' updatedAt='");
if (_updatedAt != null) {
sb.append(df.format(_updatedAt));
} else {
sb.append(_updatedAt);
}
sb.append("' updatedBy='"); sb.append(_updatedBy);
sb.append("'>\n");
sb.append(_locked);
sb.append("</State>\n");
return sb.toString();
}
//-------------------------------------------------------------------------
}