001 package org.maltparser.parser.history.kbest;
002
003
004 /**
005 * A candidate in the k-best list.
006 *
007 * @author Johan Hall
008 */
009 public class Candidate {
010 /**
011 * The integer representation of the predicted action
012 */
013 protected int actionCode;
014
015 /**
016 * Constructs a candidate object
017 */
018 public Candidate() {
019 reset();
020 }
021
022 /**
023 * Returns an integer representation of the predicted action
024 *
025 * @return an integer representation of the predicted action
026 */
027 public int getActionCode() {
028 return actionCode;
029 }
030
031 /**
032 * Sets the integer representation of the predicted action
033 *
034 * @param actionCode an integer representation of the predicted action
035 */
036 public void setActionCode(int actionCode) {
037 this.actionCode = actionCode;
038 }
039
040 /**
041 * Resets the candidate object
042 */
043 public void reset() {
044 this.actionCode = -1;
045 }
046
047 @Override
048 public int hashCode() {
049 return 31 + actionCode;
050 }
051
052 @Override
053 public boolean equals(Object obj) {
054 if (this == obj)
055 return true;
056 if (obj == null)
057 return false;
058 if (getClass() != obj.getClass())
059 return false;
060 return actionCode == ((Candidate)obj).actionCode;
061 }
062
063 /* (non-Javadoc)
064 * @see java.lang.Object#toString()
065 */
066 public String toString() {
067 return Integer.toString(actionCode);
068 }
069 }
070