|
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.
|