001: /*
002: * Designation.java
003: *
004: * Copyright (C) 2005 Anupam Sengupta (anupamsg@users.sourceforge.net)
005: *
006: * This program is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU General Public License
008: * as published by the Free Software Foundation; either version 2
009: * of the License, or (at your option) any later version.
010: *
011: * This program is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: * GNU General Public License for more details.
015: *
016: * You should have received a copy of the GNU General Public License
017: * along with this program; if not, write to the Free Software
018: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
019: *
020: * Version: $Revision: 1.2 $
021: */
022: package test.net.sf.anupam.csv.beans;
023:
024: import org.apache.commons.lang.builder.CompareToBuilder;
025: import org.apache.commons.lang.builder.EqualsBuilder;
026: import org.apache.commons.lang.builder.HashCodeBuilder;
027: import org.apache.commons.lang.builder.ToStringBuilder;
028:
029: /**
030: * Sample bean to represent an employee designation.
031: *
032: * @author Anupam Sengupta
033: * @version $Revision: 1.2 $
034: * @csv.bean-mapping bean-name="designationBean" csv-header="true"
035: */
036: public class Designation implements Comparable<Designation> {
037:
038: /**
039: * The designation.
040: */
041: private String designation;
042:
043: /**
044: * Constructor for Designation.
045: */
046: public Designation() {
047: super ();
048: }
049:
050: /**
051: * Compares this designation to another designation.
052: *
053: * @param other the other designation to compare against
054: * @return <code>0</code> if the two designations are equal, <code>-1</code> if this
055: * designation ranks lower, <code>+1</code> if this designation ranks higher
056: * @see Comparable#compareTo(Object)
057: */
058: public int compareTo(final Designation other) {
059:
060: return new CompareToBuilder().append(designation,
061: other.designation).toComparison();
062: }
063:
064: /**
065: * Returns the string representation of this designation for <strong>debugging</strong>
066: * purposes only.
067: *
068: * @return the string representation
069: * @see Object#toString()
070: */
071: @Override
072: public String toString() {
073: return new ToStringBuilder(this ).append("designation",
074: designation).toString();
075: }
076:
077: /**
078: * Returns the hash code for this designation. The hash code is based on the designation string.
079: *
080: * @return the hash code for this designation
081: * @see Object#hashCode()
082: */
083: @Override
084: public int hashCode() {
085: return new HashCodeBuilder().append(designation).toHashCode();
086: }
087:
088: /**
089: * Compares this designation with another for equality. The equality is based on the
090: * designation string.
091: *
092: * @param other the other designation to compare against
093: * @return <code>true</code> if the designations are equal, <code>false</code> otherwise
094: * @see Object#equals(Object)
095: */
096: @Override
097: public boolean equals(final Object other) {
098: if (this == other) {
099: return true;
100: }
101:
102: if (!(other instanceof Designation)) {
103: return false;
104: }
105: final Designation castOther = (Designation) other;
106: return new EqualsBuilder().append(designation,
107: castOther.designation).isEquals();
108: }
109:
110: /**
111: * Returns value of the designation.
112: *
113: * @return Returns the designation.
114: * @csv.field-mapping position="4"
115: */
116: public String getDesignation() {
117: return this .designation;
118: }
119:
120: /**
121: * Sets value of the designation.
122: *
123: * @param designation The designation to set.
124: */
125: public void setDesignation(final String designation) {
126: this.designation = designation;
127: }
128:
129: }
|