001: /*
002: * Wilos Is a cLever process Orchestration Software - http://www.wilos-project.org
003: * Copyright (C) 2007-2008 Paul Sabatier University, IUP ISI (Toulouse, France) <massie@irit.fr>
004: *
005: * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
006: * General Public License as published by the Free Software Foundation; either version 2 of the License,
007: * or (at your option) any later version.
008: *
009: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
010: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
011: * GNU General Public License for more details.
012: *
013: * You should have received a copy of the GNU General Public License along with this program; if not,
014: * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
015: */
016:
017: package wilos.model.spem2.milestone;
018:
019: import java.util.Set;
020:
021: import org.apache.commons.lang.builder.EqualsBuilder;
022: import org.apache.commons.lang.builder.HashCodeBuilder;
023:
024: import wilos.model.spem2.guide.Guidance;
025: import wilos.model.spem2.workbreakdownelement.WorkBreakdownElement;
026:
027: /**
028: *
029: * TODO
030: */
031: public class Milestone extends WorkBreakdownElement implements
032: Cloneable {
033:
034: // private Set<ConcreteMilestone> concreteMilestones;
035:
036: // private Set<WorkProductUse> outputWorkProductUses;
037:
038: /**
039: * Default constructor.
040: *
041: */
042: public Milestone() {
043: super ();
044: // this.concreteMilestones = new HashSet<ConcreteMilestone>();
045: // this.outputWorkProductUses = new HashSet<WorkProductUse>();
046: }
047:
048: /**
049: * Defines if the specified Object is the same or has the same values as the
050: * current instance of the Milestone.
051: *
052: * @param obj
053: * the Object to be compare to the Milestone
054: * @return true if the specified Object is the same, false otherwise
055: */
056: public boolean equals(Object obj) {
057: if (obj instanceof Milestone == false) {
058: return false;
059: }
060: if (this == obj) {
061: return true;
062: }
063: Milestone milestone = (Milestone) obj;
064: return new EqualsBuilder().appendSuper(super .equals(milestone))
065: .isEquals();
066: }
067:
068: /**
069: * Returns a hash code value for the object. This method is supported for
070: * the benefit of hash tables.
071: *
072: * @return the hash code of the current instance of Milestone
073: */
074: public int hashCode() {
075: return new HashCodeBuilder(17, 37)
076: .appendSuper(super .hashCode()).toHashCode();
077: }
078:
079: /**
080: * Returns a copy of the current instance of Milestone
081: *
082: * @return a copy of the Milestone
083: * @throws CloneNotSupportedException
084: */
085: @Override
086: public Milestone clone() throws CloneNotSupportedException {
087: Milestone milestone = new Milestone();
088: milestone.copy(this );
089: return milestone;
090: }
091:
092: /**
093: * Copy the values of the specified Milestone into the current instance of the
094: * class.
095: *
096: * @param _milestone
097: * The Milestone to copy.
098: */
099: protected void copy(final Milestone _milestone) {
100: super .copy(_milestone);
101: // this.concreteMilestones.addAll(_milestone.getConcreteMilestones());
102: }
103:
104: // /**
105: // * @return the outputWorkProductDescriptors
106: // */
107: // public Set<WorkProductUse> getOutputWorkProductUses() {
108: // return outputWorkProductUses;
109: // }
110: //
111: // /**
112: // * @param _outputWorkProductDescriptors the outputWorkProductDescriptors
113: // to set
114: // */
115: // public void setOutputWorkProductDescriptors(
116: // Set<WorkProductUse> _outputWorkProductUses) {
117: // outputWorkProductUses = _outputWorkProductUses;
118: // }
119: //
120: // public void addOutputWorkProductDescriptor(
121: // WorkProductUse _workproductuse) {
122: // //TODO
123: // }
124: //
125: // public void removeOutputWorkProductDescriptor(
126: // WorkProductDescriptor _workproduct) {
127: // //TODO
128: // }
129: }
|