AbstractEntity implements Cloneable,
        IModifiedDateEntity, ICreatedDateEntity { public final String toString() { return String.format("%s [id=%s]", this.getClass().getCanonicalName(), IdUtil.toString(getId())); }  final BigInteger getId(); final void setId(final BigInteger id); final Calendar getCreatedDate(); final void setCreatedDate(final Calendar date); final Calendar getModifiedDate(); final void setModifiedDate(final Calendar date); final boolean equals(final Object o); final int hashCode(); final String toString(); @Override final Object clone();  }
@Test public void testToString() { AbstractEntity a = new TestEntity(); a.setId(IdUtil.next()); AbstractEntity b = new TestEntity(); assertEquals( String.format("net.krotscheck.kangaroo.common.hibernate.entity" + ".TestEntity [id=%s]", IdUtil.toString(a.getId())), a.toString()); assertEquals("net.krotscheck.kangaroo.common" + ".hibernate.entity.TestEntity" + " [id=null]", b.toString()); }