Incorporated code review comments from r350
This commit is contained in:
parent
9612bb3601
commit
05f54f3552
|
@ -161,14 +161,13 @@ public final class GsonBuilder {
|
|||
}
|
||||
|
||||
/**
|
||||
* Configures Gson to include or exclude inner classes.
|
||||
*
|
||||
* @param value the boolean value on whether or not {@code Gson} should serialize inner classes
|
||||
* Configures Gson to exclude inner classes during serialization.
|
||||
*
|
||||
* @return a reference to this {@code GsonBuilder} object to fulfill the "Builder" pattern
|
||||
* @since 1.3
|
||||
*/
|
||||
public GsonBuilder serializeInnerClasses(boolean value) {
|
||||
serializeInnerClasses = value;
|
||||
public GsonBuilder disableInnerClassSerialization() {
|
||||
serializeInnerClasses = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,47 +30,58 @@ import junit.framework.TestCase;
|
|||
*/
|
||||
public class FieldExclusionTest extends TestCase {
|
||||
private static final String VALUE = "blah_1234";
|
||||
|
||||
private Outer outer;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
outer = new Outer();
|
||||
}
|
||||
|
||||
public void testDefaultInnerClassExclusion() throws Exception {
|
||||
Gson gson = new Gson();
|
||||
TestInnerClass target = new TestInnerClass(VALUE);
|
||||
Outer.Inner target = outer.new Inner(VALUE);
|
||||
String result = gson.toJson(target);
|
||||
assertEquals(target.toJson(), result);
|
||||
|
||||
gson = new GsonBuilder().create();
|
||||
target = new TestInnerClass(VALUE);
|
||||
target = outer.new Inner(VALUE);
|
||||
result = gson.toJson(target);
|
||||
assertEquals(target.toJson(), result);
|
||||
}
|
||||
|
||||
public void testInnerClassExclusion() throws Exception {
|
||||
Gson gson = new GsonBuilder().serializeInnerClasses(false).create();
|
||||
TestInnerClass target = new TestInnerClass(VALUE);
|
||||
Gson gson = new GsonBuilder().disableInnerClassSerialization().create();
|
||||
Outer.Inner target = outer.new Inner(VALUE);
|
||||
String result = gson.toJson(target);
|
||||
assertEquals("", result);
|
||||
}
|
||||
|
||||
public void testDefaultNestedStaticClassIncluded() throws Exception {
|
||||
Gson gson = new Gson();
|
||||
TestInnerClass target = new TestInnerClass(VALUE);
|
||||
Outer.Inner target = outer.new Inner(VALUE);
|
||||
String result = gson.toJson(target);
|
||||
assertEquals(target.toJson(), result);
|
||||
|
||||
gson = new GsonBuilder().create();
|
||||
target = new TestInnerClass(VALUE);
|
||||
target = outer.new Inner(VALUE);
|
||||
result = gson.toJson(target);
|
||||
assertEquals(target.toJson(), result);
|
||||
}
|
||||
|
||||
private class TestInnerClass extends TestStaticNestedClass {
|
||||
public TestInnerClass(String value) {
|
||||
super(value);
|
||||
private static class Outer {
|
||||
private class Inner extends NestedClass {
|
||||
public Inner(String value) {
|
||||
super(value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class TestStaticNestedClass {
|
||||
private static class NestedClass {
|
||||
private final String value;
|
||||
public TestStaticNestedClass(String value) {
|
||||
public NestedClass(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user