Index: lams_common/src/java/org/lamsfoundation/lams/tool/ToolAccessMode.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r9257be516626c2a56f6e3f1ada4b3984146a20b1 --- lams_common/src/java/org/lamsfoundation/lams/tool/ToolAccessMode.java (.../ToolAccessMode.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/ToolAccessMode.java (.../ToolAccessMode.java) (revision 9257be516626c2a56f6e3f1ada4b3984146a20b1) @@ -26,6 +26,9 @@ import java.io.ObjectStreamException; import java.io.Serializable; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.builder.HashCodeBuilder; + /** *

ToolAccessMode is implemented using Ordinal-based typesafe enum pattern. * It resolves the performance and potential hard coding error problems of using @@ -84,7 +87,28 @@ { return VALUES[ordinal]; } + + @Override + public boolean equals(Object obj) { + if(!(obj instanceof ToolAccessMode)) + return false; + return StringUtils.equals(((ToolAccessMode)obj).name,this.name); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(name).toHashCode(); + } + public boolean isTeacher(ToolAccessMode mode){ + return TEACHER.equals(mode); + } + public boolean isLearner(ToolAccessMode mode){ + return LEARNER.equals(mode); + } + public boolean isAuthor(ToolAccessMode mode){ + return AUTHOR.equals(mode); + } } \ No newline at end of file