GrammarTerminalSymbol.java
package progen.kernel.grammar;
import java.io.Serializable;
import progen.kernel.functions.Function;
/**
* Implements the Terminal Symbols
*
* @author jirsis
*
*/
public class GrammarTerminalSymbol implements GrammarSymbol, Serializable {
private static final long serialVersionUID = 3985246114734927067L;
private Function function;
public GrammarTerminalSymbol(Function function) {
this.function = function;
}
public Function getFunction() {
return function;
}
@Override
public String toString() {
return function.toString();
}
public int compareTo(GrammarTerminalSymbol symbol) {
return function.compareTo(symbol.getFunction());
}
public int compareTo(GrammarSymbol other) {
return compareTo((GrammarTerminalSymbol) other);
}
@Override
public boolean equals(Object other) {
boolean equals = false;
if (other instanceof GrammarTerminalSymbol) {
equals = this.compareTo((GrammarTerminalSymbol)other) == 0;
}
return equals;
}
public int hashCode() {
return function.hashCode();
}
public String getSymbol() {
return function.getSymbol();
}
public Object getValue() {
return null;
}
}