X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fevent%2FTCommandEvent.java;h=e430dafa6d88b90e166b1e4cacacb38f3f2cfa24;hb=7c870d89433346ccb5505f8f9ba62d3fc18fe996;hp=cdb5e2d6a70140232fa006d9fc59d0ac15588f37;hpb=b299e69c251b7639440bfb914dbbdc51aa689af5;p=fanfix.git diff --git a/src/jexer/event/TCommandEvent.java b/src/jexer/event/TCommandEvent.java index cdb5e2d..e430daf 100644 --- a/src/jexer/event/TCommandEvent.java +++ b/src/jexer/event/TCommandEvent.java @@ -62,6 +62,45 @@ public final class TCommandEvent extends TInputEvent { this.cmd = cmd; } + /** + * Comparison check. All fields must match to return true. + * + * @param rhs another TCommandEvent or TCommand instance + * @return true if all fields are equal + */ + @Override + public boolean equals(final Object rhs) { + if (!(rhs instanceof TCommandEvent) + && !(rhs instanceof TCommand) + ) { + return false; + } + + if (rhs instanceof TCommandEvent) { + TCommandEvent that = (TCommandEvent) rhs; + return (cmd.equals(that.cmd) + && (getTime().equals(that.getTime()))); + } + + TCommand that = (TCommand) rhs; + return (cmd.equals(that)); + } + + /** + * Hashcode uses all fields in equals(). + * + * @return the hash + */ + @Override + public int hashCode() { + int A = 13; + int B = 23; + int hash = A; + hash = (B * hash) + getTime().hashCode(); + hash = (B * hash) + cmd.hashCode(); + return hash; + } + /** * Make human-readable description of this TCommandEvent. *