From: <iro...@us...> - 2008-12-02 18:08:49
|
Revision: 73 http://pojomatic.svn.sourceforge.net/pojomatic/?rev=73&view=rev Author: iroberts Date: 2008-12-02 18:08:46 +0000 (Tue, 02 Dec 2008) Log Message: ----------- Add a EQUALS_TO_STRING policy option Modified Paths: -------------- trunk/Pojomatic/src/main/java/org/pojomatic/annotations/DefaultPojomaticPolicy.java trunk/Pojomatic/src/main/java/org/pojomatic/annotations/PojomaticPolicy.java trunk/Pojomatic/src/test/java/org/pojomatic/internal/ClassPropertiesTest.java Modified: trunk/Pojomatic/src/main/java/org/pojomatic/annotations/DefaultPojomaticPolicy.java =================================================================== --- trunk/Pojomatic/src/main/java/org/pojomatic/annotations/DefaultPojomaticPolicy.java 2008-12-01 21:02:19 UTC (rev 72) +++ trunk/Pojomatic/src/main/java/org/pojomatic/annotations/DefaultPojomaticPolicy.java 2008-12-02 18:08:46 UTC (rev 73) @@ -34,6 +34,14 @@ EQUALS(PropertyRole.EQUALS), /** + * Use all properties for both {@code equals} and {@code toString} by default. + * + * @see Object#equals(Object) + * @see Object#toString() + */ + EQUALS_TO_STRING(PropertyRole.EQUALS, PropertyRole.TO_STRING), + + /** * Use all properties for both {@code toString} only by default. * * @see Object#toString() Modified: trunk/Pojomatic/src/main/java/org/pojomatic/annotations/PojomaticPolicy.java =================================================================== --- trunk/Pojomatic/src/main/java/org/pojomatic/annotations/PojomaticPolicy.java 2008-12-01 21:02:19 UTC (rev 72) +++ trunk/Pojomatic/src/main/java/org/pojomatic/annotations/PojomaticPolicy.java 2008-12-02 18:08:46 UTC (rev 73) @@ -27,6 +27,15 @@ HASHCODE_EQUALS(PropertyRole.HASH_CODE, PropertyRole.EQUALS), /** + * Use the property for both {@code equals} and {@code toString}. + * + * @see Object#equals(Object) + * @see Object#toString() + */ + EQUALS_TO_STRING(PropertyRole.EQUALS, PropertyRole.TO_STRING), + + + /** * Use the property for {@code equals} only. * * @see Object#equals(Object) Modified: trunk/Pojomatic/src/test/java/org/pojomatic/internal/ClassPropertiesTest.java =================================================================== --- trunk/Pojomatic/src/test/java/org/pojomatic/internal/ClassPropertiesTest.java 2008-12-01 21:02:19 UTC (rev 72) +++ trunk/Pojomatic/src/test/java/org/pojomatic/internal/ClassPropertiesTest.java 2008-12-02 18:08:46 UTC (rev 73) @@ -18,20 +18,24 @@ public class ClassPropertiesTest { - @Test public void testAnnotatedFields() throws Exception { final PropertyElement privateStringField = TestUtils.field(FieldPojo.class, "privateString"); final PropertyElement publicIntField = TestUtils.field(FieldPojo.class, "publicInt"); final PropertyElement onlyForStringField = TestUtils.field(FieldPojo.class, "onlyForToString"); + final PropertyElement forEqualsAndToString = + TestUtils.field(FieldPojo.class, "forEqualsAndToString"); ClassProperties classProperties = ClassProperties.createInstance(FieldPojo.class); - Set<PropertyElement> expected = asSet(privateStringField, publicIntField); - assertEquals(expected, asSet(classProperties.getEqualsProperties())); - assertEquals(expected, asSet(classProperties.getHashCodeProperties())); assertEquals( - asSet(privateStringField, publicIntField, onlyForStringField), + asSet(privateStringField, publicIntField, forEqualsAndToString), + asSet(classProperties.getEqualsProperties())); + assertEquals( + asSet(privateStringField, publicIntField), + asSet(classProperties.getHashCodeProperties())); + assertEquals( + asSet(privateStringField, publicIntField, onlyForStringField, forEqualsAndToString), asSet(classProperties.getToStringProperties())); } @@ -177,6 +181,10 @@ @SuppressWarnings("unused") @Property(policy=PojomaticPolicy.TO_STRING) private int onlyForToString; + + @SuppressWarnings("unused") + @Property(policy=PojomaticPolicy.EQUALS_TO_STRING) + private int forEqualsAndToString; } @AutoProperty(policy=DefaultPojomaticPolicy.TO_STRING) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |