You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/11/09 00:41:08 UTC

[2/3] juneau git commit: Add convenience create() methods to serializers and parsers.

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
index f1c094d..05759f8 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
@@ -593,79 +593,79 @@ public class UriResolutionTest {
 
 	@Test
 	public void a1_testJsonSerialize() throws Exception {
-		Serializer s = new JsonSerializerBuilder().simple().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = JsonSerializer.create().simple().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.json);
 	}
 
 	@Test
 	public void a2_testJsonParse() throws Exception {
-		Serializer s = new JsonSerializerBuilder().simple().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = JsonSerializer.create().simple().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, JsonParser.DEFAULT);
 	}
 
 	@Test
 	public void b1_testXmlSerialize() throws Exception {
-		Serializer s = new XmlSerializerBuilder().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = XmlSerializer.create().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.xml);
 	}
 
 	@Test
 	public void b2_testXmlParse() throws Exception {
-		Serializer s = new XmlSerializerBuilder().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = XmlSerializer.create().sq().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, XmlParser.DEFAULT);
 	}
 
 	@Test
 	public void c1_testHtmlSerialize() throws Exception {
-		Serializer s = new HtmlSerializerBuilder().sq().lookForLabelParameters(true).uriAnchorText(AnchorText.LAST_TOKEN).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = HtmlSerializer.create().sq().lookForLabelParameters(true).uriAnchorText(AnchorText.LAST_TOKEN).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.html);
 	}
 
 	@Test
 	public void c2_testHtmlParse() throws Exception {
-		Serializer s = new HtmlSerializerBuilder().sq().lookForLabelParameters(true).uriAnchorText(AnchorText.LAST_TOKEN).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = HtmlSerializer.create().sq().lookForLabelParameters(true).uriAnchorText(AnchorText.LAST_TOKEN).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, HtmlParser.DEFAULT);
 	}
 
 	@Test
 	public void d1_testUonSerialize() throws Exception {
-		Serializer s = new UonSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = UonSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.uon);
 	}
 
 	@Test
 	public void d2_testUonParse() throws Exception {
-		Serializer s = new UonSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = UonSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, UonParser.DEFAULT);
 	}
 
 	@Test
 	public void e1_testUrlEncodingSerialize() throws Exception {
-		Serializer s = new UrlEncodingSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = UrlEncodingSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.urlEncoding);
 	}
 
 	@Test
 	public void e2_testUrlEncodingParse() throws Exception {
-		Serializer s = new UrlEncodingSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = UrlEncodingSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, UrlEncodingParser.DEFAULT);
 	}
 
 	@Test
 	public void f1_testMsgPackSerialize() throws Exception {
-		Serializer s = new MsgPackSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = MsgPackSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.msgPack);
 	}
 
 	@Test
 	public void f2_testMsgPackParse() throws Exception {
-		Serializer s = new MsgPackSerializerBuilder().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = MsgPackSerializer.create().uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testParse(s, MsgPackParser.DEFAULT);
 	}
 
 	@Test
 	public void g1_testRdfXmlSerialize() throws Exception {
-		Serializer s = new RdfSerializerBuilder().language(Constants.LANG_RDF_XML_ABBREV).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
+		Serializer s = RdfSerializer.create().language(Constants.LANG_RDF_XML_ABBREV).uriContext(input.context).uriResolution(input.resolution).uriRelativity(input.relativity).build();
 		testSerialize(s, results.rdfXml);
 	}
 }

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
index e29a286..6be4e10 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
@@ -52,7 +52,7 @@ public class CalendarSwapTest {
 	}
 
 	private RdfSerializer getRdfSerializer() {
-		return new RdfSerializerBuilder()
+		return RdfSerializer.create()
 			.sq()
 			.useWhitespace(false)
 			.property(RdfCommon.RDF_rdfxml_allowBadUris, true)
@@ -186,7 +186,7 @@ public class CalendarSwapTest {
 	//====================================================================================================
 	@Test
 	public void testBeanProperyFilterHtml() throws Exception {
-		WriterSerializer s = new HtmlSerializerBuilder().sq().addKeyValueTableHeaders(true).build();
+		WriterSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).build();
 		ReaderParser p = HtmlParser.DEFAULT;
 
 		Calendar c = testDate;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
index f05c5ae..1293c7d 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
@@ -37,11 +37,11 @@ public class DateSwapTest {
 	public void testBeanWithDate() throws Exception {
 		A testBeanA = new A().init();
 
-		final String jsonData = new JsonSerializerBuilder()
+		final String jsonData = JsonSerializer.create()
 			.pojoSwaps(DateSwap.ISO8601DT.class)
 			.build()
 			.serialize(testBeanA);
-		final ObjectMap data = new JsonParserBuilder()
+		final ObjectMap data = JsonParser.create()
 			.pojoSwaps(DateSwap.ISO8601DT.class)
 			.build()
 			.parse(jsonData, ObjectMap.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
index 207c5f1..ad6fa09 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
@@ -28,7 +28,7 @@ public class EnumerationSwapTest {
 	//====================================================================================================
 	@Test
 	public void test() throws Exception {
-		WriterSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(EnumerationSwap.class).build();
+		WriterSerializer s = JsonSerializer.create().simple().pojoSwaps(EnumerationSwap.class).build();
 		Vector<String> v = new Vector<String>(Arrays.asList(new String[]{"foo","bar","baz"}));
 		Enumeration<String> e = v.elements();
 		assertEquals("['foo','bar','baz']", s.serialize(e));

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
index 68db0b6..b86781e 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
@@ -28,7 +28,7 @@ public class IteratorSwapTest {
 	//====================================================================================================
 	@Test
 	public void test() throws Exception {
-		WriterSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(IteratorSwap.class).build();
+		WriterSerializer s = JsonSerializer.create().simple().pojoSwaps(IteratorSwap.class).build();
 
 		// Iterators
 		List<String> l = new ArrayList<String>(Arrays.asList(new String[]{"foo","bar","baz"}));

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
index df9b756..646a0c1 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
@@ -66,7 +66,7 @@ public class PojoSwapTest {
 	@Test
 	public void doTest() throws Exception {
 		
-		SerializerGroup g = new SerializerGroupBuilder()
+		SerializerGroup g = SerializerGroup.create()
 			.append(JsonSerializer.class, XmlSerializer.class, HtmlSerializer.class)
 			.sq()
 			.pojoSwaps(MyJsonSwap.class, MyXmlSwap.class, MyOtherSwap.class)

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
index 3e0999d..046f863 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
@@ -28,7 +28,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void test() throws Exception {
-		JsonSerializerBuilder s = new JsonSerializerBuilder().simple().pojoSwaps(ReaderSwap.Json.class);
+		JsonSerializerBuilder s = JsonSerializer.create().simple().pojoSwaps(ReaderSwap.Json.class);
 
 		Reader r;
 		Map<String,Object> m;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
index fd869ab..a677b24 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
@@ -25,7 +25,7 @@ import org.junit.*;
 @SuppressWarnings({"rawtypes","serial","javadoc"})
 public class CommonParser_UonTest {
 
-	ReaderParser p = new UonParserBuilder().beanDictionary(A1.class).build();
+	ReaderParser p = UonParser.create().beanDictionary(A1.class).build();
 	ReaderParser pe = UonParser.DEFAULT_DECODING;
 
 	//====================================================================================================
@@ -70,7 +70,7 @@ public class CommonParser_UonTest {
 		tl.add(new A3("name1","value1"));
 		b.list = tl;
 
-		in = new UonSerializerBuilder().addBeanTypeProperties(true).build().serialize(b);
+		in = UonSerializer.create().addBeanTypeProperties(true).build().serialize(b);
 		b = (A1)p.parse(in, Object.class);
 		assertEquals("value1", b.list.get(1).value);
 
@@ -101,7 +101,7 @@ public class CommonParser_UonTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = new UonParserBuilder().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = UonParser.create().ignoreUnknownBeanProperties(true).build();
 		B t;
 
 		String in =  "(a=1,unknown=3,b=2)";
@@ -150,7 +150,7 @@ public class CommonParser_UonTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		UonParser p = new UonParserBuilder().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		UonParser p = UonParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
 
 		String in = "(a=1,unknownProperty=foo,b=2)";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
index e3ba9c4..8e94198 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
@@ -27,7 +27,7 @@ import org.junit.*;
 @SuppressWarnings({"rawtypes","serial","javadoc"})
 public class CommonParser_UrlEncodingTest {
 
-	ReaderParser p = new UrlEncodingParserBuilder().beanDictionary(A1.class).build();
+	ReaderParser p = UrlEncodingParser.create().beanDictionary(A1.class).build();
 
 	//====================================================================================================
 	// testFromSerializer
@@ -72,7 +72,7 @@ public class CommonParser_UrlEncodingTest {
 		tl.add(new A3("name1","value1"));
 		b.list = tl;
 
-		in = new UrlEncodingSerializerBuilder().addBeanTypeProperties(true).build().serialize(b);
+		in = UrlEncodingSerializer.create().addBeanTypeProperties(true).build().serialize(b);
 		b = (A1)p.parse(in, Object.class);
 		assertEquals("value1", b.list.get(1).value);
 
@@ -103,7 +103,7 @@ public class CommonParser_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = new UrlEncodingParserBuilder().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties(true).build();
 		B t;
 
 		String in =  "a=1&unknown=3&b=2";
@@ -152,7 +152,7 @@ public class CommonParser_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		UonParser p = new UrlEncodingParserBuilder().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		UonParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
 
 		String in = "a=1&unknownProperty=foo&b=2";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
index 3bc6fa4..47162e8 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
@@ -35,7 +35,7 @@ public class Common_UonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimNullsFromBeans() throws Exception {
-		UonSerializerBuilder s = new UonSerializerBuilder().encoding();
+		UonSerializerBuilder s = UonSerializer.create().encoding();
 		A t1 = A.create(), t2;
 
 		s.trimNullProperties(false);
@@ -66,7 +66,7 @@ public class Common_UonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyMaps() throws Exception {
-		UonSerializerBuilder s = new UonSerializerBuilder().encoding();
+		UonSerializerBuilder s = UonSerializer.create().encoding();
 		B t1 = B.create(), t2;
 		String r;
 
@@ -99,7 +99,7 @@ public class Common_UonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyLists() throws Exception {
-		UonSerializerBuilder s = new UonSerializerBuilder().encoding();
+		UonSerializerBuilder s = UonSerializer.create().encoding();
 		C t1 = C.create(), t2;
 		String r;
 
@@ -132,7 +132,7 @@ public class Common_UonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyArrays() throws Exception {
-		UonSerializerBuilder s = new UonSerializerBuilder().encoding();
+		UonSerializerBuilder s = UonSerializer.create().encoding();
 		D t1 = D.create(), t2;
 		String r;
 
@@ -234,7 +234,7 @@ public class Common_UonTest {
 	//====================================================================================================
 	@Test
 	public void testRecursion() throws Exception {
-		UonSerializerBuilder s = new UonSerializerBuilder();
+		UonSerializerBuilder s = UonSerializer.create();
 
 		R1 r1 = new R1();
 		R2 r2 = new R2();

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
index e4f2d1b..317920d 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
@@ -33,7 +33,7 @@ public class Common_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testTrimNullsFromBeans() throws Exception {
-		UrlEncodingSerializerBuilder s = new UrlEncodingSerializerBuilder();
+		UrlEncodingSerializerBuilder s = UrlEncodingSerializer.create();
 		A t1 = A.create(), t2;
 
 		s.trimNullProperties(false);
@@ -64,7 +64,7 @@ public class Common_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyMaps() throws Exception {
-		UrlEncodingSerializerBuilder s = new UrlEncodingSerializerBuilder();
+		UrlEncodingSerializerBuilder s = UrlEncodingSerializer.create();
 		B t1 = B.create(), t2;
 		String r;
 
@@ -97,7 +97,7 @@ public class Common_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyLists() throws Exception {
-		UrlEncodingSerializerBuilder s = new UrlEncodingSerializerBuilder();
+		UrlEncodingSerializerBuilder s = UrlEncodingSerializer.create();
 		C t1 = C.create(), t2;
 		String r;
 
@@ -130,7 +130,7 @@ public class Common_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyArrays() throws Exception {
-		UrlEncodingSerializerBuilder s = new UrlEncodingSerializerBuilder();
+		UrlEncodingSerializerBuilder s = UrlEncodingSerializer.create();
 		D t1 = D.create(), t2;
 		String r;
 
@@ -235,7 +235,7 @@ public class Common_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testRecursion() throws Exception {
-		UrlEncodingSerializerBuilder s = new UrlEncodingSerializerBuilder();
+		UrlEncodingSerializerBuilder s = UrlEncodingSerializer.create();
 
 		R1 r1 = new R1();
 		R2 r2 = new R2();

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java
index 141ea07..6460011 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java
@@ -845,7 +845,7 @@ public class UrlEncodingParserTest {
 		UrlEncodingParser p;
 		String in;
 
-		p = new UrlEncodingParserBuilder().expandedParams(true).build();
+		p = UrlEncodingParser.create().expandedParams(true).build();
 		in = ""
 			+ "f01=a&f01=b"
 			+ "&f02=c&f02=d"

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
index 8f1ed5a..4611082 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
@@ -346,7 +346,7 @@ public class UrlEncodingSerializerTest {
 			+ "&f20=@(@((a=a,b=1,c=true)),@((a=a,b=1,c=true)))";
 		assertEquals(e, r);
 
-		s = new UrlEncodingSerializerBuilder().expandedParams(true).build();
+		s = UrlEncodingSerializer.create().expandedParams(true).build();
 		r = s.serialize(t);
 		e = ""
 			+ "f01=a&f01=b"
@@ -407,7 +407,7 @@ public class UrlEncodingSerializerTest {
 			+ "&f20=@((a=a,b=1,c=true))&f20=@((a=a,b=1,c=true))";
 		assertEquals(e, r);
 
-		s = new UrlEncodingSerializerBuilder().expandedParams(true).build();
+		s = UrlEncodingSerializer.create().expandedParams(true).build();
 		r = s.serialize(t);
 		e = ""
 			+ "f01=a&f01=b"

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
index bb8e11b..3cd3d2e 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
@@ -75,7 +75,7 @@ public class PojoQueryTest {
 	@Test
 	public void testFilterCollectionDateSearchOneLevel() throws Exception {
 		BeanSession session = BeanContext.DEFAULT.createSession();
-		WriterSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(CalendarSwap.DateTimeSimple.class).build();
+		WriterSerializer s = JsonSerializer.create().simple().pojoSwaps(CalendarSwap.DateTimeSimple.class).build();
 		B[] in;
 		PojoQuery q;
 		SearchArgs sa;
@@ -360,7 +360,7 @@ public class PojoQueryTest {
 	@Test
 	public void testSorting() throws Exception {
 		BeanSession session = BeanContext.DEFAULT.createSession();
-		WriterSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(CalendarSwap.DateTimeSimple.class).build();
+		WriterSerializer s = JsonSerializer.create().simple().pojoSwaps(CalendarSwap.DateTimeSimple.class).build();
 		SearchArgs sa;
 		List results;
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoRestTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoRestTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoRestTest.java
index edb6403..a53c9bd 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoRestTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoRestTest.java
@@ -71,7 +71,7 @@ public class PojoRestTest {
 		model.put("/person1", p);
 
 		// Make sure it got stored correctly.
-		JsonSerializer serializer = new JsonSerializerBuilder().simple().addBeanTypeProperties(false).build();
+		JsonSerializer serializer = JsonSerializer.create().simple().addBeanTypeProperties(false).build();
 		assertEquals("{person1:{name:'some name',age:123,addresses:[{street:'street A',city:'city A',state:'state A',zip:12345,isCurrent:true},{street:'street B',city:'city B',state:'state B',zip:12345,isCurrent:false}]}}", serializer.serialize(model.getRootObject()));
 
 		// Get the original Person object back.
@@ -94,7 +94,7 @@ public class PojoRestTest {
 		assertEquals(expectedValue, s);
 
 		// Parse it back to Java objects.
-		p = (Person)new JsonParserBuilder().beanDictionary(Person.class).build().parse(s, Object.class);
+		p = (Person)JsonParser.create().beanDictionary(Person.class).build().parse(s, Object.class);
 		expectedValue = "city B";
 		s = p.addresses[1].city;
 		assertEquals(expectedValue, s);
@@ -115,7 +115,7 @@ public class PojoRestTest {
 		model.put("addresses/0", new Address("street D", "city D", "state D", 12345, false));
 		model.put("addresses/1", new Address("street E", "city E", "state E", 12345, false));
 		model.put("addresses/2", new Address("street F", "city F", "state F", 12345, false));
-		serializer = new JsonSerializerBuilder().simple().addBeanTypeProperties(false).build();
+		serializer = JsonSerializer.create().simple().addBeanTypeProperties(false).build();
 		s = serializer.serialize(p);
 		expectedValue = "{name:'some name',age:123,addresses:[{street:'street D',city:'city D',state:'state D',zip:12345,isCurrent:false},{street:'street E',city:'city E',state:'state E',zip:12345,isCurrent:false},{street:'street F',city:'city F',state:'state F',zip:12345,isCurrent:false}]}";
 		assertEquals(expectedValue, s);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/StringUtilsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
index 7143b97..5b37c1c 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
@@ -638,7 +638,7 @@ public class StringUtilsTest {
 	//====================================================================================================
 	@Test
 	public void testParseISO8601Date() throws Exception {
-		WriterSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(DateSwap.ISO8601DTPZ.class).timeZone(TimeZone.getTimeZone("GMT")).build();
+		WriterSerializer s = JsonSerializer.create().simple().pojoSwaps(DateSwap.ISO8601DTPZ.class).timeZone(TimeZone.getTimeZone("GMT")).build();
 
 		assertNull(parseISO8601Date(null));
 		assertNull(parseISO8601Date(""));

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
index a01dd3f..a9c838f 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
@@ -103,7 +103,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = new XmlParserBuilder().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = XmlParser.create().ignoreUnknownBeanProperties(true).build();
 		B t;
 
 		String in =  "<object><a>1</a><unknown>foo</unknown><b>2</b></object>";
@@ -158,7 +158,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		XmlParser p = new XmlParserBuilder().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		XmlParser p = XmlParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
 
 		String in = "<object><a _type='number'>1</a><unknownProperty _type='string'>foo</unknownProperty><b _type='number'>2</b></object>";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
index 3e8563f..0081998 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
@@ -35,7 +35,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimNullsFromBeans() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		A t1 = A.create(), t2;
 
@@ -67,7 +67,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyMaps() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		B t1 = B.create(), t2;
 		String r;
@@ -101,7 +101,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyLists() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		C t1 = C.create(), t2;
 		String r;
@@ -135,7 +135,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyArrays() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		D t1 = D.create(), t2;
 		String r;
@@ -251,7 +251,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testRecursion() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().enableNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().enableNamespaces(false);
 
 		R1 r1 = new R1();
 		R2 r2 = new R2();

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonXmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
index 031a879..5fd315c 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
@@ -61,7 +61,7 @@ public class CommonXmlTest {
 	//====================================================================================================
 	@Test
 	public void testBeanUriAnnotationOnlyUriProperty() throws Exception {
-		XmlSerializer s = new XmlSerializerBuilder().sq().addNamespaceUrisToRoot(false).build();
+		XmlSerializer s = XmlSerializer.create().sq().addNamespaceUrisToRoot(false).build();
 
 		B t = new B("http://foo");
 		String xml = s.serialize(t);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
index c6210d6..7f832db 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
@@ -35,7 +35,7 @@ public class XmlContentTest {
 	public void testContentFormat() throws Exception {
 		A t = A.newInstance(), t2;
 		XmlSerializer s1 = XmlSerializer.DEFAULT_SQ,
-			s2 = new XmlSerializerBuilder().sq().ws().enableNamespaces(false).build();
+			s2 = XmlSerializer.create().sq().ws().enableNamespaces(false).build();
 		XmlParser p = XmlParser.DEFAULT;
 		WriterSerializerSession session;
 		String r;
@@ -143,7 +143,7 @@ public class XmlContentTest {
 	public void testXmlMixed() throws Exception {
 		B t = B.newInstance(), t2;
 		XmlSerializer s1 = XmlSerializer.DEFAULT_SQ,
-			s2 = new XmlSerializerBuilder().sq().ws().enableNamespaces(false).build();
+			s2 = XmlSerializer.create().sq().ws().enableNamespaces(false).build();
 		XmlParser p = XmlParser.DEFAULT;
 		WriterSerializerSession session;
 		String r;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
index 9e1f571..51ddcab 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
@@ -82,7 +82,7 @@ public class XmlParserTest {
 	public void testPreserveRootElement() throws Exception {
 		String xml;
 		ObjectMap m;
-		ReaderParser p = new XmlParserBuilder().preserveRootElement(true).build();
+		ReaderParser p = XmlParser.create().preserveRootElement(true).build();
 
 		xml = "<A><B><C>c</C></B></A>";
 		m = p.parse(xml, ObjectMap.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
index ffcca5a..43aacdd 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -78,11 +78,11 @@ public class XmlTest {
 			+"</object>\n";
 
 		ObjectMap m = (ObjectMap) XmlParser.DEFAULT.parse(xml1, Object.class);
-		String json2 = new JsonSerializerBuilder().simple().ws().quoteChar('"').trimNullProperties(false).build().serialize(m);
+		String json2 = JsonSerializer.create().simple().ws().quoteChar('"').trimNullProperties(false).build().serialize(m);
 		assertEquals(json1, json2);
 
 		m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class);
-		String xml2 = new XmlSerializerBuilder().sq().ws()
+		String xml2 = XmlSerializer.create().sq().ws()
 			.trimNullProperties(false)
 			.build()
 			.serialize(m);
@@ -134,7 +134,7 @@ public class XmlTest {
 			+"</object>\n";
 
 		ObjectMap m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class);
-		String r = new XmlSerializerBuilder().ns().sq().ws()
+		String r = XmlSerializer.create().ns().sq().ws()
 			.addNamespaceUrisToRoot(true)
 			.defaultNamespace("http://www.apache.org")
 			.trimNullProperties(false)
@@ -353,7 +353,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testXmlFormatAttrWithNs() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		M t = new M();
 		String r = null;
@@ -521,7 +521,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnClass() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T1 t = new T1();
@@ -551,7 +551,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		assertTrue(t.equals(p.parse(r, T1.class)));
@@ -573,7 +573,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnClassWithElementName() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T2 t = new T2();
@@ -603,7 +603,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
 
@@ -624,7 +624,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnPackageNoNsOnClass() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 
 		T3 t = new T3();
@@ -656,7 +656,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 
@@ -676,7 +676,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnPackageNoNsOnClassElementNameOnClass() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T4 t = new T4();
@@ -707,7 +707,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
 
@@ -727,7 +727,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnPackageNsOnClassElementNameOnClass() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 
 		T5 t = new T5();
@@ -758,7 +758,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
 		validateXml(t, s.build());
@@ -780,7 +780,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testNsOnPackageNsOnClassNoElementNameOnClass() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T6 t = new T6();
@@ -810,7 +810,7 @@ public class XmlTest {
 		validateXml(t, s.build());
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		validateXml(t, s.build());
@@ -832,7 +832,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testComboOfNsAndOverriddenBeanPropertyNames() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T7 t = new T7();
@@ -862,7 +862,7 @@ public class XmlTest {
 		assertTrue(t.equals(p.parse(r, T7.class)));
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r);
 
@@ -882,7 +882,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testXmlNsAnnotation() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T8 t = new T8();
@@ -910,7 +910,7 @@ public class XmlTest {
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r);
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		assertTrue(t.equals(p.parse(r, T8.class)));
@@ -933,7 +933,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testXmlNsOnPackageNsUriInXmlNs() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false);
+		XmlSerializerBuilder s = XmlSerializer.create().sq().autoDetectNamespaces(false);
 		XmlParser p = XmlParser.DEFAULT;
 
 		T9 t = new T9();
@@ -961,7 +961,7 @@ public class XmlTest {
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:f1>1</p1:f1></object>", r);
 
 		// Auto-detect namespaces.
-		s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
+		s = XmlSerializer.create().sq().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1></object>", r);
 		assertTrue(t.equals(p.parse(r, T9.class)));
@@ -984,7 +984,7 @@ public class XmlTest {
 	//====================================================================================================
 	@Test
 	public void testXmlAttrs() throws Exception {
-		XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
+		XmlSerializerBuilder s = XmlSerializer.create().sq();
 		XmlParser p = XmlParser.DEFAULT;
 		String r;
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
index 212c06e..77aa953 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
@@ -29,7 +29,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testFromSerializer() throws Exception {
-		ReaderParser p = new YamlParserBuilder().beanDictionary(A1.class).build();
+		ReaderParser p = YamlParser.create().beanDictionary(A1.class).build();
 
 		Map m = null;
 		m = (Map)p.parse("{a:1}", Object.class);
@@ -83,7 +83,7 @@ public class CommonParserTest {
 		tl.add(new A3("name0","value0"));
 		tl.add(new A3("name1","value1"));
 		b.list = tl;
-		String json = new YamlSerializerBuilder().addBeanTypeProperties(true).beanDictionary(A1.class).build().serialize(b);
+		String json = YamlSerializer.create().addBeanTypeProperties(true).beanDictionary(A1.class).build().serialize(b);
 		b = (A1)p.parse(json, Object.class);
 		assertEquals("value1", b.list.get(1).value);
 
@@ -114,7 +114,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = new YamlParserBuilder().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = YamlParser.create().ignoreUnknownBeanProperties(true).build();
 		B b;
 
 		String in =  "{a:1,unknown:3,b:2}";
@@ -161,7 +161,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		YamlParser p = new YamlParserBuilder().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		YamlParser p = YamlParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
 
 		String json = "{a:1,unknownProperty:\"/foo\",b:2}";
 		p.parse(json, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
index a6e6e7b..e7e35b3 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
@@ -33,7 +33,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimNullsFromBeans() throws Exception {
-		YamlSerializerBuilder s = new YamlSerializerBuilder().simple();
+		YamlSerializerBuilder s = YamlSerializer.create().simple();
 		YamlParser p = YamlParser.DEFAULT;
 		A t1 = A.create(), t2;
 
@@ -65,7 +65,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyMaps() throws Exception {
-		YamlSerializerBuilder s = new YamlSerializerBuilder().simple();
+		YamlSerializerBuilder s = YamlSerializer.create().simple();
 		YamlParser p = YamlParser.DEFAULT;
 		B t1 = B.create(), t2;
 		String r;
@@ -99,7 +99,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyLists() throws Exception {
-		YamlSerializerBuilder s = new YamlSerializerBuilder().simple();
+		YamlSerializerBuilder s = YamlSerializer.create().simple();
 		YamlParser p = YamlParser.DEFAULT;
 		C t1 = C.create(), t2;
 		String r;
@@ -133,7 +133,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyArrays() throws Exception {
-		YamlSerializerBuilder s = new YamlSerializerBuilder().simple();
+		YamlSerializerBuilder s = YamlSerializer.create().simple();
 		YamlParser p = YamlParser.DEFAULT;
 		D t1 = D.create(), t2;
 		String r;
@@ -240,7 +240,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testRecursion() throws Exception {
-		YamlSerializerBuilder s = new YamlSerializerBuilder().simple();
+		YamlSerializerBuilder s = YamlSerializer.create().simple();
 
 		R1 r1 = new R1();
 		R2 r2 = new R2();
@@ -293,7 +293,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testBasicBean() throws Exception {
-		YamlSerializer s = new YamlSerializerBuilder().simple().trimNullProperties(false).sortProperties(true).build();
+		YamlSerializer s = YamlSerializer.create().simple().trimNullProperties(false).sortProperties(true).build();
 
 		J a = new J();
 		a.setF1("J");

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/YamlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/YamlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/YamlTest.java
index cf74bf6..6bbac30 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/YamlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/YamlTest.java
@@ -25,8 +25,8 @@ public class YamlTest {
 //		Map<String,Object> m = new LinkedHashMap<String,Object>();
 //		List<Object> l = new LinkedList<Object>();
 //
-//		WriterSerializer s1 = new YamlSerializerBuilder().simple().trimNullProperties(false).build();
-//		WriterSerializer s2 = new YamlSerializerBuilder().simple().trimNullProperties(false).quoteChar('"').build();
+//		WriterSerializer s1 = YamlSerializer.create().simple().trimNullProperties(false).build();
+//		WriterSerializer s2 = YamlSerializer.create().simple().trimNullProperties(false).quoteChar('"').build();
 //		String r;
 //
 //		// Null keys and values
@@ -101,7 +101,7 @@ public class YamlTest {
 //	//====================================================================================================
 //	@Test
 //	public void testBackslashesInStrings() throws Exception {
-//		YamlSerializer s = new YamlSerializerBuilder().simple().trimNullProperties(false).quoteChar('"').build();
+//		YamlSerializer s = YamlSerializer.create().simple().trimNullProperties(false).quoteChar('"').build();
 //		String r, r2;
 //
 //		// [\\]
@@ -200,13 +200,13 @@ public class YamlTest {
 //	//====================================================================================================
 //	@Test
 //	public void testEscapeSolidus() throws Exception {
-//		YamlSerializer s = new YamlSerializerBuilder().escapeSolidus(false).build();
+//		YamlSerializer s = YamlSerializer.create().escapeSolidus(false).build();
 //		String r = s.serialize("foo/bar");
 //		assertEquals("\"foo/bar\"", r);
 //		r = YamlParser.DEFAULT.parse(r, String.class);
 //		assertEquals("foo/bar", r);
 //
-//		s = new YamlSerializerBuilder().escapeSolidus(true).build();
+//		s = YamlSerializer.create().escapeSolidus(true).build();
 //		r = s.serialize("foo/bar");
 //		assertEquals("\"foo\\/bar\"", r);
 //		r = YamlParser.DEFAULT.parse(r, String.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
index 5cd3f6a..400c441 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
@@ -134,7 +134,7 @@
 		<h6 class='figure'>Example with no namespaces</h6>
 		<p class='bcode'>
 	<jc>// Create a serializer with readable output, no namespaces yet.</jc>
-	XmlSerializer s = <jk>new</jk> XmlSerializerBuilder().sq().ws().build();
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
 
 	<jc>// Serialize to ATOM/XML</jc>
 	String atomXml = s.serialize(feed);
@@ -191,7 +191,7 @@
 		<h6 class='figure'>Example with namespaces</h6>
 		<p class='bcode'>
 	<jc>// Create a serializer with readable output with namespaces.</jc>
-	XmlSerializer s = <jk>new</jk> XmlSerializerBuilder().sq().ws().build();
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
 
 	<jc>// Serialize to ATOM/XML</jc>
 	String atomXml = s.serialize(feed);
@@ -252,7 +252,7 @@
 		<h6 class='figure'>Example with namespaces with ATOM as the default namespace</h6>
 		<p class='bcode'>
 	<jc>// Create a serializer with readable output with namespaces.</jc>
-	XmlSerializer s = <jk>new</jk> XmlSerializerBuilder().sq().ws().defaultNamespaceUri(<js>"atom"</js>).build();
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().defaultNamespaceUri(<js>"atom"</js>).build();
 
 	<jc>// Serialize to ATOM/XML</jc>
 	String atomXml = s.serialize(feed);
@@ -416,7 +416,7 @@
 			<h6 class='figure'>ATOM/RDF/XML example</h6>
 			<p class='bcode'>
 	<jc>// Get RDF/XML serializer with readable output.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.ws()
 		.sq()

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index f6e0c0b..c0ac3b7 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -159,6 +159,22 @@ public class RdfParser extends ReaderParser {
 		return new RdfParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link RdfParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> RdfParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link RdfParserBuilder} object.
+	 */
+	public static RdfParserBuilder create() {
+		return new RdfParserBuilder();
+	}
+
 	@Override /* Parser */
 	public ReaderParserSession createSession(ParserSessionArgs args) {
 		return new RdfParserSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index af3dbd3..98f4b34 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -263,6 +263,22 @@ public class RdfSerializer extends WriterSerializer {
 		return new RdfSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link RdfSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> RdfSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link RdfSerializerBuilder} object.
+	 */
+	public static RdfSerializerBuilder create() {
+		return new RdfSerializerBuilder();
+	}
+
 	@Override /* Serializer */
 	public WriterSerializerSession createSession(SerializerSessionArgs args) {
 		return new RdfSerializerSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/package.html b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/package.html
index f32362c..a2de3ac 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/package.html
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/package.html
@@ -241,7 +241,7 @@
 	</p>
 	<p class='bcode'>
 	<jc>// Create a new serializer with readable output.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder().xmlabbrev()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>().xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3).build();
 
 	<jc>// Create our bean.</jc>
@@ -350,7 +350,7 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer, but manually specify the namespaces.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3)
 		.autoDetectNamespaces(<jk>false</jk>)
@@ -455,7 +455,7 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer with readable output.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3);
 		.relativeUriBase(<js>"http://myhost/sample"</js>);
@@ -586,7 +586,7 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer (revert back to namespace autodetection).</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder().xmlabbrev().property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3).build();
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>().xmlabbrev().property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3).build();
 
 	<jc>// Create our bean.</jc>
 	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
@@ -667,7 +667,7 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
 		.addRootProperty(<jk>true</jk>)
@@ -723,7 +723,7 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer (revert back to namespace autodetection).</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
 		.addLiteralTypes(<jk>true</jk>)
@@ -852,7 +852,7 @@
 	</p>
 		<p class='bcode'>
 	<jc>// Create a new serializer with readable output.</jc>
-	RdfSerializer s = <jk>new</jk> RdfSerializerBuilder()
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
 		.property(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3)
 		.addRootProperty(<jk>true</jk>)

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
index 4932b68..88258a1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
@@ -49,6 +49,22 @@ public class CsvParser extends ReaderParser {
 		return new CsvParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link CsvParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code>CsvParser.create()
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link CsvParserBuilder} object.
+	 */
+	public static CsvParserBuilder create() {
+		return new CsvParserBuilder();
+	}
+
 	@Override /* Parser */
 	public ReaderParserSession createSession(ParserSessionArgs args) {
 		return new CsvParserSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
index 9f757d6..529a921 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
@@ -49,6 +49,22 @@ public final class CsvSerializer extends WriterSerializer {
 		return new CsvSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link CsvSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> CsvSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link CsvSerializerBuilder} object.
+	 */
+	public static CsvSerializerBuilder create() {
+		return new CsvSerializerBuilder();
+	}
+
 	@Override /* Serializer */
 	public WriterSerializerSession createSession(SerializerSessionArgs args) {
 		return new CsvSerializerSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderGroup.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderGroup.java
index 0c8c448..f1ddd88 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderGroup.java
@@ -63,6 +63,27 @@ public final class EncoderGroup {
 	private final List<Encoder> encoders;
 
 	/**
+	 * Instantiates a new clean-slate {@link EncoderGroupBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> EncoderGroupBuilder()</code>.
+	 * 
+	 * @return A new {@link EncoderGroupBuilder} object.
+	 */
+	public static EncoderGroupBuilder create() {
+		return new EncoderGroupBuilder();
+	}
+
+	/**
+	 * Returns a builder that's a copy of the settings on this encoder group.
+	 * 
+	 * @return A new {@link EncoderGroupBuilder} initialized to this group.
+	 */
+	public EncoderGroupBuilder builder() {
+		return new EncoderGroupBuilder(this);
+	}
+	
+	/**
 	 * Constructor
 	 *
 	 * @param encoders The encoders to add to this group.

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
index b316f27..1002a17 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
@@ -60,6 +60,22 @@ public class HtmlParser extends XmlParser {
 		return new HtmlParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link HtmlParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> HtmlParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link HtmlParserBuilder} object.
+	 */
+	public static HtmlParserBuilder create() {
+		return new HtmlParserBuilder();
+	}
+
 	@Override /* Parser */
 	public HtmlParserSession createSession(ParserSessionArgs args) {
 		return new HtmlParserSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index 1e1425d..15aff31 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -324,6 +324,22 @@ public class HtmlSerializer extends XmlSerializer {
 		return new HtmlSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link HtmlSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> HtmlSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link HtmlSerializerBuilder} object.
+	 */
+	public static HtmlSerializerBuilder create() {
+		return new HtmlSerializerBuilder();
+	}
+
 	@Override /* XmlSerializer */
 	public HtmlSerializer getSchemaSerializer() {
 		if (schemaSerializer == null)

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/JuneauLogger.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/JuneauLogger.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/JuneauLogger.java
index 93db12a..51429a4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/JuneauLogger.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/JuneauLogger.java
@@ -29,7 +29,7 @@ import org.apache.juneau.transforms.*;
  */
 public class JuneauLogger extends java.util.logging.Logger {
 
-	private static final WriterSerializer serializer = new JsonSerializerBuilder()
+	private static final WriterSerializer serializer = JsonSerializer.create()
 		.pojoSwaps(
 			CalendarSwap.ISO8601DTZ.class,
 			DateSwap.ISO8601DTZ.class,

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
index 8b5666a..d08d2fc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
@@ -51,6 +51,22 @@ public final class JsoParser extends InputStreamParser {
 	public JsoParserBuilder builder() {
 		return new JsoParserBuilder(propertyStore);
 	}
+	
+	/**
+	 * Instantiates a new clean-slate {@link JsoParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> JsoParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link JsoParserBuilder} object.
+	 */
+	public static JsoParserBuilder create() {
+		return new JsoParserBuilder();
+	}
 
 	@Override /* Parser */
 	public InputStreamParserSession createSession(ParserSessionArgs args) {

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
index e56c279..aabd641 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
@@ -58,6 +58,22 @@ public class JsoSerializer extends OutputStreamSerializer {
 		return new JsoSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link JsoSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> JsoSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link JsoSerializerBuilder} object.
+	 */
+	public static JsoSerializerBuilder create() {
+		return new JsoSerializerBuilder();
+	}
+
 	@Override /* Serializer */
 	public OutputStreamSerializerSession createSession(SerializerSessionArgs args) {
 		return new JsoSerializerSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
index 98f05c7..760ea06 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
@@ -160,6 +160,22 @@ public class JsonParser extends ReaderParser {
 		return new JsonParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link JsonParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> JsonParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link JsonParserBuilder} object.
+	 */
+	public static JsonParserBuilder create() {
+		return new JsonParserBuilder();
+	}
+
 	@Override /* Parser */
 	public ReaderParserSession createSession(ParserSessionArgs args) {
 		return new JsonParserSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
index ed0141e..9fdec76 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -302,9 +302,25 @@ public class JsonSerializer extends WriterSerializer {
 	public JsonSerializerBuilder builder() {
 		return new JsonSerializerBuilder(propertyStore);
 	}
+	
+	/**
+	 * Instantiates a new clean-slate {@link JsonSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> JsonSerializerBuilder()</code>.
+	 * 
+	 * @return A new {@link JsonSerializerBuilder} object.
+	 */
+	public static JsonSerializerBuilder create() {
+		return new JsonSerializerBuilder();
+	}
 
 	/**
 	 * Returns the schema serializer based on the settings of this serializer.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
 	 *
 	 * @return The schema serializer.
 	 */

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/package.html b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/package.html
index 9e1598a..0c25ece 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/package.html
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/package.html
@@ -295,7 +295,7 @@
 		We could have also created a new serializer with the same settings using the following code:
 	</p>
 	<p class='bcode'>
-	JsonSerializer s = <jk>new</jk> JsonSerializerBuilder().simple().ws().sq().build();
+	JsonSerializer s = JsonSerializer.<jsm>create</jsm>().simple().ws().sq().build();
 	</p>
 	
 	<p>

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index 7aa8793..cf15e8a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -53,6 +53,22 @@ public class MsgPackParser extends InputStreamParser {
 		return new MsgPackParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link MsgPackParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> MsgPackParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link MsgPackParserBuilder} object.
+	 */
+	public static MsgPackParserBuilder create() {
+		return new MsgPackParserBuilder();
+	}
+
 	@Override /* Parser */
 	public MsgPackParserSession createSession(ParserSessionArgs args) {
 		return new MsgPackParserSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index 0c21be9..2404201 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -86,6 +86,22 @@ public class MsgPackSerializer extends OutputStreamSerializer {
 		return new MsgPackSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link MsgPackSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> MsgPackSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link MsgPackSerializerBuilder} object.
+	 */
+	public static MsgPackSerializerBuilder create() {
+		return new MsgPackSerializerBuilder();
+	}
+	
 	@Override /* Serializer */
 	public OutputStreamSerializerSession createSession(SerializerSessionArgs args) {
 		return new MsgPackSerializerSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
index 775dbbe..ff699e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
@@ -81,6 +81,27 @@ public final class ParserGroup {
 	private final PropertyStore propertyStore;
 
 	/**
+	 * Instantiates a new clean-slate {@link ParserGroupBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> ParserGroupBuilder()</code>.
+	 * 
+	 * @return A new {@link ParserGroupBuilder} object.
+	 */
+	public static ParserGroupBuilder create() {
+		return new ParserGroupBuilder();
+	}
+	
+	/**
+	 * Returns a builder that's a copy of the settings on this parser group.
+	 * 
+	 * @return A new {@link ParserGroupBuilder} initialized to this group.
+	 */
+	public ParserGroupBuilder builder() {
+		return new ParserGroupBuilder(this);
+	}
+	
+	/**
 	 * Constructor.
 	 *
 	 * @param propertyStore

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
index 1f34d23..3b0561e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
@@ -77,6 +77,22 @@ public class PlainTextParser extends ReaderParser {
 		return new PlainTextParserBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link PlainTextParserBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> PlainTextParserBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link PlainTextParserBuilder} object.
+	 */
+	public static PlainTextParserBuilder create() {
+		return new PlainTextParserBuilder();
+	}
+
 	@Override /* Parser */
 	public ReaderParserSession createSession(ParserSessionArgs args) {
 		return new PlainTextParserSession(args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
index 110623d..55c15cc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
@@ -92,6 +92,22 @@ public class PlainTextSerializer extends WriterSerializer {
 		return new PlainTextSerializerBuilder(propertyStore);
 	}
 
+	/**
+	 * Instantiates a new clean-slate {@link PlainTextSerializerBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> PlainTextSerializerBuilder()</code>.
+	 * 
+	 * <p>
+	 * Note that this method creates a builder initialized to all default settings, whereas {@link #builder()} copies 
+	 * the settings of the object called on.
+	 * 
+	 * @return A new {@link PlainTextSerializerBuilder} object.
+	 */
+	public static PlainTextSerializerBuilder create() {
+		return new PlainTextSerializerBuilder();
+	}
+
 	@Override /* Serializer */
 	public WriterSerializerSession createSession(SerializerSessionArgs args) {
 		return new PlainTextSerializerSession(ctx, args);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c0a50388/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
index c8146bc..9b49e8f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
@@ -74,6 +74,27 @@ public final class SerializerGroup {
 	private final BeanContext beanContext;
 
 	/**
+	 * Instantiates a new clean-slate {@link SerializerGroupBuilder} object.
+	 * 
+	 * <p>
+	 * This is equivalent to simply calling <code><jk>new</jk> SerializerGroupBuilder()</code>.
+	 * 
+	 * @return A new {@link SerializerGroupBuilder} object.
+	 */
+	public static SerializerGroupBuilder create() {
+		return new SerializerGroupBuilder();
+	}
+	
+	/**
+	 * Returns a builder that's a copy of the settings on this serializer group.
+	 * 
+	 * @return A new {@link SerializerGroupBuilder} initialized to this group.
+	 */
+	public SerializerGroupBuilder builder() {
+		return new SerializerGroupBuilder(this);
+	}
+
+	/**
 	 * Constructor.
 	 *
 	 * @param propertyStore