MultiSelectColumnDescriptor implements ColumnDescriptor { @Override public int hashCode() { if (table == null) { return 1; } else { return table.hashCode(); } } MultiSelectColumnDescriptor(); @Override void renderValue(final StringOutput sb, final int row, final Renderer renderer); @Override int compareTo(final int rowa, final int rowb); @Override boolean equals(final Object object); @Override int hashCode(); @Override String getHeaderKey(); @Override boolean translateHeaderKey(); @Override int getAlignment(); @Override String getAction(final int row); @Override HrefGenerator getHrefGenerator(); @Override String getPopUpWindowAttributes(); @Override boolean isPopUpWindowAction(); @Override boolean isSortingAllowed(); @Override void modelChanged(); @Override void otherColumnDescriptorSorted(); @Override void setHrefGenerator(final HrefGenerator h); @Override void setTable(final Table table); @Override void sortingAboutToStart(); @Override String toString(final int rowid);  }
@Test public void testHashCodeContract() { assertTrue("Wrong hashCode implementation, same objects have NOT same hash-code ", one.hashCode() == sameRefAsOne.hashCode()); assertFalse("Wrong hashCode implementation, different objects have same hash-code", one.hashCode() == two.hashCode()); assertTrue("Wrong hashCode implementation, same objects have NOT same hash-code ", one.hashCode() == sameAsOne.hashCode()); }