package pipe.gui; /** * Abstract Datum item for rate and token editng tables */ public class AbstractDatum { /** * Mapping to an initial datum item * This may be null if the Datum was not originally a token in the Petri net * <p> * It will contain a value if the data is a modified datum * and it maps directly to some initial datum * </p> */ public AbstractDatum initial = null; /** * Datum id */ public String id; /** * Constructor * @param id of the datum */ AbstractDatum(String id) { this.id = id; } /** * Constructor * @param initial value * @param id of the datum */ AbstractDatum(AbstractDatum initial, String id) { this.id = id; this.initial = initial; } /** * * @return true if the id has been changed */ public final boolean hasBeenSet() { return !this.id.equals(""); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof AbstractDatum)) { return false; } AbstractDatum that = (AbstractDatum) o; if (!id.equals(that.id)) { return false; } return true; } @Override public int hashCode() { return id.hashCode(); } }