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 }