001 package com.thaiopensource.validate.nrl;
002
003 abstract class Action {
004 private final ModeUsage modeUsage;
005
006 Action(ModeUsage modeUsage) {
007 this.modeUsage = modeUsage;
008 }
009
010 ModeUsage getModeUsage() {
011 return modeUsage;
012 }
013
014 public boolean equals(Object obj) {
015 return obj != null && obj.getClass() == getClass() && ((Action)obj).modeUsage.equals(modeUsage);
016 }
017
018 public int hashCode() {
019 return getClass().hashCode() ^ modeUsage.hashCode();
020 }
021 }