ggregory 2003/10/23 15:26:00
Modified: lang/src/test/org/apache/commons/lang/builder
ToStringBuilderTest.java
Log:
Add support for static field output.
Main points:
(1)
Deprecate in ReflectionToStringBuilder:
public static String toString(Object object, ToStringStyle style, boolean
outputTransients, boolean outputStatics)
In favor of:
public static String toString(Object object, ToStringStyle style, boolean
outputTransients, boolean outputStatics, Class reflectUpToClass)
(2) New convenience methods ReflectionToStringBuilder.toStringWithStatics.
Revision Changes Path
1.11 +85 -1
jakarta-commons/lang/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java
Index: ToStringBuilderTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ToStringBuilderTest.java 18 Aug 2003 02:22:26 -0000 1.10
+++ ToStringBuilderTest.java 23 Oct 2003 22:26:00 -0000 1.11
@@ -840,4 +840,88 @@
assertEquals(baseStr + "[<null>]", new
ToStringBuilder(base).append((Object) array).toString());
}
+ public void testSimpleReflectionStatics() {
+ SimpleReflectionStaticFieldsFixture instance1 = new
SimpleReflectionStaticFieldsFixture();
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toString(instance1, null, false, true,
SimpleReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toString(instance1, null, true, true,
SimpleReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1, null,
SimpleReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1,
SimpleReflectionStaticFieldsFixture.class));
+ }
+
+ /**
+ * Tests ReflectionToStringBuilder.toString() for statics.
+ */
+ public void testReflectionStatics() {
+ ReflectionStaticFieldsFixture instance1 = new
ReflectionStaticFieldsFixture();
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345,instanceString=instanceString,instanceInt=67890]",
+ ReflectionToStringBuilder.toString(instance1, null, false, true,
ReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345,staticTransientString=staticTransientString,staticTransientInt=54321,instanceString=instanceString,instanceInt=67890,transientString=transientString,transientInt=98765]",
+ ReflectionToStringBuilder.toString(instance1, null, true, true,
ReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345,instanceString=instanceString,instanceInt=67890]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1, null,
ReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString=staticString,staticInt=12345,instanceString=instanceString,instanceInt=67890]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1,
ReflectionStaticFieldsFixture.class));
+ }
+
+ /**
+ * Tests ReflectionToStringBuilder.toString() for statics.
+ */
+ public void testInheritedReflectionStatics() {
+ InheritedReflectionStaticFieldsFixture instance1 = new
InheritedReflectionStaticFieldsFixture();
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString2=staticString2,staticInt2=67890]",
+ ReflectionToStringBuilder.toString(instance1, null, false, true,
InheritedReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString2=staticString2,staticInt2=67890,staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toString(instance1, null, false, true,
SimpleReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString2=staticString2,staticInt2=67890,staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1, null,
SimpleReflectionStaticFieldsFixture.class));
+ assertEquals(
+ this.toBaseString(instance1) +
"[staticString2=staticString2,staticInt2=67890,staticString=staticString,staticInt=12345]",
+ ReflectionToStringBuilder.toStringWithStatics(instance1,
SimpleReflectionStaticFieldsFixture.class));
+ }
+
+ /**
+ * Tests ReflectionToStringBuilder.toString() for statics.
+ */
+ class ReflectionStaticFieldsFixture {
+ static final String staticString = "staticString";
+ static final int staticInt = 12345;
+ static final transient String staticTransientString =
"staticTransientString";
+ static final transient int staticTransientInt = 54321;
+ String instanceString = "instanceString";
+ int instanceInt = 67890;
+ transient String transientString = "transientString";
+ transient int transientInt = 98765;
+ }
+
+ /**
+ * Test fixture for ReflectionToStringBuilder.toString() for statics.
+ */
+ class SimpleReflectionStaticFieldsFixture {
+ static final String staticString = "staticString";
+ static final int staticInt = 12345;
+ }
+
+ /**
+ * Test fixture for ReflectionToStringBuilder.toString() for statics.
+ */
+ class InheritedReflectionStaticFieldsFixture extends
SimpleReflectionStaticFieldsFixture {
+ static final String staticString2 = "staticString2";
+ static final int staticInt2 = 67890;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]