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 2020/05/11 17:36:39 UTC

[juneau] branch master updated: Annotation cleanup.

This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 95d000c  Annotation cleanup.
95d000c is described below

commit 95d000c5f19d0e0a74e72501382abd6f1bd8a4a9
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Mon May 11 13:32:53 2020 -0400

    Annotation cleanup.
---
 .../juneau/httppart/HttpPartSchemaTest_Body.java   | 182 +++++++--------
 .../httppart/HttpPartSchemaTest_FormData.java      | 260 ++++++++++-----------
 .../juneau/httppart/HttpPartSchemaTest_Header.java | 256 ++++++++++----------
 .../juneau/httppart/HttpPartSchemaTest_Path.java   | 210 ++++++++---------
 .../juneau/httppart/HttpPartSchemaTest_Query.java  | 260 ++++++++++-----------
 .../httppart/HttpPartSchemaTest_Response.java      | 164 ++++++-------
 .../HttpPartSchemaTest_ResponseHeader.java         | 242 +++++++++----------
 .../microservice/resources/ConfigResource.java     |   2 +-
 .../microservice/resources/LogsResource.java       |  22 +-
 .../rest/test/client/RequestBeanProxyTest.java     |  36 +--
 .../rest/test/client/ThirdPartyProxyResource.java  |   6 +-
 .../rest/client2/FormDataAnnotationTest.java       | 196 ++++++++--------
 .../juneau/rest/client2/HeaderAnnotationTest.java  | 178 +++++++-------
 .../juneau/rest/client2/PathAnnotationTest.java    | 162 ++++++-------
 .../juneau/rest/client2/QueryAnnotationTest.java   | 186 +++++++--------
 .../apache/juneau/rest/client2/RestClientTest.java |   2 +-
 .../juneau/rest/BasicRestInfoProviderTest.java     |   4 +-
 .../juneau/rest/BeanContextPropertiesTest.java     |   2 +-
 .../rest/annotation2/PathAnnotationTest.java       |  92 ++++----
 .../rest/annotation2/QueryAnnotationTest.java      |  54 ++---
 20 files changed, 1258 insertions(+), 1258 deletions(-)

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
index 9886591..58ab904 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
@@ -42,10 +42,10 @@ public class HttpPartSchemaTest_Body {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	@Body(
-		required=true,
-		description={"b1","b2"},
+		r=true,
+		d={"b1","b2"},
 		schema=@Schema($ref="c1"),
-		example="f1",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -59,10 +59,10 @@ public class HttpPartSchemaTest_Body {
 	public static class A03 {
 		public void a(
 				@Body(
-					required=true,
-					description={"b1","b2"},
+					r=true,
+					d={"b1","b2"},
 					schema=@Schema($ref="c1"),
-					example="f1",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -80,10 +80,10 @@ public class HttpPartSchemaTest_Body {
 	public static class A04 {
 		public void a(
 				@Body(
-					description={"b3","b3"},
-					required=true,
+					d={"b3","b3"},
+					r=true,
 					schema=@Schema($ref="c3"),
-					example="f2",
+					ex="f2",
 					api="{g2:true}"
 				) A02 x
 			) {
@@ -100,57 +100,57 @@ public class HttpPartSchemaTest_Body {
 
 	@Body(
 		schema=@Schema(
-			type="number",
-			format="int32",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			maxProperties=5,
-			minProperties=6,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			maxp=5,
+			minp=6,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@Items(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items=@SubItems(
-					type="string",
-					format="float",
-					collectionFormat="tsv",
-					maximum="9",
-					minimum="10",
-					multipleOf="11",
-					pattern="12",
-					maxLength=9,
-					minLength=10,
-					maxItems=11,
-					minItems=12,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					_default={"c5","c6"},
-					_enum="e5,e6",
+					t="string",
+					f="float",
+					cf="tsv",
+					max="9",
+					min="10",
+					mo="11",
+					p="12",
+					maxl=9,
+					minl=10,
+					maxi=11,
+					mini=12,
+					emax=true,
+					emin=true,
+					ui=true,
+					df={"c5","c6"},
+					e="e5,e6",
 					items={
 						"type:'array',",
 						"format:'double',",
@@ -281,7 +281,7 @@ public class HttpPartSchemaTest_Body {
 
 	@Body(
 		schema=@Schema(
-			pattern="x.*"
+			p="x.*"
 		)
 	)
 	public static class B02a {}
@@ -310,9 +310,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				pattern="w.*",
+				p="w.*",
 				items=@SubItems(
-					pattern="x.*",
+					p="x.*",
 					items={
 						"pattern:'y.*',",
 						"items:{pattern:'z.*'}"
@@ -325,7 +325,7 @@ public class HttpPartSchemaTest_Body {
 
 	@Body(
 		schema=@Schema(
-			minLength=2, maxLength=3
+			minl=2, maxl=3
 		)
 	)
 	public static class B03a {}
@@ -353,9 +353,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minLength=2, maxLength=3,
+				minl=2, maxl=3,
 				items=@SubItems(
-					minLength=3, maxLength=4,
+					minl=3, maxl=4,
 					items={
 						"minLength:4,maxLength:5,",
 						"items:{minLength:5,maxLength:6}"
@@ -436,7 +436,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(_enum="X,Y"))
+	@Body(schema=@Schema(e="X,Y"))
 	public static class B04a {}
 
 	@Test
@@ -453,7 +453,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(_enum=" X , Y "))
+	@Body(schema=@Schema(e=" X , Y "))
 	public static class B04b {}
 
 	@Test
@@ -470,7 +470,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(_enum="['X','Y']"))
+	@Body(schema=@Schema(e="['X','Y']"))
 	public static class B04c {}
 
 	@Test
@@ -490,9 +490,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				_enum="['W']",
+				e="['W']",
 				items=@SubItems(
-					_enum="['X']",
+					e="['X']",
 					items={
 						"enum:['Y'],",
 						"items:{enum:['Z']}"
@@ -542,7 +542,7 @@ public class HttpPartSchemaTest_Body {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Body(schema=@Schema(minimum="10", maximum="100"))
+	@Body(schema=@Schema(min="10", max="100"))
 	public static class C01a {}
 
 	@Test
@@ -568,9 +568,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minimum="10", maximum="100",
+				min="10", max="100",
 				items=@SubItems(
-					minimum="100", maximum="1000",
+					min="100", max="1000",
 					items={
 						"minimum:1000,maximum:10000,",
 						"items:{minimum:10000,maximum:100000}"
@@ -646,7 +646,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true))
+	@Body(schema=@Schema(min="10", max="100", emin=true, emax=true))
 	public static class C02a {}
 
 	@Test
@@ -672,9 +672,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="10", max="100", emin=true, emax=true,
 				items=@SubItems(
-					minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+					min="100", max="1000", emin=true, emax=true,
 					items={
 						"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 						"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -750,7 +750,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(minimum="10.1", maximum="100.1"))
+	@Body(schema=@Schema(min="10.1", max="100.1"))
 	public static class C03a {}
 
 	@Test
@@ -776,9 +776,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minimum="10.1", maximum="100.1",
+				min="10.1", max="100.1",
 				items=@SubItems(
-					minimum="100.1", maximum="1000.1",
+					min="100.1", max="1000.1",
 					items={
 						"minimum:1000.1,maximum:10000.1,",
 						"items:{minimum:10000.1,maximum:100000.1}"
@@ -854,7 +854,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true))
+	@Body(schema=@Schema(min="10.1", max="100.1", emin=true, emax=true))
 	public static class C04a {}
 
 	@Test
@@ -880,9 +880,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="10.1", max="100.1", emin=true, emax=true,
 				items=@SubItems(
-					minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+					min="100.1", max="1000.1", emin=true, emax=true,
 					items={
 						"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 						"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -958,7 +958,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(multipleOf="10"))
+	@Body(schema=@Schema(mo="10"))
 	public static class C05a {}
 
 	@Test
@@ -981,9 +981,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				multipleOf="10",
+				mo="10",
 				items=@SubItems(
-					multipleOf="100",
+					mo="100",
 					items={
 						"multipleOf:1000,",
 						"items:{multipleOf:10000}"
@@ -1049,7 +1049,7 @@ public class HttpPartSchemaTest_Body {
 		}
 	}
 
-	@Body(schema=@Schema(multipleOf="10.1"))
+	@Body(schema=@Schema(mo="10.1"))
 	public static class C06a {}
 
 	@Test
@@ -1070,9 +1070,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				multipleOf="10.1",
+				mo="10.1",
 				items=@SubItems(
-					multipleOf="100.1",
+					mo="100.1",
 					items={
 						"multipleOf:1000.1,",
 						"items:{multipleOf:10000.1}"
@@ -1135,9 +1135,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				uniqueItems=true,
+				ui=true,
 				items=@SubItems(
-					uniqueItems=true,
+					ui=true,
 					items={
 						"uniqueItems:true,",
 						"items:{uniqueItems:true}"
@@ -1229,9 +1229,9 @@ public class HttpPartSchemaTest_Body {
 	@Body(
 		schema=@Schema(
 			items=@Items(
-				minItems=1, maxItems=2,
+				mini=1, maxi=2,
 				items=@SubItems(
-					minItems=2, maxItems=3,
+					mini=2, maxi=3,
 					items={
 						"minItems:3,maxItems:4,",
 						"items:{minItems:4,maxItems:5}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
index c96199c..3834f69 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
@@ -50,28 +50,28 @@ public class HttpPartSchemaTest_FormData {
 	}
 
 	@FormData(
-		name="x",
-		type="number",
-		format="int32",
-		collectionFormat="csv",
-		maximum="1",
-		minimum="2",
-		multipleOf="3",
-		pattern="4",
-		maxLength=1,
-		minLength=2,
-		maxItems=3,
-		minItems=4,
-		exclusiveMaximum=true,
-		exclusiveMinimum=true,
-		uniqueItems=true,
-		required=true,
-		skipIfEmpty=true,
-		description={"b1","b2"},
-		_default={"c1","c2"},
+		n="x",
+		t="number",
+		f="int32",
+		cf="csv",
+		max="1",
+		min="2",
+		mo="3",
+		p="4",
+		maxl=1,
+		minl=2,
+		maxi=3,
+		mini=4,
+		emax=true,
+		emin=true,
+		ui=true,
+		r=true,
+		sie=true,
+		d={"b1","b2"},
+		df={"c1","c2"},
 		items=@Items($ref="d1"),
-		_enum="e1,e2,e3",
-		example="f1",
+		e="e1,e2,e3",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -103,28 +103,28 @@ public class HttpPartSchemaTest_FormData {
 	public static class A03 {
 		public void a(
 				@FormData(
-					name="x",
-					type="number",
-					format="int32",
-					collectionFormat="csv",
-					maximum="1",
-					minimum="2",
-					multipleOf="3",
-					pattern="4",
-					maxLength=1,
-					minLength=2,
-					maxItems=3,
-					minItems=4,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					required=true,
-					skipIfEmpty=true,
-					description={"b1","b2"},
-					_default={"c1","c2"},
+					n="x",
+					t="number",
+					f="int32",
+					cf="csv",
+					max="1",
+					min="2",
+					mo="3",
+					p="4",
+					maxl=1,
+					minl=2,
+					maxi=3,
+					mini=4,
+					emax=true,
+					emin=true,
+					ui=true,
+					r=true,
+					sie=true,
+					d={"b1","b2"},
+					df={"c1","c2"},
 					items=@Items($ref="d1"),
-					_enum="e1,e2,e3",
-					example="f1",
+					e="e1,e2,e3",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -160,28 +160,28 @@ public class HttpPartSchemaTest_FormData {
 	public static class A04 {
 		public void a(
 				@FormData(
-					name="y",
-					type="integer",
-					format="int64",
-					collectionFormat="ssv",
-					maximum="5",
-					minimum="6",
-					multipleOf="7",
-					pattern="8",
-					maxLength=5,
-					minLength=6,
-					maxItems=7,
-					minItems=8,
-					exclusiveMaximum=false,
-					exclusiveMinimum=false,
-					uniqueItems=false,
-					required=false,
-					skipIfEmpty=false,
-					description={"b3","b3"},
-					_default={"c3","c4"},
+					n="y",
+					t="integer",
+					f="int64",
+					cf="ssv",
+					max="5",
+					min="6",
+					mo="7",
+					p="8",
+					maxl=5,
+					minl=6,
+					maxi=7,
+					mini=8,
+					emax=false,
+					emin=false,
+					ui=false,
+					r=false,
+					sie=false,
+					d={"b3","b3"},
+					df={"c3","c4"},
 					items=@Items($ref="d2"),
-					_enum="e4,e5,e6",
-					example="f2",
+					e="e4,e5,e6",
+					ex="f2",
 					api="{g2:true}"
 				) A01 x
 			) {
@@ -215,41 +215,41 @@ public class HttpPartSchemaTest_FormData {
 	}
 
 	@FormData(
-		name="x",
+		n="x",
 		items=@Items(
-			type="number",
-			format="int32",
-			collectionFormat="csv",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			cf="csv",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@SubItems(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items={
 					"type:'string',",
 					"format:'float',",
@@ -373,7 +373,7 @@ public class HttpPartSchemaTest_FormData {
 	// String input validations.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@FormData(required=true)
+	@FormData(r=true)
 	public static class B01a {}
 
 	@Test
@@ -396,7 +396,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(allowEmptyValue=true)
+	@FormData(aev=true)
 	public static class B01b {}
 
 	@Test
@@ -407,7 +407,7 @@ public class HttpPartSchemaTest_FormData {
 		s.validateInput(null);
 	}
 
-	@FormData(required=true,allowEmptyValue=true)
+	@FormData(r=true,aev=true)
 	public static class B01c {}
 
 	@Test
@@ -424,7 +424,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(pattern="x.*")
+	@FormData(p="x.*")
 	public static class B02a {}
 
 	@Test
@@ -452,7 +452,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(minLength=2, maxLength=3)
+	@FormData(minl=2, maxl=3)
 	public static class B03a {}
 
 	@Test
@@ -477,9 +477,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minLength=2, maxLength=3,
+			minl=2, maxl=3,
 			items=@SubItems(
-				minLength=3, maxLength=4,
+				minl=3, maxl=4,
 				items={
 					"minLength:4,maxLength:5,",
 					"items:{minLength:5,maxLength:6}"
@@ -559,7 +559,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(_enum="X,Y")
+	@FormData(e="X,Y")
 	public static class B04a {}
 
 	@Test
@@ -576,7 +576,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(_enum=" X , Y ")
+	@FormData(e=" X , Y ")
 	public static class B04b {}
 
 	@Test
@@ -593,7 +593,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(_enum="['X','Y']")
+	@FormData(e="['X','Y']")
 	public static class B04c {}
 
 	@Test
@@ -612,9 +612,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			_enum="['W']",
+			e="['W']",
 			items=@SubItems(
-				_enum="['X']",
+				e="['X']",
 				items={
 					"enum:['Y'],",
 					"items:{enum:['Z']}"
@@ -663,7 +663,7 @@ public class HttpPartSchemaTest_FormData {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@FormData(minimum="10", maximum="100")
+	@FormData(min="10", max="100")
 	public static class C01a {}
 
 	@Test
@@ -688,9 +688,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minimum="10", maximum="100",
+			min="10", max="100",
 			items=@SubItems(
-				minimum="100", maximum="1000",
+				min="100", max="1000",
 				items={
 					"minimum:1000,maximum:10000,",
 					"items:{minimum:10000,maximum:100000}"
@@ -765,7 +765,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true)
+	@FormData(min="10", max="100", emin=true, emax=true)
 	public static class C02a {}
 
 	@Test
@@ -790,9 +790,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10", max="100", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100", max="1000", emin=true, emax=true,
 				items={
 					"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -867,7 +867,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(minimum="10.1", maximum="100.1")
+	@FormData(min="10.1", max="100.1")
 	public static class C03a {}
 
 	@Test
@@ -892,9 +892,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minimum="10.1", maximum="100.1",
+			min="10.1", max="100.1",
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1",
+				min="100.1", max="1000.1",
 				items={
 					"minimum:1000.1,maximum:10000.1,",
 					"items:{minimum:10000.1,maximum:100000.1}"
@@ -969,7 +969,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true)
+	@FormData(min="10.1", max="100.1", emin=true, emax=true)
 	public static class C04a {}
 
 	@Test
@@ -994,9 +994,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10.1", max="100.1", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100.1", max="1000.1", emin=true, emax=true,
 				items={
 					"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -1071,7 +1071,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(multipleOf="10")
+	@FormData(mo="10")
 	public static class C05a {}
 
 	@Test
@@ -1093,9 +1093,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			multipleOf="10",
+			mo="10",
 			items=@SubItems(
-				multipleOf="100",
+				mo="100",
 				items={
 					"multipleOf:1000,",
 					"items:{multipleOf:10000}"
@@ -1160,7 +1160,7 @@ public class HttpPartSchemaTest_FormData {
 		}
 	}
 
-	@FormData(multipleOf="10.1")
+	@FormData(mo="10.1")
 	public static class C06a {}
 
 	@Test
@@ -1180,9 +1180,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			multipleOf="10.1",
+			mo="10.1",
 			items=@SubItems(
-				multipleOf="100.1",
+				mo="100.1",
 				items={
 					"multipleOf:1000.1,",
 					"items:{multipleOf:10000.1}"
@@ -1243,9 +1243,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			uniqueItems=true,
+			ui=true,
 			items=@SubItems(
-				uniqueItems=true,
+				ui=true,
 				items={
 					"uniqueItems:true,",
 					"items:{uniqueItems:true}"
@@ -1336,9 +1336,9 @@ public class HttpPartSchemaTest_FormData {
 
 	@FormData(
 		items=@Items(
-			minItems=1, maxItems=2,
+			mini=1, maxi=2,
 			items=@SubItems(
-				minItems=2, maxItems=3,
+				mini=2, maxi=3,
 				items={
 					"minItems:3,maxItems:4,",
 					"items:{minItems:4,maxItems:5}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
index a49139c..87d15d4 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
@@ -51,28 +51,28 @@ public class HttpPartSchemaTest_Header {
 	}
 
 	@Header(
-		name="x",
-		type="number",
-		format="int32",
-		collectionFormat="csv",
-		maximum="1",
-		minimum="2",
-		multipleOf="3",
-		pattern="4",
-		maxLength=1,
-		minLength=2,
-		maxItems=3,
-		minItems=4,
-		exclusiveMaximum=true,
-		exclusiveMinimum=true,
-		uniqueItems=true,
-		required=true,
-		skipIfEmpty=true,
-		description={"b1","b2"},
-		_default={"c1","c2"},
+		n="x",
+		t="number",
+		f="int32",
+		cf="csv",
+		max="1",
+		min="2",
+		mo="3",
+		p="4",
+		maxl=1,
+		minl=2,
+		maxi=3,
+		mini=4,
+		emax=true,
+		emin=true,
+		ui=true,
+		r=true,
+		sie=true,
+		d={"b1","b2"},
+		df={"c1","c2"},
 		items=@Items($ref="d1"),
-		_enum="e1,e2,e3",
-		example="f1",
+		e="e1,e2,e3",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -104,28 +104,28 @@ public class HttpPartSchemaTest_Header {
 	public static class A03 {
 		public void a(
 				@Header(
-					name="x",
-					type="number",
-					format="int32",
-					collectionFormat="csv",
-					maximum="1",
-					minimum="2",
-					multipleOf="3",
-					pattern="4",
-					maxLength=1,
-					minLength=2,
-					maxItems=3,
-					minItems=4,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					required=true,
-					skipIfEmpty=true,
-					description={"b1","b2"},
-					_default={"c1","c2"},
+					n="x",
+					t="number",
+					f="int32",
+					cf="csv",
+					max="1",
+					min="2",
+					mo="3",
+					p="4",
+					maxl=1,
+					minl=2,
+					maxi=3,
+					mini=4,
+					emax=true,
+					emin=true,
+					ui=true,
+					r=true,
+					sie=true,
+					d={"b1","b2"},
+					df={"c1","c2"},
 					items=@Items($ref="d1"),
-					_enum="e1,e2,e3",
-					example="f1",
+					e="e1,e2,e3",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -161,28 +161,28 @@ public class HttpPartSchemaTest_Header {
 	public static class A04 {
 		public void a(
 				@Header(
-					name="y",
-					type="integer",
-					format="int64",
-					collectionFormat="ssv",
-					maximum="5",
-					minimum="6",
-					multipleOf="7",
-					pattern="8",
-					maxLength=5,
-					minLength=6,
-					maxItems=7,
-					minItems=8,
-					exclusiveMaximum=false,
-					exclusiveMinimum=false,
-					uniqueItems=false,
-					required=false,
-					skipIfEmpty=false,
-					description={"b3","b3"},
-					_default={"c3","c4"},
+					n="y",
+					t="integer",
+					f="int64",
+					cf="ssv",
+					max="5",
+					min="6",
+					mo="7",
+					p="8",
+					maxl=5,
+					minl=6,
+					maxi=7,
+					mini=8,
+					emax=false,
+					emin=false,
+					ui=false,
+					r=false,
+					sie=false,
+					d={"b3","b3"},
+					df={"c3","c4"},
 					items=@Items($ref="d2"),
-					_enum="e4,e5,e6",
-					example="f2",
+					e="e4,e5,e6",
+					ex="f2",
 					api="{g2:true}"
 				) A01 x
 			) {
@@ -216,41 +216,41 @@ public class HttpPartSchemaTest_Header {
 	}
 
 	@Header(
-		name="x",
+		n="x",
 		items=@Items(
-			type="number",
-			format="int32",
-			collectionFormat="csv",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			cf="csv",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@SubItems(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items={
 					"type:'string',",
 					"format:'float',",
@@ -374,7 +374,7 @@ public class HttpPartSchemaTest_Header {
 	// String input validations.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Header(required=true)
+	@Header(r=true)
 	public static class B01 {}
 
 	@Test
@@ -395,7 +395,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(pattern="x.*")
+	@Header(p="x.*")
 	public static class B02a {}
 
 	@Test
@@ -423,7 +423,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(minLength=2, maxLength=3)
+	@Header(minl=2, maxl=3)
 	public static class B03a {}
 
 	@Test
@@ -448,9 +448,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minLength=2, maxLength=3,
+			minl=2, maxl=3,
 			items=@SubItems(
-				minLength=3, maxLength=4,
+				minl=3, maxl=4,
 				items={
 					"minLength:4,maxLength:5,",
 					"items:{minLength:5,maxLength:6}"
@@ -530,7 +530,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(_enum="X,Y")
+	@Header(e="X,Y")
 	public static class B04a {}
 
 	@Test
@@ -547,7 +547,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(_enum=" X , Y ")
+	@Header(e=" X , Y ")
 	public static class B04b {}
 
 	@Test
@@ -564,7 +564,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(_enum="['X','Y']")
+	@Header(e="['X','Y']")
 	public static class B04c {}
 
 	@Test
@@ -583,9 +583,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			_enum="['W']",
+			e="['W']",
 			items=@SubItems(
-				_enum="['X']",
+				e="['X']",
 				items={
 					"enum:['Y'],",
 					"items:{enum:['Z']}"
@@ -634,7 +634,7 @@ public class HttpPartSchemaTest_Header {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Header(minimum="10", maximum="100")
+	@Header(min="10", max="100")
 	public static class C01a {}
 
 	@Test
@@ -659,9 +659,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minimum="10", maximum="100",
+			min="10", max="100",
 			items=@SubItems(
-				minimum="100", maximum="1000",
+				min="100", max="1000",
 				items={
 					"minimum:1000,maximum:10000,",
 					"items:{minimum:10000,maximum:100000}"
@@ -736,7 +736,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Header(min="10", max="100", emin=true, emax=true)
 	public static class C02a {}
 
 	@Test
@@ -761,9 +761,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10", max="100", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100", max="1000", emin=true, emax=true,
 				items={
 					"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -838,7 +838,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(minimum="10.1", maximum="100.1")
+	@Header(min="10.1", max="100.1")
 	public static class C03a {}
 
 	@Test
@@ -863,9 +863,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minimum="10.1", maximum="100.1",
+			min="10.1", max="100.1",
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1",
+				min="100.1", max="1000.1",
 				items={
 					"minimum:1000.1,maximum:10000.1,",
 					"items:{minimum:10000.1,maximum:100000.1}"
@@ -940,7 +940,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Header(min="10.1", max="100.1", emin=true, emax=true)
 	public static class C04a {}
 
 	@Test
@@ -965,9 +965,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10.1", max="100.1", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100.1", max="1000.1", emin=true, emax=true,
 				items={
 					"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -1042,7 +1042,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(multipleOf="10")
+	@Header(mo="10")
 	public static class C05a {}
 
 	@Test
@@ -1064,9 +1064,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			multipleOf="10",
+			mo="10",
 			items=@SubItems(
-				multipleOf="100",
+				mo="100",
 				items={
 					"multipleOf:1000,",
 					"items:{multipleOf:10000}"
@@ -1131,7 +1131,7 @@ public class HttpPartSchemaTest_Header {
 		}
 	}
 
-	@Header(multipleOf="10.1")
+	@Header(mo="10.1")
 	public static class C06a {}
 
 	@Test
@@ -1151,9 +1151,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			multipleOf="10.1",
+			mo="10.1",
 			items=@SubItems(
-				multipleOf="100.1",
+				mo="100.1",
 				items={
 					"multipleOf:1000.1,",
 					"items:{multipleOf:10000.1}"
@@ -1214,9 +1214,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			uniqueItems=true,
+			ui=true,
 			items=@SubItems(
-				uniqueItems=true,
+				ui=true,
 				items={
 					"uniqueItems:true,",
 					"items:{uniqueItems:true}"
@@ -1307,9 +1307,9 @@ public class HttpPartSchemaTest_Header {
 
 	@Header(
 		items=@Items(
-			minItems=1, maxItems=2,
+			mini=1, maxi=2,
 			items=@SubItems(
-				minItems=2, maxItems=3,
+				mini=2, maxi=3,
 				items={
 					"minItems:3,maxItems:4,",
 					"items:{minItems:4,maxItems:5}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
index 6d90f0a..529e166 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
@@ -51,22 +51,22 @@ public class HttpPartSchemaTest_Path {
 	}
 
 	@Path(
-		name="x",
-		type="number",
-		format="int32",
-		collectionFormat="csv",
-		maximum="1",
-		minimum="2",
-		multipleOf="3",
-		pattern="4",
-		maxLength=1,
-		minLength=2,
-		exclusiveMaximum=true,
-		exclusiveMinimum=true,
-		description={"b1","b2"},
+		n="x",
+		t="number",
+		f="int32",
+		cf="csv",
+		max="1",
+		min="2",
+		mo="3",
+		p="4",
+		maxl=1,
+		minl=2,
+		emax=true,
+		emin=true,
+		d={"b1","b2"},
 		items=@Items($ref="d1"),
-		_enum="e1,e2,e3",
-		example="f1",
+		e="e1,e2,e3",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -92,22 +92,22 @@ public class HttpPartSchemaTest_Path {
 	public static class A03 {
 		public void a(
 				@Path(
-					name="x",
-					type="number",
-					format="int32",
-					collectionFormat="csv",
-					maximum="1",
-					minimum="2",
-					multipleOf="3",
-					pattern="4",
-					maxLength=1,
-					minLength=2,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					description={"b1","b2"},
+					n="x",
+					t="number",
+					f="int32",
+					cf="csv",
+					max="1",
+					min="2",
+					mo="3",
+					p="4",
+					maxl=1,
+					minl=2,
+					emax=true,
+					emin=true,
+					d={"b1","b2"},
 					items=@Items($ref="d1"),
-					_enum="e1,e2,e3",
-					example="f1",
+					e="e1,e2,e3",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -137,22 +137,22 @@ public class HttpPartSchemaTest_Path {
 	public static class A04 {
 		public void a(
 				@Path(
-					name="y",
-					type="integer",
-					format="int64",
-					collectionFormat="ssv",
-					maximum="5",
-					minimum="6",
-					multipleOf="7",
-					pattern="8",
-					maxLength=5,
-					minLength=6,
-					exclusiveMaximum=false,
-					exclusiveMinimum=false,
-					description={"b3","b3"},
+					n="y",
+					t="integer",
+					f="int64",
+					cf="ssv",
+					max="5",
+					min="6",
+					mo="7",
+					p="8",
+					maxl=5,
+					minl=6,
+					emax=false,
+					emin=false,
+					d={"b3","b3"},
 					items=@Items($ref="d2"),
-					_enum="e4,e5,e6",
-					example="f2",
+					e="e4,e5,e6",
+					ex="f2",
 					api="{g2:true}"
 				) A01 x
 			) {
@@ -180,41 +180,41 @@ public class HttpPartSchemaTest_Path {
 	}
 
 	@Path(
-		name="x",
+		n="x",
 		items=@Items(
-			type="number",
-			format="int32",
-			collectionFormat="csv",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			cf="csv",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@SubItems(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items={
 					"type:'string',",
 					"format:'float',",
@@ -338,7 +338,7 @@ public class HttpPartSchemaTest_Path {
 	// String input validations.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Path(pattern="x.*")
+	@Path(p="x.*")
 	public static class B02a {}
 
 	@Test
@@ -366,7 +366,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(minLength=2, maxLength=3)
+	@Path(minl=2, maxl=3)
 	public static class B03a {}
 
 	@Test
@@ -396,9 +396,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			minLength=2, maxLength=3,
+			minl=2, maxl=3,
 			items=@SubItems(
-				minLength=3, maxLength=4,
+				minl=3, maxl=4,
 				items={
 					"minLength:4,maxLength:5,",
 					"items:{minLength:5,maxLength:6}"
@@ -478,7 +478,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(_enum="X,Y")
+	@Path(e="X,Y")
 	public static class B04a {}
 
 	@Test
@@ -500,7 +500,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(_enum=" X , Y ")
+	@Path(e=" X , Y ")
 	public static class B04b {}
 
 	@Test
@@ -522,7 +522,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(_enum="['X','Y']")
+	@Path(e="['X','Y']")
 	public static class B04c {}
 
 	@Test
@@ -546,9 +546,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			_enum="['W']",
+			e="['W']",
 			items=@SubItems(
-				_enum="['X']",
+				e="['X']",
 				items={
 					"enum:['Y'],",
 					"items:{enum:['Z']}"
@@ -597,7 +597,7 @@ public class HttpPartSchemaTest_Path {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Path(minimum="10", maximum="100")
+	@Path(min="10", max="100")
 	public static class C01a {}
 
 	@Test
@@ -627,9 +627,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			minimum="10", maximum="100",
+			min="10", max="100",
 			items=@SubItems(
-				minimum="100", maximum="1000",
+				min="100", max="1000",
 				items={
 					"minimum:1000,maximum:10000,",
 					"items:{minimum:10000,maximum:100000}"
@@ -704,7 +704,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Path(min="10", max="100", emin=true, emax=true)
 	public static class C02a {}
 
 	@Test
@@ -734,9 +734,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10", max="100", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100", max="1000", emin=true, emax=true,
 				items={
 					"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -811,7 +811,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(minimum="10.1", maximum="100.1")
+	@Path(min="10.1", max="100.1")
 	public static class C03a {}
 
 	@Test
@@ -841,9 +841,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			minimum="10.1", maximum="100.1",
+			min="10.1", max="100.1",
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1",
+				min="100.1", max="1000.1",
 				items={
 					"minimum:1000.1,maximum:10000.1,",
 					"items:{minimum:10000.1,maximum:100000.1}"
@@ -918,7 +918,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Path(min="10.1", max="100.1", emin=true, emax=true)
 	public static class C04a {}
 
 	@Test
@@ -948,9 +948,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10.1", max="100.1", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100.1", max="1000.1", emin=true, emax=true,
 				items={
 					"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -1025,7 +1025,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(multipleOf="10")
+	@Path(mo="10")
 	public static class C05a {}
 
 	@Test
@@ -1052,9 +1052,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			multipleOf="10",
+			mo="10",
 			items=@SubItems(
-				multipleOf="100",
+				mo="100",
 				items={
 					"multipleOf:1000,",
 					"items:{multipleOf:10000}"
@@ -1119,7 +1119,7 @@ public class HttpPartSchemaTest_Path {
 		}
 	}
 
-	@Path(multipleOf="10.1")
+	@Path(mo="10.1")
 	public static class C06a {}
 
 	@Test
@@ -1144,9 +1144,9 @@ public class HttpPartSchemaTest_Path {
 
 	@Path(
 		items=@Items(
-			multipleOf="10.1",
+			mo="10.1",
 			items=@SubItems(
-				multipleOf="100.1",
+				mo="100.1",
 				items={
 					"multipleOf:1000.1,",
 					"items:{multipleOf:10000.1}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
index ebfd54c..523ce56 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
@@ -51,28 +51,28 @@ public class HttpPartSchemaTest_Query {
 	}
 
 	@Query(
-		name="x",
-		type="number",
-		format="int32",
-		collectionFormat="csv",
-		maximum="1",
-		minimum="2",
-		multipleOf="3",
-		pattern="4",
-		maxLength=1,
-		minLength=2,
-		maxItems=3,
-		minItems=4,
-		exclusiveMaximum=true,
-		exclusiveMinimum=true,
-		uniqueItems=true,
-		required=true,
-		skipIfEmpty=true,
-		description={"b1","b2"},
-		_default={"c1","c2"},
+		n="x",
+		t="number",
+		f="int32",
+		cf="csv",
+		max="1",
+		min="2",
+		mo="3",
+		p="4",
+		maxl=1,
+		minl=2,
+		maxi=3,
+		mini=4,
+		emax=true,
+		emin=true,
+		ui=true,
+		r=true,
+		sie=true,
+		d={"b1","b2"},
+		df={"c1","c2"},
 		items=@Items($ref="d1"),
-		_enum="e1,e2,e3",
-		example="f1",
+		e="e1,e2,e3",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -104,28 +104,28 @@ public class HttpPartSchemaTest_Query {
 	public static class A03 {
 		public void a(
 				@Query(
-					name="x",
-					type="number",
-					format="int32",
-					collectionFormat="csv",
-					maximum="1",
-					minimum="2",
-					multipleOf="3",
-					pattern="4",
-					maxLength=1,
-					minLength=2,
-					maxItems=3,
-					minItems=4,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					required=true,
-					skipIfEmpty=true,
-					description={"b1","b2"},
-					_default={"c1","c2"},
+					n="x",
+					t="number",
+					f="int32",
+					cf="csv",
+					max="1",
+					min="2",
+					mo="3",
+					p="4",
+					maxl=1,
+					minl=2,
+					maxi=3,
+					mini=4,
+					emax=true,
+					emin=true,
+					ui=true,
+					r=true,
+					sie=true,
+					d={"b1","b2"},
+					df={"c1","c2"},
 					items=@Items($ref="d1"),
-					_enum="e1,e2,e3",
-					example="f1",
+					e="e1,e2,e3",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -161,28 +161,28 @@ public class HttpPartSchemaTest_Query {
 	public static class A04 {
 		public void a(
 				@Query(
-					name="y",
-					type="integer",
-					format="int64",
-					collectionFormat="ssv",
-					maximum="5",
-					minimum="6",
-					multipleOf="7",
-					pattern="8",
-					maxLength=5,
-					minLength=6,
-					maxItems=7,
-					minItems=8,
-					exclusiveMaximum=false,
-					exclusiveMinimum=false,
-					uniqueItems=false,
-					required=false,
-					skipIfEmpty=false,
-					description={"b3","b3"},
-					_default={"c3","c4"},
+					n="y",
+					t="integer",
+					f="int64",
+					cf="ssv",
+					max="5",
+					min="6",
+					mo="7",
+					p="8",
+					maxl=5,
+					minl=6,
+					maxi=7,
+					mini=8,
+					emax=false,
+					emin=false,
+					ui=false,
+					r=false,
+					sie=false,
+					d={"b3","b3"},
+					df={"c3","c4"},
 					items=@Items($ref="d2"),
-					_enum="e4,e5,e6",
-					example="f2",
+					e="e4,e5,e6",
+					ex="f2",
 					api="{g2:true}"
 				) A01 x
 			) {
@@ -216,41 +216,41 @@ public class HttpPartSchemaTest_Query {
 	}
 
 	@Query(
-		name="x",
+		n="x",
 		items=@Items(
-			type="number",
-			format="int32",
-			collectionFormat="csv",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			cf="csv",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@SubItems(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items={
 					"type:'string',",
 					"format:'float',",
@@ -374,7 +374,7 @@ public class HttpPartSchemaTest_Query {
 	// String input validations.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Query(required=true)
+	@Query(r=true)
 	public static class B01a {}
 
 	@Test
@@ -397,7 +397,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(allowEmptyValue=true)
+	@Query(aev=true)
 	public static class B01b {}
 
 	@Test
@@ -408,7 +408,7 @@ public class HttpPartSchemaTest_Query {
 		s.validateInput(null);
 	}
 
-	@Query(required=true,allowEmptyValue=true)
+	@Query(r=true,aev=true)
 	public static class B01c {}
 
 	@Test
@@ -425,7 +425,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(pattern="x.*")
+	@Query(p="x.*")
 	public static class B02a {}
 
 	@Test
@@ -453,7 +453,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(minLength=2, maxLength=3)
+	@Query(minl=2, maxl=3)
 	public static class B03a {}
 
 	@Test
@@ -478,9 +478,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minLength=2, maxLength=3,
+			minl=2, maxl=3,
 			items=@SubItems(
-				minLength=3, maxLength=4,
+				minl=3, maxl=4,
 				items={
 					"minLength:4,maxLength:5,",
 					"items:{minLength:5,maxLength:6}"
@@ -560,7 +560,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(_enum="X,Y")
+	@Query(e="X,Y")
 	public static class B04a {}
 
 	@Test
@@ -577,7 +577,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(_enum=" X , Y ")
+	@Query(e=" X , Y ")
 	public static class B04b {}
 
 	@Test
@@ -594,7 +594,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(_enum="['X','Y']")
+	@Query(e="['X','Y']")
 	public static class B04c {}
 
 	@Test
@@ -613,9 +613,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			_enum="['W']",
+			e="['W']",
 			items=@SubItems(
-				_enum="['X']",
+				e="['X']",
 				items={
 					"enum:['Y'],",
 					"items:{enum:['Z']}"
@@ -664,7 +664,7 @@ public class HttpPartSchemaTest_Query {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Query(minimum="10", maximum="100")
+	@Query(min="10", max="100")
 	public static class C01a {}
 
 	@Test
@@ -689,9 +689,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minimum="10", maximum="100",
+			min="10", max="100",
 			items=@SubItems(
-				minimum="100", maximum="1000",
+				min="100", max="1000",
 				items={
 					"minimum:1000,maximum:10000,",
 					"items:{minimum:10000,maximum:100000}"
@@ -766,7 +766,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Query(min="10", max="100", emin=true, emax=true)
 	public static class C02a {}
 
 	@Test
@@ -791,9 +791,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10", max="100", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100", max="1000", emin=true, emax=true,
 				items={
 					"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -868,7 +868,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(minimum="10.1", maximum="100.1")
+	@Query(min="10.1", max="100.1")
 	public static class C03a {}
 
 	@Test
@@ -893,9 +893,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minimum="10.1", maximum="100.1",
+			min="10.1", max="100.1",
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1",
+				min="100.1", max="1000.1",
 				items={
 					"minimum:1000.1,maximum:10000.1,",
 					"items:{minimum:10000.1,maximum:100000.1}"
@@ -970,7 +970,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true)
+	@Query(min="10.1", max="100.1", emin=true, emax=true)
 	public static class C04a {}
 
 	@Test
@@ -995,9 +995,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10.1", max="100.1", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100.1", max="1000.1", emin=true, emax=true,
 				items={
 					"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -1072,7 +1072,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(multipleOf="10")
+	@Query(mo="10")
 	public static class C05a {}
 
 	@Test
@@ -1094,9 +1094,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			multipleOf="10",
+			mo="10",
 			items=@SubItems(
-				multipleOf="100",
+				mo="100",
 				items={
 					"multipleOf:1000,",
 					"items:{multipleOf:10000}"
@@ -1161,7 +1161,7 @@ public class HttpPartSchemaTest_Query {
 		}
 	}
 
-	@Query(multipleOf="10.1")
+	@Query(mo="10.1")
 	public static class C06a {}
 
 	@Test
@@ -1181,9 +1181,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			multipleOf="10.1",
+			mo="10.1",
 			items=@SubItems(
-				multipleOf="100.1",
+				mo="100.1",
 				items={
 					"multipleOf:1000.1,",
 					"items:{multipleOf:10000.1}"
@@ -1244,9 +1244,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			uniqueItems=true,
+			ui=true,
 			items=@SubItems(
-				uniqueItems=true,
+				ui=true,
 				items={
 					"uniqueItems:true,",
 					"items:{uniqueItems:true}"
@@ -1337,9 +1337,9 @@ public class HttpPartSchemaTest_Query {
 
 	@Query(
 		items=@Items(
-			minItems=1, maxItems=2,
+			mini=1, maxi=2,
 			items=@SubItems(
-				minItems=2, maxItems=3,
+				mini=2, maxi=3,
 				items={
 					"minItems:3,maxItems:4,",
 					"items:{minItems:4,maxItems:5}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Response.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Response.java
index 5a72f08..0cf56fc 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Response.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Response.java
@@ -43,57 +43,57 @@ public class HttpPartSchemaTest_Response {
 
 	@Response(
 		schema=@Schema(
-			type="number",
-			format="int32",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			maxProperties=5,
-			minProperties=6,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			maxp=5,
+			minp=6,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@Items(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items=@SubItems(
-					type="string",
-					format="float",
-					collectionFormat="tsv",
-					maximum="9",
-					minimum="10",
-					multipleOf="11",
-					pattern="12",
-					maxLength=9,
-					minLength=10,
-					maxItems=11,
-					minItems=12,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					_default={"c5","c6"},
-					_enum="e5,e6",
+					t="string",
+					f="float",
+					cf="tsv",
+					max="9",
+					min="10",
+					mo="11",
+					p="12",
+					maxl=9,
+					minl=10,
+					maxi=11,
+					mini=12,
+					emax=true,
+					emin=true,
+					ui=true,
+					df={"c5","c6"},
+					e="e5,e6",
 					items={
 						"type:'array',",
 						"format:'double',",
@@ -201,7 +201,7 @@ public class HttpPartSchemaTest_Response {
 
 	@Response(
 		schema=@Schema(
-			pattern="x.*"
+			p="x.*"
 		)
 	)
 	public static class B02a {}
@@ -230,9 +230,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				pattern="w.*",
+				p="w.*",
 				items=@SubItems(
-					pattern="x.*",
+					p="x.*",
 					items={
 						"pattern:'y.*',",
 						"items:{pattern:'z.*'}"
@@ -245,7 +245,7 @@ public class HttpPartSchemaTest_Response {
 
 	@Response(
 		schema=@Schema(
-			minLength=2, maxLength=3
+			minl=2, maxl=3
 		)
 	)
 	public static class B03a {}
@@ -273,9 +273,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minLength=2, maxLength=3,
+				minl=2, maxl=3,
 				items=@SubItems(
-					minLength=3, maxLength=4,
+					minl=3, maxl=4,
 					items={
 						"minLength:4,maxLength:5,",
 						"items:{minLength:5,maxLength:6}"
@@ -356,7 +356,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(_enum="X,Y"))
+	@Response(schema=@Schema(e="X,Y"))
 	public static class B04a {}
 
 	@Test
@@ -373,7 +373,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(_enum=" X , Y "))
+	@Response(schema=@Schema(e=" X , Y "))
 	public static class B04b {}
 
 	@Test
@@ -390,7 +390,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(_enum="['X','Y']"))
+	@Response(schema=@Schema(e="['X','Y']"))
 	public static class B04c {}
 
 	@Test
@@ -410,9 +410,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				_enum="['W']",
+				e="['W']",
 				items=@SubItems(
-					_enum="['X']",
+					e="['X']",
 					items={
 						"enum:['Y'],",
 						"items:{enum:['Z']}"
@@ -462,7 +462,7 @@ public class HttpPartSchemaTest_Response {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@Response(schema=@Schema(minimum="10", maximum="100"))
+	@Response(schema=@Schema(min="10", max="100"))
 	public static class C01a {}
 
 	@Test
@@ -488,9 +488,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minimum="10", maximum="100",
+				min="10", max="100",
 				items=@SubItems(
-					minimum="100", maximum="1000",
+					min="100", max="1000",
 					items={
 						"minimum:1000,maximum:10000,",
 						"items:{minimum:10000,maximum:100000}"
@@ -566,7 +566,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true))
+	@Response(schema=@Schema(min="10", max="100", emin=true, emax=true))
 	public static class C02a {}
 
 	@Test
@@ -592,9 +592,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="10", max="100", emin=true, emax=true,
 				items=@SubItems(
-					minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+					min="100", max="1000", emin=true, emax=true,
 					items={
 						"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 						"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -670,7 +670,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(minimum="10.1", maximum="100.1"))
+	@Response(schema=@Schema(min="10.1", max="100.1"))
 	public static class C03a {}
 
 	@Test
@@ -696,9 +696,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minimum="10.1", maximum="100.1",
+				min="10.1", max="100.1",
 				items=@SubItems(
-					minimum="100.1", maximum="1000.1",
+					min="100.1", max="1000.1",
 					items={
 						"minimum:1000.1,maximum:10000.1,",
 						"items:{minimum:10000.1,maximum:100000.1}"
@@ -774,7 +774,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true))
+	@Response(schema=@Schema(min="10.1", max="100.1", emin=true, emax=true))
 	public static class C04a {}
 
 	@Test
@@ -800,9 +800,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="10.1", max="100.1", emin=true, emax=true,
 				items=@SubItems(
-					minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+					min="100.1", max="1000.1", emin=true, emax=true,
 					items={
 						"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 						"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -878,7 +878,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(multipleOf="10"))
+	@Response(schema=@Schema(mo="10"))
 	public static class C05a {}
 
 	@Test
@@ -901,9 +901,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				multipleOf="10",
+				mo="10",
 				items=@SubItems(
-					multipleOf="100",
+					mo="100",
 					items={
 						"multipleOf:1000,",
 						"items:{multipleOf:10000}"
@@ -969,7 +969,7 @@ public class HttpPartSchemaTest_Response {
 		}
 	}
 
-	@Response(schema=@Schema(multipleOf="10.1"))
+	@Response(schema=@Schema(mo="10.1"))
 	public static class C06a {}
 
 	@Test
@@ -990,9 +990,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				multipleOf="10.1",
+				mo="10.1",
 				items=@SubItems(
-					multipleOf="100.1",
+					mo="100.1",
 					items={
 						"multipleOf:1000.1,",
 						"items:{multipleOf:10000.1}"
@@ -1055,9 +1055,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				uniqueItems=true,
+				ui=true,
 				items=@SubItems(
-					uniqueItems=true,
+					ui=true,
 					items={
 						"uniqueItems:true,",
 						"items:{uniqueItems:true}"
@@ -1149,9 +1149,9 @@ public class HttpPartSchemaTest_Response {
 	@Response(
 		schema=@Schema(
 			items=@Items(
-				minItems=1, maxItems=2,
+				mini=1, maxi=2,
 				items=@SubItems(
-					minItems=2, maxItems=3,
+					mini=2, maxi=3,
 					items={
 						"minItems:3,maxItems:4,",
 						"items:{minItems:4,maxItems:5}"
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
index def1f57..38ce4d6 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
@@ -51,26 +51,26 @@ public class HttpPartSchemaTest_ResponseHeader {
 	}
 
 	@ResponseHeader(
-		name="x",
-		type="number",
-		format="int32",
-		collectionFormat="csv",
-		maximum="1",
-		minimum="2",
-		multipleOf="3",
-		pattern="4",
-		maxLength=1,
-		minLength=2,
-		maxItems=3,
-		minItems=4,
-		exclusiveMaximum=true,
-		exclusiveMinimum=true,
-		uniqueItems=true,
-		description={"b1","b2"},
-		_default={"c1","c2"},
+		n="x",
+		t="number",
+		f="int32",
+		cf="csv",
+		max="1",
+		min="2",
+		mo="3",
+		p="4",
+		maxl=1,
+		minl=2,
+		maxi=3,
+		mini=4,
+		emax=true,
+		emin=true,
+		ui=true,
+		d={"b1","b2"},
+		df={"c1","c2"},
 		items=@Items($ref="d1"),
-		_enum="e1,e2,e3",
-		example="f1",
+		e="e1,e2,e3",
+		ex="f1",
 		api="{g1:true}"
 	)
 	public static class A02 {}
@@ -100,26 +100,26 @@ public class HttpPartSchemaTest_ResponseHeader {
 	public static class A03 {
 		public void a(
 				@ResponseHeader(
-					name="x",
-					type="number",
-					format="int32",
-					collectionFormat="csv",
-					maximum="1",
-					minimum="2",
-					multipleOf="3",
-					pattern="4",
-					maxLength=1,
-					minLength=2,
-					maxItems=3,
-					minItems=4,
-					exclusiveMaximum=true,
-					exclusiveMinimum=true,
-					uniqueItems=true,
-					description={"b1","b2"},
-					_default={"c1","c2"},
+					n="x",
+					t="number",
+					f="int32",
+					cf="csv",
+					max="1",
+					min="2",
+					mo="3",
+					p="4",
+					maxl=1,
+					minl=2,
+					maxi=3,
+					mini=4,
+					emax=true,
+					emin=true,
+					ui=true,
+					d={"b1","b2"},
+					df={"c1","c2"},
 					items=@Items($ref="d1"),
-					_enum="e1,e2,e3",
-					example="f1",
+					e="e1,e2,e3",
+					ex="f1",
 					api="{g1:true}"
 				) String x
 			) {
@@ -153,26 +153,26 @@ public class HttpPartSchemaTest_ResponseHeader {
 	public static class A04 {
 		public void a(
 				@ResponseHeader(
-					name="y",
-					type="integer",
-					format="int64",
-					collectionFormat="ssv",
-					maximum="5",
-					minimum="6",
-					multipleOf="7",
-					pattern="8",
-					maxLength=5,
-					minLength=6,
-					maxItems=7,
-					minItems=8,
-					exclusiveMaximum=false,
-					exclusiveMinimum=false,
-					uniqueItems=false,
-					description={"b3","b3"},
-					_default={"c3","c4"},
+					n="y",
+					t="integer",
+					f="int64",
+					cf="ssv",
+					max="5",
+					min="6",
+					mo="7",
+					p="8",
+					maxl=5,
+					minl=6,
+					maxi=7,
+					mini=8,
+					emax=false,
+					emin=false,
+					ui=false,
+					d={"b3","b3"},
+					df={"c3","c4"},
 					items=@Items($ref="d2"),
-					_enum="e4,e5,e6",
-					example="f2",
+					e="e4,e5,e6",
+					ex="f2",
 					api="{g2:true}"
 				) A01 x
 			) {
@@ -206,41 +206,41 @@ public class HttpPartSchemaTest_ResponseHeader {
 	}
 
 	@ResponseHeader(
-		name="x",
+		n="x",
 		items=@Items(
-			type="number",
-			format="int32",
-			collectionFormat="csv",
-			maximum="1",
-			minimum="2",
-			multipleOf="3",
-			pattern="4",
-			maxLength=1,
-			minLength=2,
-			maxItems=3,
-			minItems=4,
-			exclusiveMaximum=true,
-			exclusiveMinimum=true,
-			uniqueItems=true,
-			_default={"c1","c2"},
-			_enum="e1,e2",
+			t="number",
+			f="int32",
+			cf="csv",
+			max="1",
+			min="2",
+			mo="3",
+			p="4",
+			maxl=1,
+			minl=2,
+			maxi=3,
+			mini=4,
+			emax=true,
+			emin=true,
+			ui=true,
+			df={"c1","c2"},
+			e="e1,e2",
 			items=@SubItems(
-				type="integer",
-				format="int64",
-				collectionFormat="ssv",
-				maximum="5",
-				minimum="6",
-				multipleOf="7",
-				pattern="8",
-				maxLength=5,
-				minLength=6,
-				maxItems=7,
-				minItems=8,
-				exclusiveMaximum=false,
-				exclusiveMinimum=false,
-				uniqueItems=false,
-				_default={"c3","c4"},
-				_enum="e3,e4",
+				t="integer",
+				f="int64",
+				cf="ssv",
+				max="5",
+				min="6",
+				mo="7",
+				p="8",
+				maxl=5,
+				minl=6,
+				maxi=7,
+				mini=8,
+				emax=false,
+				emin=false,
+				ui=false,
+				df={"c3","c4"},
+				e="e3,e4",
 				items={
 					"type:'string',",
 					"format:'float',",
@@ -364,7 +364,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 	// String input validations.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@ResponseHeader(pattern="x.*")
+	@ResponseHeader(p="x.*")
 	public static class B02a {}
 
 	@Test
@@ -392,7 +392,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(minLength=2, maxLength=3)
+	@ResponseHeader(minl=2, maxl=3)
 	public static class B03a {}
 
 	@Test
@@ -417,9 +417,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minLength=2, maxLength=3,
+			minl=2, maxl=3,
 			items=@SubItems(
-				minLength=3, maxLength=4,
+				minl=3, maxl=4,
 				items={
 					"minLength:4,maxLength:5,",
 					"items:{minLength:5,maxLength:6}"
@@ -499,7 +499,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(_enum="X,Y")
+	@ResponseHeader(e="X,Y")
 	public static class B04a {}
 
 	@Test
@@ -516,7 +516,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(_enum=" X , Y ")
+	@ResponseHeader(e=" X , Y ")
 	public static class B04b {}
 
 	@Test
@@ -533,7 +533,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(_enum="['X','Y']")
+	@ResponseHeader(e="['X','Y']")
 	public static class B04c {}
 
 	@Test
@@ -552,9 +552,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			_enum="['W']",
+			e="['W']",
 			items=@SubItems(
-				_enum="['X']",
+				e="['X']",
 				items={
 					"enum:['Y'],",
 					"items:{enum:['Z']}"
@@ -603,7 +603,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 	// Numeric validations
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@ResponseHeader(minimum="10", maximum="100")
+	@ResponseHeader(min="10", max="100")
 	public static class C01a {}
 
 	@Test
@@ -628,9 +628,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minimum="10", maximum="100",
+			min="10", max="100",
 			items=@SubItems(
-				minimum="100", maximum="1000",
+				min="100", max="1000",
 				items={
 					"minimum:1000,maximum:10000,",
 					"items:{minimum:10000,maximum:100000}"
@@ -705,7 +705,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true)
+	@ResponseHeader(min="10", max="100", emin=true, emax=true)
 	public static class C02a {}
 
 	@Test
@@ -730,9 +730,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minimum="10", maximum="100", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10", max="100", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100", maximum="1000", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100", max="1000", emin=true, emax=true,
 				items={
 					"minimum:1000,maximum:10000,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000,maximum:100000,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -807,7 +807,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(minimum="10.1", maximum="100.1")
+	@ResponseHeader(min="10.1", max="100.1")
 	public static class C03a {}
 
 	@Test
@@ -832,9 +832,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minimum="10.1", maximum="100.1",
+			min="10.1", max="100.1",
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1",
+				min="100.1", max="1000.1",
 				items={
 					"minimum:1000.1,maximum:10000.1,",
 					"items:{minimum:10000.1,maximum:100000.1}"
@@ -909,7 +909,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true)
+	@ResponseHeader(min="10.1", max="100.1", emin=true, emax=true)
 	public static class C04a {}
 
 	@Test
@@ -934,9 +934,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minimum="10.1", maximum="100.1", exclusiveMinimum=true, exclusiveMaximum=true,
+			min="10.1", max="100.1", emin=true, emax=true,
 			items=@SubItems(
-				minimum="100.1", maximum="1000.1", exclusiveMinimum=true, exclusiveMaximum=true,
+				min="100.1", max="1000.1", emin=true, emax=true,
 				items={
 					"minimum:1000.1,maximum:10000.1,exclusiveMinimum:true,exclusiveMaximum:true,",
 					"items:{minimum:10000.1,maximum:100000.1,exclusiveMinimum:true,exclusiveMaximum:true}"
@@ -1011,7 +1011,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(multipleOf="10")
+	@ResponseHeader(mo="10")
 	public static class C05a {}
 
 	@Test
@@ -1033,9 +1033,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			multipleOf="10",
+			mo="10",
 			items=@SubItems(
-				multipleOf="100",
+				mo="100",
 				items={
 					"multipleOf:1000,",
 					"items:{multipleOf:10000}"
@@ -1100,7 +1100,7 @@ public class HttpPartSchemaTest_ResponseHeader {
 		}
 	}
 
-	@ResponseHeader(multipleOf="10.1")
+	@ResponseHeader(mo="10.1")
 	public static class C06a {}
 
 	@Test
@@ -1120,9 +1120,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			multipleOf="10.1",
+			mo="10.1",
 			items=@SubItems(
-				multipleOf="100.1",
+				mo="100.1",
 				items={
 					"multipleOf:1000.1,",
 					"items:{multipleOf:10000.1}"
@@ -1183,9 +1183,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			uniqueItems=true,
+			ui=true,
 			items=@SubItems(
-				uniqueItems=true,
+				ui=true,
 				items={
 					"uniqueItems:true,",
 					"items:{uniqueItems:true}"
@@ -1276,9 +1276,9 @@ public class HttpPartSchemaTest_ResponseHeader {
 
 	@ResponseHeader(
 		items=@Items(
-			minItems=1, maxItems=2,
+			mini=1, maxi=2,
 			items=@SubItems(
-				minItems=2, maxItems=3,
+				mini=2, maxi=3,
 				items={
 					"minItems:3,maxItems:4,",
 					"items:{minItems:4,maxItems:5}"
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
index d925e72..639c534 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
@@ -171,7 +171,7 @@ public class ConfigResource extends BasicRestServlet {
 		)
 	)
 	public OMap setConfigSection(
-			@Path(name="section", description="Section name in config file.", example="REST") String section,
+			@Path(n="section", d="Section name in config file.", ex="REST") String section,
 			@Body(
 				d="New contents of config section as a simple map of key/value pairs.",
 				ex="{theme:'servlet:/htdocs/themes/dark.css'}"
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
index e731fa8..f054bfd 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
@@ -132,12 +132,12 @@ public class LogsResource extends BasicRestServlet {
 	public void viewFile(
 			RestResponse res,
 			@Path("/*") String path,
-			@Query(name="highlight", description="Add severity color highlighting.", example="true") boolean highlight,
-			@Query(name="start", description="Start timestamp (ISO8601, full or partial).\nDon't print lines logged before the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", example="2014-01-23T11:25:47") String start,
-			@Query(name="end", description="End timestamp (ISO8601, full or partial).\nDon't print lines logged after the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", example="2014-01-24") String end,
-			@Query(name="thread", description="Thread name filter.\nOnly show log entries with the specified thread name.", example="thread-pool-33-thread-1") String thread,
-			@Query(name="loggers", description="Logger filter (simple class name).\nOnly show log entries if they were produced by one of the specified loggers.", example="['LinkIndexService','LinkIndexRestService']") String[] loggers,
-			@Query(name="severity", description="Severity filter.\nOnly show log entries with the specified severity.", example="['ERROR','WARN']") String[] severity
+			@Query(n="highlight", d="Add severity color highlighting.", ex="true") boolean highlight,
+			@Query(n="start", d="Start timestamp (ISO8601, full or partial).\nDon't print lines logged before the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", ex="2014-01-23T11:25:47") String start,
+			@Query(n="end", d="End timestamp (ISO8601, full or partial).\nDon't print lines logged after the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", ex="2014-01-24") String end,
+			@Query(n="thread", d="Thread name filter.\nOnly show log entries with the specified thread name.", ex="thread-pool-33-thread-1") String thread,
+			@Query(n="loggers", d="Logger filter (simple class name).\nOnly show log entries if they were produced by one of the specified loggers.", ex="['LinkIndexService','LinkIndexRestService']") String[] loggers,
+			@Query(n="severity", d="Severity filter.\nOnly show log entries with the specified severity.", ex="['ERROR','WARN']") String[] severity
 		) throws NotFound, MethodNotAllowed, IOException {
 
 		File f = getFile(path);
@@ -201,11 +201,11 @@ public class LogsResource extends BasicRestServlet {
 	public LogParser viewParsedEntries(
 			RestRequest req,
 			@Path("/*") String path,
-			@Query(name="start", description="Start timestamp (ISO8601, full or partial).\nDon't print lines logged before the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", example="2014-01-23T11:25:47") String start,
-			@Query(name="end", description="End timestamp (ISO8601, full or partial).\nDon't print lines logged after the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", example="2014-01-24") String end,
-			@Query(name="thread", description="Thread name filter.\nOnly show log entries with the specified thread name.", example="thread-pool-33-thread-1") String thread,
-			@Query(name="loggers", description="Logger filter (simple class name).\nOnly show log entries if they were produced by one of the specified loggers.", example="['LinkIndexService','LinkIndexRestService']") String[] loggers,
-			@Query(name="severity", description="Severity filter.\nOnly show log entries with the specified severity.", example="['ERROR','WARN']") String[] severity
+			@Query(n="start", d="Start timestamp (ISO8601, full or partial).\nDon't print lines logged before the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", ex="2014-01-23T11:25:47") String start,
+			@Query(n="end", d="End timestamp (ISO8601, full or partial).\nDon't print lines logged after the specified timestamp.\nUse any of the following formats: yyyy, yyyy-MM, yyyy-MM-dd, yyyy-MM-ddThh, yyyy-MM-ddThh:mm, yyyy-MM-ddThh:mm:ss, yyyy-MM-ddThh:mm:ss.SSS", ex="2014-01-24") String end,
+			@Query(n="thread", d="Thread name filter.\nOnly show log entries with the specified thread name.", ex="thread-pool-33-thread-1") String thread,
+			@Query(n="loggers", d="Logger filter (simple class name).\nOnly show log entries if they were produced by one of the specified loggers.", ex="['LinkIndexService','LinkIndexRestService']") String[] loggers,
+			@Query(n="severity", d="Severity filter.\nOnly show log entries with the specified severity.", ex="['ERROR','WARN']") String[] severity
 		) throws NotFound, IOException {
 
 		File f = getFile(path);
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
index 1b21fce..da17263 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
@@ -364,11 +364,11 @@ public class RequestBeanProxyTest {
 		public String getX1() {
 			return "b1";
 		}
-		@FormData(name="c")
+		@FormData(n="c")
 		public String getX2() {
 			return "c1";
 		}
-		@FormData(name="e",allowEmptyValue=true)
+		@FormData(n="e",aev=true)
 		public String getX4() {
 			return "";
 		}
@@ -428,7 +428,7 @@ public class RequestBeanProxyTest {
 		public Map<String,Object> getB() {
 			return AMap.of("b1","true","b2","123","b3","null");
 		}
-		@FormData(name="*",allowEmptyValue=true)
+		@FormData(n="*",aev=true)
 		public Map<String,Object> getC() {
 			return AMap.of("c1","v1","c2",123,"c3",null,"c4","");
 		}
@@ -480,7 +480,7 @@ public class RequestBeanProxyTest {
 		public NameValuePairs getB() {
 			return new NameValuePairs().append("b1","true").append("b2", "123").append("b3", "null");
 		}
-		@FormData(name="*")
+		@FormData(n="*")
 		public NameValuePairs getC() {
 			return new NameValuePairs().append("c1","v1").append("c2", 123).append("c3", null).append("c4", "");
 		}
@@ -582,11 +582,11 @@ public class RequestBeanProxyTest {
 		public List<Object> getX1() {
 			return AList.of("foo","","true","123","null",true,123,null);
 		}
-		@FormData(name="c", serializer=ListSerializer.class)
+		@FormData(n="c",serializer=ListSerializer.class)
 		public List<Object> getX2() {
 			return AList.of("foo","","true","123","null",true,123,null);
 		}
-		@FormData(name="d",allowEmptyValue=true)
+		@FormData(n="d",aev=true)
 		public List<Object> getX3() {
 			return AList.of();
 		}
@@ -598,11 +598,11 @@ public class RequestBeanProxyTest {
 		public Object[] getX5() {
 			return new Object[]{"foo", "", "true", "123", "null", true, 123, null};
 		}
-		@FormData(name="g", serializer=ListSerializer.class)
+		@FormData(n="g",serializer=ListSerializer.class)
 		public Object[] getX6() {
 			return new Object[]{"foo", "", "true", "123", "null", true, 123, null};
 		}
-		@FormData(name="h",allowEmptyValue=true)
+		@FormData(n="h",aev=true)
 		public Object[] getX7() {
 			return new Object[]{};
 		}
@@ -919,11 +919,11 @@ public class RequestBeanProxyTest {
 		public String getX1() {
 			return "b1";
 		}
-		@Path(name="c")
+		@Path(n="c")
 		public String getX2() {
 			return "c1";
 		}
-		@Path(name="e",allowEmptyValue=true)
+		@Path(n="e",aev=true)
 		public String getX4() {
 			return "";
 		}
@@ -971,7 +971,7 @@ public class RequestBeanProxyTest {
 	}
 
 	public static class G02_Bean {
-		@Path(name="*",allowEmptyValue=true)
+		@Path(n="*",aev=true)
 		public Map<String,Object> getA() {
 			return AMap.of("a1","v1","a2",123,"a3",null,"a4","");
 		}
@@ -979,7 +979,7 @@ public class RequestBeanProxyTest {
 		public Map<String,Object> getB() {
 			return AMap.of("b1","true","b2","123","b3","null");
 		}
-		@Path(name="*",allowEmptyValue=true)
+		@Path(n="*",aev=true)
 		public Map<String,Object> getC() {
 			return AMap.of("c1","v1","c2",123,"c3",null,"c4","");
 		}
@@ -1023,7 +1023,7 @@ public class RequestBeanProxyTest {
 	}
 
 	public static class G03_Bean {
-		@Path(name="*",allowEmptyValue=true)
+		@Path(n="*",aev=true)
 		public NameValuePairs getA() {
 			return new NameValuePairs().append("a1","v1").append("a2", 123).append("a3", null).append("a4", "");
 		}
@@ -1031,7 +1031,7 @@ public class RequestBeanProxyTest {
 		public NameValuePairs getB() {
 			return new NameValuePairs().append("b1","true").append("b2", "123").append("b3", "null");
 		}
-		@Path(name="*",allowEmptyValue=true)
+		@Path(n="*",aev=true)
 		public NameValuePairs getC() {
 			return new NameValuePairs().append("c1","v1").append("c2", 123).append("c3", null).append("c4", "");
 		}
@@ -1083,11 +1083,11 @@ public class RequestBeanProxyTest {
 		public List<Object> getX1() {
 			return AList.of("foo","","true","123","null",true,123,null);
 		}
-		@Path(name="c", serializer=ListSerializer.class)
+		@Path(n="c", serializer=ListSerializer.class)
 		public List<Object> getX2() {
 			return AList.of("foo","","true","123","null",true,123,null);
 		}
-		@Path(name="d",allowEmptyValue=true)
+		@Path(n="d",aev=true)
 		public List<Object> getX3() {
 			return AList.of();
 		}
@@ -1095,11 +1095,11 @@ public class RequestBeanProxyTest {
 		public Object[] getX5() {
 			return new Object[]{"foo", "", "true", "123", "null", true, 123, null};
 		}
-		@Path(name="g", serializer=ListSerializer.class)
+		@Path(n="g", serializer=ListSerializer.class)
 		public Object[] getX6() {
 			return new Object[]{"foo", "", "true", "123", "null", true, 123, null};
 		}
-		@Path(name="h",allowEmptyValue=true)
+		@Path(n="h",aev=true)
 		public Object[] getX7() {
 			return new Object[]{};
 		}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
index 7739ff4..b18b606 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
@@ -954,7 +954,7 @@ public class ThirdPartyProxyResource extends BasicRestServletJena {
 	@RestMethod(name=POST, path="/mapFormData")
 	public String mapFormData(
 		@FormData("a") String a,
-		@FormData(name="b",allowEmptyValue=true) String b,
+		@FormData(n="b",aev=true) String b,
 		@FormData("c") String c
 	) throws Exception {
 
@@ -968,7 +968,7 @@ public class ThirdPartyProxyResource extends BasicRestServletJena {
 	@RestMethod(name=POST, path="/beanFormData2")
 	public String beanFormData(
 		@FormData("a") String a,
-		@FormData(name="b",allowEmptyValue=true) String b,
+		@FormData(n="b",aev=true) String b,
 		@FormData("c") String c
 	) throws Exception {
 
@@ -982,7 +982,7 @@ public class ThirdPartyProxyResource extends BasicRestServletJena {
 	@RestMethod(name=POST, path="/nameValuePairsFormData")
 	public String nameValuePairsFormData(
 		@FormData("a") String a,
-		@FormData(name="b",allowEmptyValue=true) String b,
+		@FormData(n="b",aev=true) String b,
 		@FormData("c") String c
 	) throws Exception {
 
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/FormDataAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/FormDataAnnotationTest.java
index 5529ecb..66b8844 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/FormDataAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/FormDataAnnotationTest.java
@@ -71,14 +71,14 @@ public class FormDataAnnotationTest {
 		@RemoteMethod(path="a") String postA03b(@FormData("*") Bean b);
 		@RemoteMethod(path="a") String postA03c(@FormData Bean b);
 		@RemoteMethod(path="a") String postA04a(@FormData("x") Bean[] b);
-		@RemoteMethod(path="a") String postA04b(@FormData(name="x",collectionFormat="uon") Bean[] b);
+		@RemoteMethod(path="a") String postA04b(@FormData(n="x",cf="uon") Bean[] b);
 		@RemoteMethod(path="a") String postA05a(@FormData("x") List<Bean> b);
-		@RemoteMethod(path="a") String postA05b(@FormData(name="x",collectionFormat="uon") List<Bean> b);
+		@RemoteMethod(path="a") String postA05b(@FormData(n="x",cf="uon") List<Bean> b);
 		@RemoteMethod(path="a") String postA06a(@FormData("x") Map<String,Bean> b);
 		@RemoteMethod(path="a") String postA06b(@FormData("*") Map<String,Bean> b);
 		@RemoteMethod(path="a") String postA06c(@FormData Map<String,Bean> b);
-		@RemoteMethod(path="a") String postA06d(@FormData(name="x",format="uon") Map<String,Bean> b);
-		@RemoteMethod(path="a") String postA06e(@FormData(format="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a") String postA06d(@FormData(n="x",f="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a") String postA06e(@FormData(f="uon") Map<String,Bean> b);
 		@RemoteMethod(path="a") String postA07a(@FormData("*") Reader b);
 		@RemoteMethod(path="a") String postA07b(@FormData Reader b);
 		@RemoteMethod(path="a") String postA08a(@FormData("*") InputStream b);
@@ -184,10 +184,10 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface BR {
-		@RemoteMethod(path="/") String postB01(@FormData(name="x",_default="foo") String b);
-		@RemoteMethod(path="/") String postB02(@FormData(name="x",_default="foo",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String postB03(@FormData(name="x",_default="") String b);
-		@RemoteMethod(path="/") String postB04(@FormData(name="x",_default="",allowEmptyValue=true) String b);
+		@RemoteMethod(path="/") String postB01(@FormData(n="x",df="foo") String b);
+		@RemoteMethod(path="/") String postB02(@FormData(n="x",df="foo",aev=true) String b);
+		@RemoteMethod(path="/") String postB03(@FormData(n="x",df="") String b);
+		@RemoteMethod(path="/") String postB04(@FormData(n="x",df="",aev=true) String b);
 	}
 
 	private static BR br = MockRemote.build(BR.class, B.class);
@@ -251,20 +251,20 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface CR {
-		@RemoteMethod(path="/a") String postC01a(@FormData(name="x") String...b);
-		@RemoteMethod(path="/b") String postC01b(@FormData(name="x") String...b);
-		@RemoteMethod(path="/a") String postC02a(@FormData(name="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/b") String postC02b(@FormData(name="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/a") String postC03a(@FormData(name="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/b") String postC03b(@FormData(name="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/a") String postC04a(@FormData(name="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/b") String postC04b(@FormData(name="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/a") String postC05a(@FormData(name="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/b") String postC05b(@FormData(name="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/a") String postC06a(@FormData(name="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/b") String postC06b(@FormData(name="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/a") String postC07a(@FormData(name="x",collectionFormat="uon") String...b);
-		@RemoteMethod(path="/b") String postC07b(@FormData(name="x",collectionFormat="uon") String...b);
+		@RemoteMethod(path="/a") String postC01a(@FormData(n="x") String...b);
+		@RemoteMethod(path="/b") String postC01b(@FormData(n="x") String...b);
+		@RemoteMethod(path="/a") String postC02a(@FormData(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/b") String postC02b(@FormData(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/a") String postC03a(@FormData(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/b") String postC03b(@FormData(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/a") String postC04a(@FormData(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/b") String postC04b(@FormData(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/a") String postC05a(@FormData(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/b") String postC05b(@FormData(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/a") String postC06a(@FormData(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/b") String postC06b(@FormData(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/a") String postC07a(@FormData(n="x",cf="uon") String...b);
+		@RemoteMethod(path="/b") String postC07b(@FormData(n="x",cf="uon") String...b);
 	}
 
 	private static CR cr = MockRemote.build(CR.class, C.class);
@@ -342,49 +342,49 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface DR {
-		@RemoteMethod(path="/") String postC01a(@FormData(name="x",minimum="1",maximum="10") int b);
-		@RemoteMethod(path="/") String postC01b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) int b);
-		@RemoteMethod(path="/") String postC01c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) int b);
-		@RemoteMethod(path="/") String postC01d(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) int b);
-		@RemoteMethod(path="/") String postC02a(@FormData(name="x",minimum="1",maximum="10") short b);
-		@RemoteMethod(path="/") String postC02b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) short b);
-		@RemoteMethod(path="/") String postC02c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) short b);
-		@RemoteMethod(path="/") String postC03a(@FormData(name="x",minimum="1",maximum="10") long b);
-		@RemoteMethod(path="/") String postC03b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) long b);
-		@RemoteMethod(path="/") String postC03c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) long b);
-		@RemoteMethod(path="/") String postC04a(@FormData(name="x",minimum="1",maximum="10") float b);
-		@RemoteMethod(path="/") String postC04b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) float b);
-		@RemoteMethod(path="/") String postC04c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) float b);
-		@RemoteMethod(path="/") String postC05a(@FormData(name="x",minimum="1",maximum="10") double b);
-		@RemoteMethod(path="/") String postC05b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) double b);
-		@RemoteMethod(path="/") String postC05c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) double b);
-		@RemoteMethod(path="/") String postC06a(@FormData(name="x",minimum="1",maximum="10") byte b);
-		@RemoteMethod(path="/") String postC06b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) byte b);
-		@RemoteMethod(path="/") String postC06c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) byte b);
-		@RemoteMethod(path="/") String postC07a(@FormData(name="x",minimum="1",maximum="10") AtomicInteger b);
-		@RemoteMethod(path="/") String postC07b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) AtomicInteger b);
-		@RemoteMethod(path="/") String postC07c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) AtomicInteger b);
-		@RemoteMethod(path="/") String postC08a(@FormData(name="x",minimum="1",maximum="10") BigDecimal b);
-		@RemoteMethod(path="/") String postC08b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) BigDecimal b);
-		@RemoteMethod(path="/") String postC08c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) BigDecimal b);
-		@RemoteMethod(path="/") String postC11a(@FormData(name="x",minimum="1",maximum="10") Integer b);
-		@RemoteMethod(path="/") String postC11b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Integer b);
-		@RemoteMethod(path="/") String postC11c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Integer b);
-		@RemoteMethod(path="/") String postC12a(@FormData(name="x",minimum="1",maximum="10") Short b);
-		@RemoteMethod(path="/") String postC12b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Short b);
-		@RemoteMethod(path="/") String postC12c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Short b);
-		@RemoteMethod(path="/") String postC13a(@FormData(name="x",minimum="1",maximum="10") Long b);
-		@RemoteMethod(path="/") String postC13b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Long b);
-		@RemoteMethod(path="/") String postC13c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Long b);
-		@RemoteMethod(path="/") String postC14a(@FormData(name="x",minimum="1",maximum="10") Float b);
-		@RemoteMethod(path="/") String postC14b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Float b);
-		@RemoteMethod(path="/") String postC14c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Float b);
-		@RemoteMethod(path="/") String postC15a(@FormData(name="x",minimum="1",maximum="10") Double b);
-		@RemoteMethod(path="/") String postC15b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Double b);
-		@RemoteMethod(path="/") String postC15c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Double b);
-		@RemoteMethod(path="/") String postC16a(@FormData(name="x",minimum="1",maximum="10") Byte b);
-		@RemoteMethod(path="/") String postC16b(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Byte b);
-		@RemoteMethod(path="/") String postC16c(@FormData(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Byte b);
+		@RemoteMethod(path="/") String postC01a(@FormData(n="x",min="1",max="10") int b);
+		@RemoteMethod(path="/") String postC01b(@FormData(n="x",min="1",max="10",emin=false,emax=false) int b);
+		@RemoteMethod(path="/") String postC01c(@FormData(n="x",min="1",max="10",emin=true,emax=true) int b);
+		@RemoteMethod(path="/") String postC01d(@FormData(n="x",min="1",max="10",emin=true,emax=true) int b);
+		@RemoteMethod(path="/") String postC02a(@FormData(n="x",min="1",max="10") short b);
+		@RemoteMethod(path="/") String postC02b(@FormData(n="x",min="1",max="10",emin=false,emax=false) short b);
+		@RemoteMethod(path="/") String postC02c(@FormData(n="x",min="1",max="10",emin=true,emax=true) short b);
+		@RemoteMethod(path="/") String postC03a(@FormData(n="x",min="1",max="10") long b);
+		@RemoteMethod(path="/") String postC03b(@FormData(n="x",min="1",max="10",emin=false,emax=false) long b);
+		@RemoteMethod(path="/") String postC03c(@FormData(n="x",min="1",max="10",emin=true,emax=true) long b);
+		@RemoteMethod(path="/") String postC04a(@FormData(n="x",min="1",max="10") float b);
+		@RemoteMethod(path="/") String postC04b(@FormData(n="x",min="1",max="10",emin=false,emax=false) float b);
+		@RemoteMethod(path="/") String postC04c(@FormData(n="x",min="1",max="10",emin=true,emax=true) float b);
+		@RemoteMethod(path="/") String postC05a(@FormData(n="x",min="1",max="10") double b);
+		@RemoteMethod(path="/") String postC05b(@FormData(n="x",min="1",max="10",emin=false,emax=false) double b);
+		@RemoteMethod(path="/") String postC05c(@FormData(n="x",min="1",max="10",emin=true,emax=true) double b);
+		@RemoteMethod(path="/") String postC06a(@FormData(n="x",min="1",max="10") byte b);
+		@RemoteMethod(path="/") String postC06b(@FormData(n="x",min="1",max="10",emin=false,emax=false) byte b);
+		@RemoteMethod(path="/") String postC06c(@FormData(n="x",min="1",max="10",emin=true,emax=true) byte b);
+		@RemoteMethod(path="/") String postC07a(@FormData(n="x",min="1",max="10") AtomicInteger b);
+		@RemoteMethod(path="/") String postC07b(@FormData(n="x",min="1",max="10",emin=false,emax=false) AtomicInteger b);
+		@RemoteMethod(path="/") String postC07c(@FormData(n="x",min="1",max="10",emin=true,emax=true) AtomicInteger b);
+		@RemoteMethod(path="/") String postC08a(@FormData(n="x",min="1",max="10") BigDecimal b);
+		@RemoteMethod(path="/") String postC08b(@FormData(n="x",min="1",max="10",emin=false,emax=false) BigDecimal b);
+		@RemoteMethod(path="/") String postC08c(@FormData(n="x",min="1",max="10",emin=true,emax=true) BigDecimal b);
+		@RemoteMethod(path="/") String postC11a(@FormData(n="x",min="1",max="10") Integer b);
+		@RemoteMethod(path="/") String postC11b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Integer b);
+		@RemoteMethod(path="/") String postC11c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Integer b);
+		@RemoteMethod(path="/") String postC12a(@FormData(n="x",min="1",max="10") Short b);
+		@RemoteMethod(path="/") String postC12b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Short b);
+		@RemoteMethod(path="/") String postC12c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Short b);
+		@RemoteMethod(path="/") String postC13a(@FormData(n="x",min="1",max="10") Long b);
+		@RemoteMethod(path="/") String postC13b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Long b);
+		@RemoteMethod(path="/") String postC13c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Long b);
+		@RemoteMethod(path="/") String postC14a(@FormData(n="x",min="1",max="10") Float b);
+		@RemoteMethod(path="/") String postC14b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Float b);
+		@RemoteMethod(path="/") String postC14c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Float b);
+		@RemoteMethod(path="/") String postC15a(@FormData(n="x",min="1",max="10") Double b);
+		@RemoteMethod(path="/") String postC15b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Double b);
+		@RemoteMethod(path="/") String postC15c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Double b);
+		@RemoteMethod(path="/") String postC16a(@FormData(n="x",min="1",max="10") Byte b);
+		@RemoteMethod(path="/") String postC16b(@FormData(n="x",min="1",max="10",emin=false,emax=false) Byte b);
+		@RemoteMethod(path="/") String postC16c(@FormData(n="x",min="1",max="10",emin=true,emax=true) Byte b);
 	}
 
 	private static DR dr = MockRemote.build(DR.class, D.class);
@@ -716,12 +716,12 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface ER {
-		@RemoteMethod(path="/") String postE01(@FormData(name="x",collectionFormat="pipes",minItems=1,maxItems=2) String...b);
-		@RemoteMethod(path="/") String postE02(@FormData(name="x",items=@Items(collectionFormat="pipes",minItems=1,maxItems=2)) String[]...b);
-		@RemoteMethod(path="/") String postE03(@FormData(name="x",collectionFormat="pipes",uniqueItems=false) String...b);
-		@RemoteMethod(path="/") String postE04(@FormData(name="x",items=@Items(collectionFormat="pipes",uniqueItems=false)) String[]...b);
-		@RemoteMethod(path="/") String postE05(@FormData(name="x",collectionFormat="pipes",uniqueItems=true) String...b);
-		@RemoteMethod(path="/") String postE06(@FormData(name="x",items=@Items(collectionFormat="pipes",uniqueItems=true)) String[]...b);
+		@RemoteMethod(path="/") String postE01(@FormData(n="x",cf="pipes",mini=1,maxi=2) String...b);
+		@RemoteMethod(path="/") String postE02(@FormData(n="x",items=@Items(cf="pipes",mini=1,maxi=2)) String[]...b);
+		@RemoteMethod(path="/") String postE03(@FormData(n="x",cf="pipes",ui=false) String...b);
+		@RemoteMethod(path="/") String postE04(@FormData(n="x",items=@Items(cf="pipes",ui=false)) String[]...b);
+		@RemoteMethod(path="/") String postE05(@FormData(n="x",cf="pipes",ui=true) String...b);
+		@RemoteMethod(path="/") String postE06(@FormData(n="x",items=@Items(cf="pipes",ui=true)) String[]...b);
 	}
 
 	private static ER er = MockRemote.build(ER.class, E.class);
@@ -775,12 +775,12 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface FR {
-		@RemoteMethod(path="/") String postF01(@FormData(name="x",minLength=2,maxLength=3) String b);
-		@RemoteMethod(path="/") String postF02(@FormData(name="x",collectionFormat="pipes",items=@Items(minLength=2,maxLength=3)) String...b);
-		@RemoteMethod(path="/") String postF03(@FormData(name="x",_enum={"foo"}) String b);
-		@RemoteMethod(path="/") String postF04(@FormData(name="x",collectionFormat="pipes",items=@Items(_enum={"foo"})) String...b);
-		@RemoteMethod(path="/") String postF05(@FormData(name="x",pattern="foo\\d{1,3}") String b);
-		@RemoteMethod(path="/") String postF06(@FormData(name="x",collectionFormat="pipes",items=@Items(pattern="foo\\d{1,3}")) String...b);
+		@RemoteMethod(path="/") String postF01(@FormData(n="x",minl=2,maxl=3) String b);
+		@RemoteMethod(path="/") String postF02(@FormData(n="x",cf="pipes",items=@Items(minl=2,maxl=3)) String...b);
+		@RemoteMethod(path="/") String postF03(@FormData(n="x",e={"foo"}) String b);
+		@RemoteMethod(path="/") String postF04(@FormData(n="x",cf="pipes",items=@Items(e={"foo"})) String...b);
+		@RemoteMethod(path="/") String postF05(@FormData(n="x",p="foo\\d{1,3}") String b);
+		@RemoteMethod(path="/") String postF06(@FormData(n="x",cf="pipes",items=@Items(p="foo\\d{1,3}")) String...b);
 	}
 
 	private static FR fr = MockRemote.build(FR.class, F.class);
@@ -840,20 +840,20 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface GR {
-		@RemoteMethod(path="/") String postG01(@FormData(name="x",multipleOf="2") int b);
-		@RemoteMethod(path="/") String postG02(@FormData(name="x",multipleOf="2") short b);
-		@RemoteMethod(path="/") String postG03(@FormData(name="x",multipleOf="2") long b);
-		@RemoteMethod(path="/") String postG04(@FormData(name="x",multipleOf="2") float b);
-		@RemoteMethod(path="/") String postG05(@FormData(name="x",multipleOf="2") double b);
-		@RemoteMethod(path="/") String postG06(@FormData(name="x",multipleOf="2") byte b);
-		@RemoteMethod(path="/") String postG07(@FormData(name="x",multipleOf="2") AtomicInteger b);
-		@RemoteMethod(path="/") String postG08(@FormData(name="x",multipleOf="2") BigDecimal b);
-		@RemoteMethod(path="/") String postG11(@FormData(name="x",multipleOf="2") Integer b);
-		@RemoteMethod(path="/") String postG12(@FormData(name="x",multipleOf="2") Short b);
-		@RemoteMethod(path="/") String postG13(@FormData(name="x",multipleOf="2") Long b);
-		@RemoteMethod(path="/") String postG14(@FormData(name="x",multipleOf="2") Float b);
-		@RemoteMethod(path="/") String postG15(@FormData(name="x",multipleOf="2") Double b);
-		@RemoteMethod(path="/") String postG16(@FormData(name="x",multipleOf="2") Byte b);
+		@RemoteMethod(path="/") String postG01(@FormData(n="x",mo="2") int b);
+		@RemoteMethod(path="/") String postG02(@FormData(n="x",mo="2") short b);
+		@RemoteMethod(path="/") String postG03(@FormData(n="x",mo="2") long b);
+		@RemoteMethod(path="/") String postG04(@FormData(n="x",mo="2") float b);
+		@RemoteMethod(path="/") String postG05(@FormData(n="x",mo="2") double b);
+		@RemoteMethod(path="/") String postG06(@FormData(n="x",mo="2") byte b);
+		@RemoteMethod(path="/") String postG07(@FormData(n="x",mo="2") AtomicInteger b);
+		@RemoteMethod(path="/") String postG08(@FormData(n="x",mo="2") BigDecimal b);
+		@RemoteMethod(path="/") String postG11(@FormData(n="x",mo="2") Integer b);
+		@RemoteMethod(path="/") String postG12(@FormData(n="x",mo="2") Short b);
+		@RemoteMethod(path="/") String postG13(@FormData(n="x",mo="2") Long b);
+		@RemoteMethod(path="/") String postG14(@FormData(n="x",mo="2") Float b);
+		@RemoteMethod(path="/") String postG15(@FormData(n="x",mo="2") Double b);
+		@RemoteMethod(path="/") String postG16(@FormData(n="x",mo="2") Byte b);
 	}
 
 	private static GR gr = MockRemote.build(GR.class, G.class);
@@ -943,9 +943,9 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface HR {
-		@RemoteMethod(path="/") String postH01(@FormData(name="x") String b);
-		@RemoteMethod(path="/") String postH02(@FormData(name="x",required=false) String b);
-		@RemoteMethod(path="/") String postH03(@FormData(name="x",required=true) String b);
+		@RemoteMethod(path="/") String postH01(@FormData(n="x") String b);
+		@RemoteMethod(path="/") String postH02(@FormData(n="x",r=false) String b);
+		@RemoteMethod(path="/") String postH03(@FormData(n="x",r=true) String b);
 	}
 
 	private static HR hr = MockRemote.build(HR.class, H.class);
@@ -978,9 +978,9 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface IR {
-		@RemoteMethod(path="/") String postI01(@FormData(name="x",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String postI02(@FormData(name="x",allowEmptyValue=true,skipIfEmpty=false) String b);
-		@RemoteMethod(path="/") String postI03(@FormData(name="x",skipIfEmpty=true) String b);
+		@RemoteMethod(path="/") String postI01(@FormData(n="x",aev=true) String b);
+		@RemoteMethod(path="/") String postI02(@FormData(n="x",aev=true,sie=false) String b);
+		@RemoteMethod(path="/") String postI03(@FormData(n="x",sie=true) String b);
 	}
 
 	private static IR ir = MockRemote.build(IR.class, I.class);
@@ -1012,7 +1012,7 @@ public class FormDataAnnotationTest {
 
 	@Remote
 	public static interface JR {
-		@RemoteMethod(path="/") String postJ01(@FormData(name="x",serializer=XPartSerializer.class) String b);
+		@RemoteMethod(path="/") String postJ01(@FormData(n="x",serializer=XPartSerializer.class) String b);
 	}
 
 	private static JR jr = MockRemote.build(JR.class, J.class);
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/HeaderAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/HeaderAnnotationTest.java
index 96fb7df..6549756 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/HeaderAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/HeaderAnnotationTest.java
@@ -68,13 +68,13 @@ public class HeaderAnnotationTest {
 		@RemoteMethod(path="a") String getA03b(@Header("*") Bean b);
 		@RemoteMethod(path="a") String getA03c(@Header Bean b);
 		@RemoteMethod(path="a") String getA04a(@Header("x") Bean[] b);
-		@RemoteMethod(path="a") String getA04b(@Header(name="x",collectionFormat="uon") Bean[] b);
+		@RemoteMethod(path="a") String getA04b(@Header(n="x",cf="uon") Bean[] b);
 		@RemoteMethod(path="a") String getA05a(@Header("x") List<Bean> b);
-		@RemoteMethod(path="a") String getA05b(@Header(name="x",collectionFormat="uon") List<Bean> b);
+		@RemoteMethod(path="a") String getA05b(@Header(n="x",cf="uon") List<Bean> b);
 		@RemoteMethod(path="a") String getA06a(@Header("x") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA06b(@Header("*") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA06c(@Header Map<String,Bean> b);
-		@RemoteMethod(path="a") String getA06d(@Header(name="x",format="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a") String getA06d(@Header(n="x",f="uon") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA06e(@Header(format="uon") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA09a(@Header("*") NameValuePairs b);
 		@RemoteMethod(path="a") String getA09b(@Header NameValuePairs b);
@@ -162,10 +162,10 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface BR {
-		@RemoteMethod(path="/") String getB01(@Header(name="x",_default="foo") String b);
-		@RemoteMethod(path="/") String getB02(@Header(name="x",_default="foo",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String getB03(@Header(name="x",_default="") String b);
-		@RemoteMethod(path="/") String getB04(@Header(name="x",_default="",allowEmptyValue=true) String b);
+		@RemoteMethod(path="/") String getB01(@Header(n="x",df="foo") String b);
+		@RemoteMethod(path="/") String getB02(@Header(n="x",df="foo",aev=true) String b);
+		@RemoteMethod(path="/") String getB03(@Header(n="x",df="") String b);
+		@RemoteMethod(path="/") String getB04(@Header(n="x",df="",aev=true) String b);
 	}
 
 	private static BR br = MockRemote.build(BR.class, B.class);
@@ -226,13 +226,13 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface CR {
-		@RemoteMethod(path="/a") String getC01(@Header(name="x") String...b);
-		@RemoteMethod(path="/a") String getC02(@Header(name="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/a") String getC03(@Header(name="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/a") String getC04(@Header(name="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/a") String getC05(@Header(name="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/a") String getC06(@Header(name="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/a") String getC07(@Header(name="x",collectionFormat="uon") String...b);
+		@RemoteMethod(path="/a") String getC01(@Header(n="x") String...b);
+		@RemoteMethod(path="/a") String getC02(@Header(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/a") String getC03(@Header(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/a") String getC04(@Header(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/a") String getC05(@Header(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/a") String getC06(@Header(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/a") String getC07(@Header(n="x",cf="uon") String...b);
 	}
 
 	private static CR cr = MockRemote.build(CR.class, C.class);
@@ -282,48 +282,48 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface DR {
-		@RemoteMethod(path="/") String getC01a(@Header(name="x",minimum="1",maximum="10") int b);
-		@RemoteMethod(path="/") String getC01b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) int b);
-		@RemoteMethod(path="/") String getC01c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) int b);
-		@RemoteMethod(path="/") String getC02a(@Header(name="x",minimum="1",maximum="10") short b);
-		@RemoteMethod(path="/") String getC02b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) short b);
-		@RemoteMethod(path="/") String getC02c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) short b);
-		@RemoteMethod(path="/") String getC03a(@Header(name="x",minimum="1",maximum="10") long b);
-		@RemoteMethod(path="/") String getC03b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) long b);
-		@RemoteMethod(path="/") String getC03c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) long b);
-		@RemoteMethod(path="/") String getC04a(@Header(name="x",minimum="1",maximum="10") float b);
-		@RemoteMethod(path="/") String getC04b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) float b);
-		@RemoteMethod(path="/") String getC04c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) float b);
-		@RemoteMethod(path="/") String getC05a(@Header(name="x",minimum="1",maximum="10") double b);
-		@RemoteMethod(path="/") String getC05b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) double b);
-		@RemoteMethod(path="/") String getC05c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) double b);
-		@RemoteMethod(path="/") String getC06a(@Header(name="x",minimum="1",maximum="10") byte b);
-		@RemoteMethod(path="/") String getC06b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) byte b);
-		@RemoteMethod(path="/") String getC06c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) byte b);
-		@RemoteMethod(path="/") String getC07a(@Header(name="x",minimum="1",maximum="10") AtomicInteger b);
-		@RemoteMethod(path="/") String getC07b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) AtomicInteger b);
-		@RemoteMethod(path="/") String getC07c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) AtomicInteger b);
-		@RemoteMethod(path="/") String getC08a(@Header(name="x",minimum="1",maximum="10") BigDecimal b);
-		@RemoteMethod(path="/") String getC08b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) BigDecimal b);
-		@RemoteMethod(path="/") String getC08c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) BigDecimal b);
-		@RemoteMethod(path="/") String getC11a(@Header(name="x",minimum="1",maximum="10") Integer b);
-		@RemoteMethod(path="/") String getC11b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Integer b);
-		@RemoteMethod(path="/") String getC11c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Integer b);
-		@RemoteMethod(path="/") String getC12a(@Header(name="x",minimum="1",maximum="10") Short b);
-		@RemoteMethod(path="/") String getC12b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Short b);
-		@RemoteMethod(path="/") String getC12c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Short b);
-		@RemoteMethod(path="/") String getC13a(@Header(name="x",minimum="1",maximum="10") Long b);
-		@RemoteMethod(path="/") String getC13b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Long b);
-		@RemoteMethod(path="/") String getC13c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Long b);
-		@RemoteMethod(path="/") String getC14a(@Header(name="x",minimum="1",maximum="10") Float b);
-		@RemoteMethod(path="/") String getC14b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Float b);
-		@RemoteMethod(path="/") String getC14c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Float b);
-		@RemoteMethod(path="/") String getC15a(@Header(name="x",minimum="1",maximum="10") Double b);
-		@RemoteMethod(path="/") String getC15b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Double b);
-		@RemoteMethod(path="/") String getC15c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Double b);
-		@RemoteMethod(path="/") String getC16a(@Header(name="x",minimum="1",maximum="10") Byte b);
-		@RemoteMethod(path="/") String getC16b(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Byte b);
-		@RemoteMethod(path="/") String getC16c(@Header(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Byte b);
+		@RemoteMethod(path="/") String getC01a(@Header(n="x",min="1",max="10") int b);
+		@RemoteMethod(path="/") String getC01b(@Header(n="x",min="1",max="10",emin=false,emax=false) int b);
+		@RemoteMethod(path="/") String getC01c(@Header(n="x",min="1",max="10",emin=true,emax=true) int b);
+		@RemoteMethod(path="/") String getC02a(@Header(n="x",min="1",max="10") short b);
+		@RemoteMethod(path="/") String getC02b(@Header(n="x",min="1",max="10",emin=false,emax=false) short b);
+		@RemoteMethod(path="/") String getC02c(@Header(n="x",min="1",max="10",emin=true,emax=true) short b);
+		@RemoteMethod(path="/") String getC03a(@Header(n="x",min="1",max="10") long b);
+		@RemoteMethod(path="/") String getC03b(@Header(n="x",min="1",max="10",emin=false,emax=false) long b);
+		@RemoteMethod(path="/") String getC03c(@Header(n="x",min="1",max="10",emin=true,emax=true) long b);
+		@RemoteMethod(path="/") String getC04a(@Header(n="x",min="1",max="10") float b);
+		@RemoteMethod(path="/") String getC04b(@Header(n="x",min="1",max="10",emin=false,emax=false) float b);
+		@RemoteMethod(path="/") String getC04c(@Header(n="x",min="1",max="10",emin=true,emax=true) float b);
+		@RemoteMethod(path="/") String getC05a(@Header(n="x",min="1",max="10") double b);
+		@RemoteMethod(path="/") String getC05b(@Header(n="x",min="1",max="10",emin=false,emax=false) double b);
+		@RemoteMethod(path="/") String getC05c(@Header(n="x",min="1",max="10",emin=true,emax=true) double b);
+		@RemoteMethod(path="/") String getC06a(@Header(n="x",min="1",max="10") byte b);
+		@RemoteMethod(path="/") String getC06b(@Header(n="x",min="1",max="10",emin=false,emax=false) byte b);
+		@RemoteMethod(path="/") String getC06c(@Header(n="x",min="1",max="10",emin=true,emax=true) byte b);
+		@RemoteMethod(path="/") String getC07a(@Header(n="x",min="1",max="10") AtomicInteger b);
+		@RemoteMethod(path="/") String getC07b(@Header(n="x",min="1",max="10",emin=false,emax=false) AtomicInteger b);
+		@RemoteMethod(path="/") String getC07c(@Header(n="x",min="1",max="10",emin=true,emax=true) AtomicInteger b);
+		@RemoteMethod(path="/") String getC08a(@Header(n="x",min="1",max="10") BigDecimal b);
+		@RemoteMethod(path="/") String getC08b(@Header(n="x",min="1",max="10",emin=false,emax=false) BigDecimal b);
+		@RemoteMethod(path="/") String getC08c(@Header(n="x",min="1",max="10",emin=true,emax=true) BigDecimal b);
+		@RemoteMethod(path="/") String getC11a(@Header(n="x",min="1",max="10") Integer b);
+		@RemoteMethod(path="/") String getC11b(@Header(n="x",min="1",max="10",emin=false,emax=false) Integer b);
+		@RemoteMethod(path="/") String getC11c(@Header(n="x",min="1",max="10",emin=true,emax=true) Integer b);
+		@RemoteMethod(path="/") String getC12a(@Header(n="x",min="1",max="10") Short b);
+		@RemoteMethod(path="/") String getC12b(@Header(n="x",min="1",max="10",emin=false,emax=false) Short b);
+		@RemoteMethod(path="/") String getC12c(@Header(n="x",min="1",max="10",emin=true,emax=true) Short b);
+		@RemoteMethod(path="/") String getC13a(@Header(n="x",min="1",max="10") Long b);
+		@RemoteMethod(path="/") String getC13b(@Header(n="x",min="1",max="10",emin=false,emax=false) Long b);
+		@RemoteMethod(path="/") String getC13c(@Header(n="x",min="1",max="10",emin=true,emax=true) Long b);
+		@RemoteMethod(path="/") String getC14a(@Header(n="x",min="1",max="10") Float b);
+		@RemoteMethod(path="/") String getC14b(@Header(n="x",min="1",max="10",emin=false,emax=false) Float b);
+		@RemoteMethod(path="/") String getC14c(@Header(n="x",min="1",max="10",emin=true,emax=true) Float b);
+		@RemoteMethod(path="/") String getC15a(@Header(n="x",min="1",max="10") Double b);
+		@RemoteMethod(path="/") String getC15b(@Header(n="x",min="1",max="10",emin=false,emax=false) Double b);
+		@RemoteMethod(path="/") String getC15c(@Header(n="x",min="1",max="10",emin=true,emax=true) Double b);
+		@RemoteMethod(path="/") String getC16a(@Header(n="x",min="1",max="10") Byte b);
+		@RemoteMethod(path="/") String getC16b(@Header(n="x",min="1",max="10",emin=false,emax=false) Byte b);
+		@RemoteMethod(path="/") String getC16c(@Header(n="x",min="1",max="10",emin=true,emax=true) Byte b);
 	}
 
 	private static DR dr = MockRemote.build(DR.class, D.class);
@@ -656,12 +656,12 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface ER {
-		@RemoteMethod(path="/") String getE01(@Header(name="x",collectionFormat="pipes",minItems=1,maxItems=2) String...b);
-		@RemoteMethod(path="/") String getE02(@Header(name="x",items=@Items(collectionFormat="pipes",minItems=1,maxItems=2)) String[]...b);
-		@RemoteMethod(path="/") String getE03(@Header(name="x",collectionFormat="pipes",uniqueItems=false) String...b);
-		@RemoteMethod(path="/") String getE04(@Header(name="x",items=@Items(collectionFormat="pipes",uniqueItems=false)) String[]...b);
-		@RemoteMethod(path="/") String getE05(@Header(name="x",collectionFormat="pipes",uniqueItems=true) String...b);
-		@RemoteMethod(path="/") String getE06(@Header(name="x",items=@Items(collectionFormat="pipes",uniqueItems=true)) String[]...b);
+		@RemoteMethod(path="/") String getE01(@Header(n="x",cf="pipes",mini=1,maxi=2) String...b);
+		@RemoteMethod(path="/") String getE02(@Header(n="x",items=@Items(cf="pipes",mini=1,maxi=2)) String[]...b);
+		@RemoteMethod(path="/") String getE03(@Header(n="x",cf="pipes",ui=false) String...b);
+		@RemoteMethod(path="/") String getE04(@Header(n="x",items=@Items(cf="pipes",ui=false)) String[]...b);
+		@RemoteMethod(path="/") String getE05(@Header(n="x",cf="pipes",ui=true) String...b);
+		@RemoteMethod(path="/") String getE06(@Header(n="x",items=@Items(cf="pipes",ui=true)) String[]...b);
 	}
 
 	private static ER er = MockRemote.build(ER.class, E.class);
@@ -716,12 +716,12 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface FR {
-		@RemoteMethod(path="/") String getF01(@Header(name="x",minLength=2,maxLength=3) String b);
-		@RemoteMethod(path="/") String getF02(@Header(name="x",collectionFormat="pipes",items=@Items(minLength=2,maxLength=3)) String...b);
-		@RemoteMethod(path="/") String getF03(@Header(name="x",_enum={"foo"}) String b);
-		@RemoteMethod(path="/") String getF04(@Header(name="x",collectionFormat="pipes",items=@Items(_enum={"foo"})) String...b);
-		@RemoteMethod(path="/") String getF05(@Header(name="x",pattern="foo\\d{1,3}") String b);
-		@RemoteMethod(path="/") String getF06(@Header(name="x",collectionFormat="pipes",items=@Items(pattern="foo\\d{1,3}")) String...b);
+		@RemoteMethod(path="/") String getF01(@Header(n="x",minl=2,maxl=3) String b);
+		@RemoteMethod(path="/") String getF02(@Header(n="x",cf="pipes",items=@Items(minl=2,maxl=3)) String...b);
+		@RemoteMethod(path="/") String getF03(@Header(n="x",e={"foo"}) String b);
+		@RemoteMethod(path="/") String getF04(@Header(n="x",cf="pipes",items=@Items(e={"foo"})) String...b);
+		@RemoteMethod(path="/") String getF05(@Header(n="x",p="foo\\d{1,3}") String b);
+		@RemoteMethod(path="/") String getF06(@Header(n="x",cf="pipes",items=@Items(p="foo\\d{1,3}")) String...b);
 	}
 
 	private static FR fr = MockRemote.build(FR.class, F.class);
@@ -782,20 +782,20 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface GR {
-		@RemoteMethod(path="/") String getG01(@Header(name="x",multipleOf="2") int b);
-		@RemoteMethod(path="/") String getG02(@Header(name="x",multipleOf="2") short b);
-		@RemoteMethod(path="/") String getG03(@Header(name="x",multipleOf="2") long b);
-		@RemoteMethod(path="/") String getG04(@Header(name="x",multipleOf="2") float b);
-		@RemoteMethod(path="/") String getG05(@Header(name="x",multipleOf="2") double b);
-		@RemoteMethod(path="/") String getG06(@Header(name="x",multipleOf="2") byte b);
-		@RemoteMethod(path="/") String getG07(@Header(name="x",multipleOf="2") AtomicInteger b);
-		@RemoteMethod(path="/") String getG08(@Header(name="x",multipleOf="2") BigDecimal b);
-		@RemoteMethod(path="/") String getG11(@Header(name="x",multipleOf="2") Integer b);
-		@RemoteMethod(path="/") String getG12(@Header(name="x",multipleOf="2") Short b);
-		@RemoteMethod(path="/") String getG13(@Header(name="x",multipleOf="2") Long b);
-		@RemoteMethod(path="/") String getG14(@Header(name="x",multipleOf="2") Float b);
-		@RemoteMethod(path="/") String getG15(@Header(name="x",multipleOf="2") Double b);
-		@RemoteMethod(path="/") String getG16(@Header(name="x",multipleOf="2") Byte b);
+		@RemoteMethod(path="/") String getG01(@Header(n="x",mo="2") int b);
+		@RemoteMethod(path="/") String getG02(@Header(n="x",mo="2") short b);
+		@RemoteMethod(path="/") String getG03(@Header(n="x",mo="2") long b);
+		@RemoteMethod(path="/") String getG04(@Header(n="x",mo="2") float b);
+		@RemoteMethod(path="/") String getG05(@Header(n="x",mo="2") double b);
+		@RemoteMethod(path="/") String getG06(@Header(n="x",mo="2") byte b);
+		@RemoteMethod(path="/") String getG07(@Header(n="x",mo="2") AtomicInteger b);
+		@RemoteMethod(path="/") String getG08(@Header(n="x",mo="2") BigDecimal b);
+		@RemoteMethod(path="/") String getG11(@Header(n="x",mo="2") Integer b);
+		@RemoteMethod(path="/") String getG12(@Header(n="x",mo="2") Short b);
+		@RemoteMethod(path="/") String getG13(@Header(n="x",mo="2") Long b);
+		@RemoteMethod(path="/") String getG14(@Header(n="x",mo="2") Float b);
+		@RemoteMethod(path="/") String getG15(@Header(n="x",mo="2") Double b);
+		@RemoteMethod(path="/") String getG16(@Header(n="x",mo="2") Byte b);
 	}
 
 	private static GR gr = MockRemote.build(GR.class, G.class);
@@ -886,9 +886,9 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface HR {
-		@RemoteMethod(path="/") String getH01(@Header(name="x") String b);
-		@RemoteMethod(path="/") String getH02(@Header(name="x",required=false) String b);
-		@RemoteMethod(path="/") String getH03(@Header(name="x",required=true) String b);
+		@RemoteMethod(path="/") String getH01(@Header(n="x") String b);
+		@RemoteMethod(path="/") String getH02(@Header(n="x",r=false) String b);
+		@RemoteMethod(path="/") String getH03(@Header(n="x",r=true) String b);
 	}
 
 	private static HR hr = MockRemote.build(HR.class, H.class);
@@ -922,9 +922,9 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface IR {
-		@RemoteMethod(path="/") String getI01(@Header(name="x",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String getI02(@Header(name="x",allowEmptyValue=true,skipIfEmpty=false) String b);
-		@RemoteMethod(path="/") String getI03(@Header(name="x",skipIfEmpty=true) String b);
+		@RemoteMethod(path="/") String getI01(@Header(n="x",aev=true) String b);
+		@RemoteMethod(path="/") String getI02(@Header(n="x",aev=true,sie=false) String b);
+		@RemoteMethod(path="/") String getI03(@Header(n="x",sie=true) String b);
 	}
 
 	private static IR ir = MockRemote.build(IR.class, I.class);
@@ -957,7 +957,7 @@ public class HeaderAnnotationTest {
 
 	@Remote
 	public static interface JR {
-		@RemoteMethod(path="/") String getJ01(@Header(name="x",serializer=XPartSerializer.class) String b);
+		@RemoteMethod(path="/") String getJ01(@Header(n="x",serializer=XPartSerializer.class) String b);
 	}
 
 	private static JR jr = MockRemote.build(JR.class, J.class);
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/PathAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/PathAnnotationTest.java
index 68e4a25..2c3ee82 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/PathAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/PathAnnotationTest.java
@@ -67,14 +67,14 @@ public class PathAnnotationTest {
 		@RemoteMethod(path="a/{x}") String getA03b(@Path("*") Bean b);
 		@RemoteMethod(path="a/{x}") String getA03c(@Path Bean b);
 		@RemoteMethod(path="a/{x}") String getA04a(@Path("x") Bean[] b);
-		@RemoteMethod(path="a/{x}") String getA04b(@Path(name="x",collectionFormat="uon") Bean[] b);
+		@RemoteMethod(path="a/{x}") String getA04b(@Path(n="x",cf="uon") Bean[] b);
 		@RemoteMethod(path="a/{x}") String getA05a(@Path("x") List<Bean> b);
-		@RemoteMethod(path="a/{x}") String getA05b(@Path(name="x",collectionFormat="uon") List<Bean> b);
+		@RemoteMethod(path="a/{x}") String getA05b(@Path(n="x",cf="uon") List<Bean> b);
 		@RemoteMethod(path="a/{x}") String getA06a(@Path("x") Map<String,Bean> b);
 		@RemoteMethod(path="a/{x}") String getA06b(@Path("*") Map<String,Bean> b);
 		@RemoteMethod(path="a/{x}") String getA06c(@Path Map<String,Bean> b);
-		@RemoteMethod(path="a/{x}") String getA06d(@Path(name="x",collectionFormat="uon") Map<String,Bean> b);
-		@RemoteMethod(path="a/{x}") String getA06e(@Path(format="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a/{x}") String getA06d(@Path(n="x",cf="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a/{x}") String getA06e(@Path(f="uon") Map<String,Bean> b);
 		@RemoteMethod(path="a/{x}") String getA09a(@Path("*") NameValuePairs b);
 		@RemoteMethod(path="a/{x}") String getA09b(@Path NameValuePairs b);
 	}
@@ -161,13 +161,13 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface CR {
-		@RemoteMethod(path="/a/{x}") String getC01(@Path(name="x") String...b);
-		@RemoteMethod(path="/a/{x}") String getC02(@Path(name="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/a/{x}") String getC03(@Path(name="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/a/{x}") String getC04(@Path(name="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/a/{x}") String getC05(@Path(name="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/a/{x}") String getC06(@Path(name="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/a/{x}") String getC07(@Path(name="x",collectionFormat="uon") String...b);
+		@RemoteMethod(path="/a/{x}") String getC01(@Path(n="x") String...b);
+		@RemoteMethod(path="/a/{x}") String getC02(@Path(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/a/{x}") String getC03(@Path(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/a/{x}") String getC04(@Path(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/a/{x}") String getC05(@Path(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/a/{x}") String getC06(@Path(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/a/{x}") String getC07(@Path(n="x",cf="uon") String...b);
 	}
 
 	private static CR cr = MockRemote.build(CR.class, C.class);
@@ -217,48 +217,48 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface DR {
-		@RemoteMethod(path="/a/{x}") String getC01a(@Path(name="x",minimum="1",maximum="10") int b);
-		@RemoteMethod(path="/a/{x}") String getC01b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) int b);
-		@RemoteMethod(path="/a/{x}") String getC01c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) int b);
-		@RemoteMethod(path="/a/{x}") String getC02a(@Path(name="x",minimum="1",maximum="10") short b);
-		@RemoteMethod(path="/a/{x}") String getC02b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) short b);
-		@RemoteMethod(path="/a/{x}") String getC02c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) short b);
-		@RemoteMethod(path="/a/{x}") String getC03a(@Path(name="x",minimum="1",maximum="10") long b);
-		@RemoteMethod(path="/a/{x}") String getC03b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) long b);
-		@RemoteMethod(path="/a/{x}") String getC03c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) long b);
-		@RemoteMethod(path="/a/{x}") String getC04a(@Path(name="x",minimum="1",maximum="10") float b);
-		@RemoteMethod(path="/a/{x}") String getC04b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) float b);
-		@RemoteMethod(path="/a/{x}") String getC04c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) float b);
-		@RemoteMethod(path="/a/{x}") String getC05a(@Path(name="x",minimum="1",maximum="10") double b);
-		@RemoteMethod(path="/a/{x}") String getC05b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) double b);
-		@RemoteMethod(path="/a/{x}") String getC05c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) double b);
-		@RemoteMethod(path="/a/{x}") String getC06a(@Path(name="x",minimum="1",maximum="10") byte b);
-		@RemoteMethod(path="/a/{x}") String getC06b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) byte b);
-		@RemoteMethod(path="/a/{x}") String getC06c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) byte b);
-		@RemoteMethod(path="/a/{x}") String getC07a(@Path(name="x",minimum="1",maximum="10") AtomicInteger b);
-		@RemoteMethod(path="/a/{x}") String getC07b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) AtomicInteger b);
-		@RemoteMethod(path="/a/{x}") String getC07c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) AtomicInteger b);
-		@RemoteMethod(path="/a/{x}") String getC08a(@Path(name="x",minimum="1",maximum="10") BigDecimal b);
-		@RemoteMethod(path="/a/{x}") String getC08b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) BigDecimal b);
-		@RemoteMethod(path="/a/{x}") String getC08c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) BigDecimal b);
-		@RemoteMethod(path="/a/{x}") String getC11a(@Path(name="x",minimum="1",maximum="10") Integer b);
-		@RemoteMethod(path="/a/{x}") String getC11b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Integer b);
-		@RemoteMethod(path="/a/{x}") String getC11c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Integer b);
-		@RemoteMethod(path="/a/{x}") String getC12a(@Path(name="x",minimum="1",maximum="10") Short b);
-		@RemoteMethod(path="/a/{x}") String getC12b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Short b);
-		@RemoteMethod(path="/a/{x}") String getC12c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Short b);
-		@RemoteMethod(path="/a/{x}") String getC13a(@Path(name="x",minimum="1",maximum="10") Long b);
-		@RemoteMethod(path="/a/{x}") String getC13b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Long b);
-		@RemoteMethod(path="/a/{x}") String getC13c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Long b);
-		@RemoteMethod(path="/a/{x}") String getC14a(@Path(name="x",minimum="1",maximum="10") Float b);
-		@RemoteMethod(path="/a/{x}") String getC14b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Float b);
-		@RemoteMethod(path="/a/{x}") String getC14c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Float b);
-		@RemoteMethod(path="/a/{x}") String getC15a(@Path(name="x",minimum="1",maximum="10") Double b);
-		@RemoteMethod(path="/a/{x}") String getC15b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Double b);
-		@RemoteMethod(path="/a/{x}") String getC15c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Double b);
-		@RemoteMethod(path="/a/{x}") String getC16a(@Path(name="x",minimum="1",maximum="10") Byte b);
-		@RemoteMethod(path="/a/{x}") String getC16b(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Byte b);
-		@RemoteMethod(path="/a/{x}") String getC16c(@Path(name="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Byte b);
+		@RemoteMethod(path="/a/{x}") String getC01a(@Path(n="x",min="1",max="10") int b);
+		@RemoteMethod(path="/a/{x}") String getC01b(@Path(n="x",min="1",max="10",emin=false,emax=false) int b);
+		@RemoteMethod(path="/a/{x}") String getC01c(@Path(n="x",min="1",max="10",emin=true,emax=true) int b);
+		@RemoteMethod(path="/a/{x}") String getC02a(@Path(n="x",min="1",max="10") short b);
+		@RemoteMethod(path="/a/{x}") String getC02b(@Path(n="x",min="1",max="10",emin=false,emax=false) short b);
+		@RemoteMethod(path="/a/{x}") String getC02c(@Path(n="x",min="1",max="10",emin=true,emax=true) short b);
+		@RemoteMethod(path="/a/{x}") String getC03a(@Path(n="x",min="1",max="10") long b);
+		@RemoteMethod(path="/a/{x}") String getC03b(@Path(n="x",min="1",max="10",emin=false,emax=false) long b);
+		@RemoteMethod(path="/a/{x}") String getC03c(@Path(n="x",min="1",max="10",emin=true,emax=true) long b);
+		@RemoteMethod(path="/a/{x}") String getC04a(@Path(n="x",min="1",max="10") float b);
+		@RemoteMethod(path="/a/{x}") String getC04b(@Path(n="x",min="1",max="10",emin=false,emax=false) float b);
+		@RemoteMethod(path="/a/{x}") String getC04c(@Path(n="x",min="1",max="10",emin=true,emax=true) float b);
+		@RemoteMethod(path="/a/{x}") String getC05a(@Path(n="x",min="1",max="10") double b);
+		@RemoteMethod(path="/a/{x}") String getC05b(@Path(n="x",min="1",max="10",emin=false,emax=false) double b);
+		@RemoteMethod(path="/a/{x}") String getC05c(@Path(n="x",min="1",max="10",emin=true,emax=true) double b);
+		@RemoteMethod(path="/a/{x}") String getC06a(@Path(n="x",min="1",max="10") byte b);
+		@RemoteMethod(path="/a/{x}") String getC06b(@Path(n="x",min="1",max="10",emin=false,emax=false) byte b);
+		@RemoteMethod(path="/a/{x}") String getC06c(@Path(n="x",min="1",max="10",emin=true,emax=true) byte b);
+		@RemoteMethod(path="/a/{x}") String getC07a(@Path(n="x",min="1",max="10") AtomicInteger b);
+		@RemoteMethod(path="/a/{x}") String getC07b(@Path(n="x",min="1",max="10",emin=false,emax=false) AtomicInteger b);
+		@RemoteMethod(path="/a/{x}") String getC07c(@Path(n="x",min="1",max="10",emin=true,emax=true) AtomicInteger b);
+		@RemoteMethod(path="/a/{x}") String getC08a(@Path(n="x",min="1",max="10") BigDecimal b);
+		@RemoteMethod(path="/a/{x}") String getC08b(@Path(n="x",min="1",max="10",emin=false,emax=false) BigDecimal b);
+		@RemoteMethod(path="/a/{x}") String getC08c(@Path(n="x",min="1",max="10",emin=true,emax=true) BigDecimal b);
+		@RemoteMethod(path="/a/{x}") String getC11a(@Path(n="x",min="1",max="10") Integer b);
+		@RemoteMethod(path="/a/{x}") String getC11b(@Path(n="x",min="1",max="10",emin=false,emax=false) Integer b);
+		@RemoteMethod(path="/a/{x}") String getC11c(@Path(n="x",min="1",max="10",emin=true,emax=true) Integer b);
+		@RemoteMethod(path="/a/{x}") String getC12a(@Path(n="x",min="1",max="10") Short b);
+		@RemoteMethod(path="/a/{x}") String getC12b(@Path(n="x",min="1",max="10",emin=false,emax=false) Short b);
+		@RemoteMethod(path="/a/{x}") String getC12c(@Path(n="x",min="1",max="10",emin=true,emax=true) Short b);
+		@RemoteMethod(path="/a/{x}") String getC13a(@Path(n="x",min="1",max="10") Long b);
+		@RemoteMethod(path="/a/{x}") String getC13b(@Path(n="x",min="1",max="10",emin=false,emax=false) Long b);
+		@RemoteMethod(path="/a/{x}") String getC13c(@Path(n="x",min="1",max="10",emin=true,emax=true) Long b);
+		@RemoteMethod(path="/a/{x}") String getC14a(@Path(n="x",min="1",max="10") Float b);
+		@RemoteMethod(path="/a/{x}") String getC14b(@Path(n="x",min="1",max="10",emin=false,emax=false) Float b);
+		@RemoteMethod(path="/a/{x}") String getC14c(@Path(n="x",min="1",max="10",emin=true,emax=true) Float b);
+		@RemoteMethod(path="/a/{x}") String getC15a(@Path(n="x",min="1",max="10") Double b);
+		@RemoteMethod(path="/a/{x}") String getC15b(@Path(n="x",min="1",max="10",emin=false,emax=false) Double b);
+		@RemoteMethod(path="/a/{x}") String getC15c(@Path(n="x",min="1",max="10",emin=true,emax=true) Double b);
+		@RemoteMethod(path="/a/{x}") String getC16a(@Path(n="x",min="1",max="10") Byte b);
+		@RemoteMethod(path="/a/{x}") String getC16b(@Path(n="x",min="1",max="10",emin=false,emax=false) Byte b);
+		@RemoteMethod(path="/a/{x}") String getC16c(@Path(n="x",min="1",max="10",emin=true,emax=true) Byte b);
 	}
 
 	private static DR dr = MockRemote.build(DR.class, D.class);
@@ -573,12 +573,12 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface ER {
-		@RemoteMethod(path="/{x}") String getE01(@Path(name="x",collectionFormat="pipes",minItems=1,maxItems=2) String...b);
-		@RemoteMethod(path="/{x}") String getE02(@Path(name="x",items=@Items(collectionFormat="pipes",minItems=1,maxItems=2)) String[]...b);
-		@RemoteMethod(path="/{x}") String getE03(@Path(name="x",collectionFormat="pipes",uniqueItems=false) String...b);
-		@RemoteMethod(path="/{x}") String getE04(@Path(name="x",items=@Items(collectionFormat="pipes",uniqueItems=false)) String[]...b);
-		@RemoteMethod(path="/{x}") String getE05(@Path(name="x",collectionFormat="pipes",uniqueItems=true) String...b);
-		@RemoteMethod(path="/{x}") String getE06(@Path(name="x",items=@Items(collectionFormat="pipes",uniqueItems=true)) String[]...b);
+		@RemoteMethod(path="/{x}") String getE01(@Path(n="x",cf="pipes",mini=1,maxi=2) String...b);
+		@RemoteMethod(path="/{x}") String getE02(@Path(n="x",items=@Items(cf="pipes",mini=1,maxi=2)) String[]...b);
+		@RemoteMethod(path="/{x}") String getE03(@Path(n="x",cf="pipes",ui=false) String...b);
+		@RemoteMethod(path="/{x}") String getE04(@Path(n="x",items=@Items(cf="pipes",ui=false)) String[]...b);
+		@RemoteMethod(path="/{x}") String getE05(@Path(n="x",cf="pipes",ui=true) String...b);
+		@RemoteMethod(path="/{x}") String getE06(@Path(n="x",items=@Items(cf="pipes",ui=true)) String[]...b);
 	}
 
 	private static ER er = MockRemote.build(ER.class, E.class);
@@ -633,12 +633,12 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface FR {
-		@RemoteMethod(path="/{x}") String getF01(@Path(name="x",minLength=2,maxLength=3) String b);
-		@RemoteMethod(path="/{x}") String getF02(@Path(name="x",collectionFormat="pipes",items=@Items(minLength=2,maxLength=3)) String...b);
-		@RemoteMethod(path="/{x}") String getF03(@Path(name="x",_enum={"foo"}) String b);
-		@RemoteMethod(path="/{x}") String getF04(@Path(name="x",collectionFormat="pipes",items=@Items(_enum={"foo"})) String...b);
-		@RemoteMethod(path="/{x}") String getF05(@Path(name="x",pattern="foo\\d{1,3}") String b);
-		@RemoteMethod(path="/{x}") String getF06(@Path(name="x",collectionFormat="pipes",items=@Items(pattern="foo\\d{1,3}")) String...b);
+		@RemoteMethod(path="/{x}") String getF01(@Path(n="x",minl=2,maxl=3) String b);
+		@RemoteMethod(path="/{x}") String getF02(@Path(n="x",cf="pipes",items=@Items(minl=2,maxl=3)) String...b);
+		@RemoteMethod(path="/{x}") String getF03(@Path(n="x",e={"foo"}) String b);
+		@RemoteMethod(path="/{x}") String getF04(@Path(n="x",cf="pipes",items=@Items(e={"foo"})) String...b);
+		@RemoteMethod(path="/{x}") String getF05(@Path(n="x",p="foo\\d{1,3}") String b);
+		@RemoteMethod(path="/{x}") String getF06(@Path(n="x",cf="pipes",items=@Items(p="foo\\d{1,3}")) String...b);
 	}
 
 	private static FR fr = MockRemote.build(FR.class, F.class);
@@ -696,20 +696,20 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface GR {
-		@RemoteMethod(path="/{x}") String getG01(@Path(name="x",multipleOf="2") int b);
-		@RemoteMethod(path="/{x}") String getG02(@Path(name="x",multipleOf="2") short b);
-		@RemoteMethod(path="/{x}") String getG03(@Path(name="x",multipleOf="2") long b);
-		@RemoteMethod(path="/{x}") String getG04(@Path(name="x",multipleOf="2") float b);
-		@RemoteMethod(path="/{x}") String getG05(@Path(name="x",multipleOf="2") double b);
-		@RemoteMethod(path="/{x}") String getG06(@Path(name="x",multipleOf="2") byte b);
-		@RemoteMethod(path="/{x}") String getG07(@Path(name="x",multipleOf="2") AtomicInteger b);
-		@RemoteMethod(path="/{x}") String getG08(@Path(name="x",multipleOf="2") BigDecimal b);
-		@RemoteMethod(path="/{x}") String getG11(@Path(name="x",multipleOf="2") Integer b);
-		@RemoteMethod(path="/{x}") String getG12(@Path(name="x",multipleOf="2") Short b);
-		@RemoteMethod(path="/{x}") String getG13(@Path(name="x",multipleOf="2") Long b);
-		@RemoteMethod(path="/{x}") String getG14(@Path(name="x",multipleOf="2") Float b);
-		@RemoteMethod(path="/{x}") String getG15(@Path(name="x",multipleOf="2") Double b);
-		@RemoteMethod(path="/{x}") String getG16(@Path(name="x",multipleOf="2") Byte b);
+		@RemoteMethod(path="/{x}") String getG01(@Path(n="x",mo="2") int b);
+		@RemoteMethod(path="/{x}") String getG02(@Path(n="x",mo="2") short b);
+		@RemoteMethod(path="/{x}") String getG03(@Path(n="x",mo="2") long b);
+		@RemoteMethod(path="/{x}") String getG04(@Path(n="x",mo="2") float b);
+		@RemoteMethod(path="/{x}") String getG05(@Path(n="x",mo="2") double b);
+		@RemoteMethod(path="/{x}") String getG06(@Path(n="x",mo="2") byte b);
+		@RemoteMethod(path="/{x}") String getG07(@Path(n="x",mo="2") AtomicInteger b);
+		@RemoteMethod(path="/{x}") String getG08(@Path(n="x",mo="2") BigDecimal b);
+		@RemoteMethod(path="/{x}") String getG11(@Path(n="x",mo="2") Integer b);
+		@RemoteMethod(path="/{x}") String getG12(@Path(n="x",mo="2") Short b);
+		@RemoteMethod(path="/{x}") String getG13(@Path(n="x",mo="2") Long b);
+		@RemoteMethod(path="/{x}") String getG14(@Path(n="x",mo="2") Float b);
+		@RemoteMethod(path="/{x}") String getG15(@Path(n="x",mo="2") Double b);
+		@RemoteMethod(path="/{x}") String getG16(@Path(n="x",mo="2") Byte b);
 	}
 
 	private static GR gr = MockRemote.build(GR.class, G.class);
@@ -800,7 +800,7 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface HR {
-		@RemoteMethod(path="/{x}") String getH01(@Path(name="x") String b);
+		@RemoteMethod(path="/{x}") String getH01(@Path("x") String b);
 	}
 
 	private static HR hr = MockRemote.build(HR.class, H.class);
@@ -825,7 +825,7 @@ public class PathAnnotationTest {
 
 	@Remote
 	public static interface JR {
-		@RemoteMethod(path="/{x}") String getJ01(@Path(name="x",serializer=XPartSerializer.class) String b);
+		@RemoteMethod(path="/{x}") String getJ01(@Path(n="x",serializer=XPartSerializer.class) String b);
 	}
 
 	private static JR jr = MockRemote.build(JR.class, J.class);
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/QueryAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/QueryAnnotationTest.java
index f624944..b2dc366 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/QueryAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/QueryAnnotationTest.java
@@ -71,14 +71,14 @@ public class QueryAnnotationTest {
 		@RemoteMethod(path="a") String getA03b(@Query("*") Bean b);
 		@RemoteMethod(path="a") String getA03c(@Query Bean b);
 		@RemoteMethod(path="a") String getA04a(@Query("x") Bean[] b);
-		@RemoteMethod(path="a") String getA04b(@Query(n="x",collectionFormat="uon") Bean[] b);
+		@RemoteMethod(path="a") String getA04b(@Query(n="x",cf="uon") Bean[] b);
 		@RemoteMethod(path="a") String getA05a(@Query("x") List<Bean> b);
-		@RemoteMethod(path="a") String getA05b(@Query(n="x",collectionFormat="uon") List<Bean> b);
+		@RemoteMethod(path="a") String getA05b(@Query(n="x",cf="uon") List<Bean> b);
 		@RemoteMethod(path="a") String getA06a(@Query("x") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA06b(@Query("*") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA06c(@Query Map<String,Bean> b);
-		@RemoteMethod(path="a") String getA06d(@Query(n="x",collectionFormat="uon") Map<String,Bean> b);
-		@RemoteMethod(path="a") String getA06e(@Query(collectionFormat="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a") String getA06d(@Query(n="x",cf="uon") Map<String,Bean> b);
+		@RemoteMethod(path="a") String getA06e(@Query(cf="uon") Map<String,Bean> b);
 		@RemoteMethod(path="a") String getA07a(@Query("*") Reader b);
 		@RemoteMethod(path="a") String getA07b(@Query Reader b);
 		@RemoteMethod(path="a") String getA08a(@Query("*") InputStream b);
@@ -184,10 +184,10 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface BR {
-		@RemoteMethod(path="/") String getB01(@Query(n="x",_default="foo") String b);
-		@RemoteMethod(path="/") String getB02(@Query(n="x",_default="foo",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String getB03(@Query(n="x",_default="") String b);
-		@RemoteMethod(path="/") String getB04(@Query(n="x",_default="",allowEmptyValue=true) String b);
+		@RemoteMethod(path="/") String getB01(@Query(n="x",df="foo") String b);
+		@RemoteMethod(path="/") String getB02(@Query(n="x",df="foo",aev=true) String b);
+		@RemoteMethod(path="/") String getB03(@Query(n="x",df="") String b);
+		@RemoteMethod(path="/") String getB04(@Query(n="x",df="",aev=true) String b);
 	}
 
 	private static BR br = MockRemote.build(BR.class, B.class);
@@ -253,18 +253,18 @@ public class QueryAnnotationTest {
 	public static interface CR {
 		@RemoteMethod(path="/a") String getC01a(@Query(n="x") String...b);
 		@RemoteMethod(path="/b") String getC01b(@Query(n="x") String...b);
-		@RemoteMethod(path="/a") String getC02a(@Query(n="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/b") String getC02b(@Query(n="x",collectionFormat="csv") String...b);
-		@RemoteMethod(path="/a") String getC03a(@Query(n="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/b") String getC03b(@Query(n="x",collectionFormat="ssv") String...b);
-		@RemoteMethod(path="/a") String getC04a(@Query(n="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/b") String getC04b(@Query(n="x",collectionFormat="tsv") String...b);
-		@RemoteMethod(path="/a") String getC05a(@Query(n="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/b") String getC05b(@Query(n="x",collectionFormat="pipes") String...b);
-		@RemoteMethod(path="/a") String getC06a(@Query(n="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/b") String getC06b(@Query(n="x",collectionFormat="multi") String...b);
-		@RemoteMethod(path="/a") String getC07a(@Query(n="x",collectionFormat="uon") String...b);
-		@RemoteMethod(path="/b") String getC07b(@Query(n="x",collectionFormat="uon") String...b);
+		@RemoteMethod(path="/a") String getC02a(@Query(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/b") String getC02b(@Query(n="x",cf="csv") String...b);
+		@RemoteMethod(path="/a") String getC03a(@Query(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/b") String getC03b(@Query(n="x",cf="ssv") String...b);
+		@RemoteMethod(path="/a") String getC04a(@Query(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/b") String getC04b(@Query(n="x",cf="tsv") String...b);
+		@RemoteMethod(path="/a") String getC05a(@Query(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/b") String getC05b(@Query(n="x",cf="pipes") String...b);
+		@RemoteMethod(path="/a") String getC06a(@Query(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/b") String getC06b(@Query(n="x",cf="multi") String...b);
+		@RemoteMethod(path="/a") String getC07a(@Query(n="x",cf="uon") String...b);
+		@RemoteMethod(path="/b") String getC07b(@Query(n="x",cf="uon") String...b);
 	}
 
 	private static CR cr = MockRemote.build(CR.class, C.class);
@@ -342,48 +342,48 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface DR {
-		@RemoteMethod(path="/") String getC01a(@Query(n="x",minimum="1",maximum="10") int b);
-		@RemoteMethod(path="/") String getC01b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) int b);
-		@RemoteMethod(path="/") String getC01c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) int b);
-		@RemoteMethod(path="/") String getC02a(@Query(n="x",minimum="1",maximum="10") short b);
-		@RemoteMethod(path="/") String getC02b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) short b);
-		@RemoteMethod(path="/") String getC02c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) short b);
-		@RemoteMethod(path="/") String getC03a(@Query(n="x",minimum="1",maximum="10") long b);
-		@RemoteMethod(path="/") String getC03b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) long b);
-		@RemoteMethod(path="/") String getC03c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) long b);
-		@RemoteMethod(path="/") String getC04a(@Query(n="x",minimum="1",maximum="10") float b);
-		@RemoteMethod(path="/") String getC04b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) float b);
-		@RemoteMethod(path="/") String getC04c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) float b);
-		@RemoteMethod(path="/") String getC05a(@Query(n="x",minimum="1",maximum="10") double b);
-		@RemoteMethod(path="/") String getC05b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) double b);
-		@RemoteMethod(path="/") String getC05c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) double b);
-		@RemoteMethod(path="/") String getC06a(@Query(n="x",minimum="1",maximum="10") byte b);
-		@RemoteMethod(path="/") String getC06b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) byte b);
-		@RemoteMethod(path="/") String getC06c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) byte b);
-		@RemoteMethod(path="/") String getC07a(@Query(n="x",minimum="1",maximum="10") AtomicInteger b);
-		@RemoteMethod(path="/") String getC07b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) AtomicInteger b);
-		@RemoteMethod(path="/") String getC07c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) AtomicInteger b);
-		@RemoteMethod(path="/") String getC08a(@Query(n="x",minimum="1",maximum="10") BigDecimal b);
-		@RemoteMethod(path="/") String getC08b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) BigDecimal b);
-		@RemoteMethod(path="/") String getC08c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) BigDecimal b);
-		@RemoteMethod(path="/") String getC11a(@Query(n="x",minimum="1",maximum="10") Integer b);
-		@RemoteMethod(path="/") String getC11b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Integer b);
-		@RemoteMethod(path="/") String getC11c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Integer b);
-		@RemoteMethod(path="/") String getC12a(@Query(n="x",minimum="1",maximum="10") Short b);
-		@RemoteMethod(path="/") String getC12b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Short b);
-		@RemoteMethod(path="/") String getC12c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Short b);
-		@RemoteMethod(path="/") String getC13a(@Query(n="x",minimum="1",maximum="10") Long b);
-		@RemoteMethod(path="/") String getC13b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Long b);
-		@RemoteMethod(path="/") String getC13c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Long b);
-		@RemoteMethod(path="/") String getC14a(@Query(n="x",minimum="1",maximum="10") Float b);
-		@RemoteMethod(path="/") String getC14b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Float b);
-		@RemoteMethod(path="/") String getC14c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Float b);
-		@RemoteMethod(path="/") String getC15a(@Query(n="x",minimum="1",maximum="10") Double b);
-		@RemoteMethod(path="/") String getC15b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Double b);
-		@RemoteMethod(path="/") String getC15c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Double b);
-		@RemoteMethod(path="/") String getC16a(@Query(n="x",minimum="1",maximum="10") Byte b);
-		@RemoteMethod(path="/") String getC16b(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=false,exclusiveMaximum=false) Byte b);
-		@RemoteMethod(path="/") String getC16c(@Query(n="x",minimum="1",maximum="10",exclusiveMinimum=true,exclusiveMaximum=true) Byte b);
+		@RemoteMethod(path="/") String getC01a(@Query(n="x",min="1",max="10") int b);
+		@RemoteMethod(path="/") String getC01b(@Query(n="x",min="1",max="10",emin=false,emax=false) int b);
+		@RemoteMethod(path="/") String getC01c(@Query(n="x",min="1",max="10",emin=true,emax=true) int b);
+		@RemoteMethod(path="/") String getC02a(@Query(n="x",min="1",max="10") short b);
+		@RemoteMethod(path="/") String getC02b(@Query(n="x",min="1",max="10",emin=false,emax=false) short b);
+		@RemoteMethod(path="/") String getC02c(@Query(n="x",min="1",max="10",emin=true,emax=true) short b);
+		@RemoteMethod(path="/") String getC03a(@Query(n="x",min="1",max="10") long b);
+		@RemoteMethod(path="/") String getC03b(@Query(n="x",min="1",max="10",emin=false,emax=false) long b);
+		@RemoteMethod(path="/") String getC03c(@Query(n="x",min="1",max="10",emin=true,emax=true) long b);
+		@RemoteMethod(path="/") String getC04a(@Query(n="x",min="1",max="10") float b);
+		@RemoteMethod(path="/") String getC04b(@Query(n="x",min="1",max="10",emin=false,emax=false) float b);
+		@RemoteMethod(path="/") String getC04c(@Query(n="x",min="1",max="10",emin=true,emax=true) float b);
+		@RemoteMethod(path="/") String getC05a(@Query(n="x",min="1",max="10") double b);
+		@RemoteMethod(path="/") String getC05b(@Query(n="x",min="1",max="10",emin=false,emax=false) double b);
+		@RemoteMethod(path="/") String getC05c(@Query(n="x",min="1",max="10",emin=true,emax=true) double b);
+		@RemoteMethod(path="/") String getC06a(@Query(n="x",min="1",max="10") byte b);
+		@RemoteMethod(path="/") String getC06b(@Query(n="x",min="1",max="10",emin=false,emax=false) byte b);
+		@RemoteMethod(path="/") String getC06c(@Query(n="x",min="1",max="10",emin=true,emax=true) byte b);
+		@RemoteMethod(path="/") String getC07a(@Query(n="x",min="1",max="10") AtomicInteger b);
+		@RemoteMethod(path="/") String getC07b(@Query(n="x",min="1",max="10",emin=false,emax=false) AtomicInteger b);
+		@RemoteMethod(path="/") String getC07c(@Query(n="x",min="1",max="10",emin=true,emax=true) AtomicInteger b);
+		@RemoteMethod(path="/") String getC08a(@Query(n="x",min="1",max="10") BigDecimal b);
+		@RemoteMethod(path="/") String getC08b(@Query(n="x",min="1",max="10",emin=false,emax=false) BigDecimal b);
+		@RemoteMethod(path="/") String getC08c(@Query(n="x",min="1",max="10",emin=true,emax=true) BigDecimal b);
+		@RemoteMethod(path="/") String getC11a(@Query(n="x",min="1",max="10") Integer b);
+		@RemoteMethod(path="/") String getC11b(@Query(n="x",min="1",max="10",emin=false,emax=false) Integer b);
+		@RemoteMethod(path="/") String getC11c(@Query(n="x",min="1",max="10",emin=true,emax=true) Integer b);
+		@RemoteMethod(path="/") String getC12a(@Query(n="x",min="1",max="10") Short b);
+		@RemoteMethod(path="/") String getC12b(@Query(n="x",min="1",max="10",emin=false,emax=false) Short b);
+		@RemoteMethod(path="/") String getC12c(@Query(n="x",min="1",max="10",emin=true,emax=true) Short b);
+		@RemoteMethod(path="/") String getC13a(@Query(n="x",min="1",max="10") Long b);
+		@RemoteMethod(path="/") String getC13b(@Query(n="x",min="1",max="10",emin=false,emax=false) Long b);
+		@RemoteMethod(path="/") String getC13c(@Query(n="x",min="1",max="10",emin=true,emax=true) Long b);
+		@RemoteMethod(path="/") String getC14a(@Query(n="x",min="1",max="10") Float b);
+		@RemoteMethod(path="/") String getC14b(@Query(n="x",min="1",max="10",emin=false,emax=false) Float b);
+		@RemoteMethod(path="/") String getC14c(@Query(n="x",min="1",max="10",emin=true,emax=true) Float b);
+		@RemoteMethod(path="/") String getC15a(@Query(n="x",min="1",max="10") Double b);
+		@RemoteMethod(path="/") String getC15b(@Query(n="x",min="1",max="10",emin=false,emax=false) Double b);
+		@RemoteMethod(path="/") String getC15c(@Query(n="x",min="1",max="10",emin=true,emax=true) Double b);
+		@RemoteMethod(path="/") String getC16a(@Query(n="x",min="1",max="10") Byte b);
+		@RemoteMethod(path="/") String getC16b(@Query(n="x",min="1",max="10",emin=false,emax=false) Byte b);
+		@RemoteMethod(path="/") String getC16c(@Query(n="x",min="1",max="10",emin=true,emax=true) Byte b);
 	}
 
 	private static DR dr = MockRemote.build(DR.class, D.class);
@@ -715,12 +715,12 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface ER {
-		@RemoteMethod(path="/") String getE01(@Query(n="x",collectionFormat="pipes",minItems=1,maxItems=2) String...b);
-		@RemoteMethod(path="/") String getE02(@Query(n="x",items=@Items(collectionFormat="pipes",minItems=1,maxItems=2)) String[]...b);
-		@RemoteMethod(path="/") String getE03(@Query(n="x",collectionFormat="pipes",uniqueItems=false) String...b);
-		@RemoteMethod(path="/") String getE04(@Query(n="x",items=@Items(collectionFormat="pipes",uniqueItems=false)) String[]...b);
-		@RemoteMethod(path="/") String getE05(@Query(n="x",collectionFormat="pipes",uniqueItems=true) String...b);
-		@RemoteMethod(path="/") String getE06(@Query(n="x",items=@Items(collectionFormat="pipes",uniqueItems=true)) String[]...b);
+		@RemoteMethod(path="/") String getE01(@Query(n="x",cf="pipes",mini=1,maxi=2) String...b);
+		@RemoteMethod(path="/") String getE02(@Query(n="x",items=@Items(cf="pipes",mini=1,maxi=2)) String[]...b);
+		@RemoteMethod(path="/") String getE03(@Query(n="x",cf="pipes",ui=false) String...b);
+		@RemoteMethod(path="/") String getE04(@Query(n="x",items=@Items(cf="pipes",ui=false)) String[]...b);
+		@RemoteMethod(path="/") String getE05(@Query(n="x",cf="pipes",ui=true) String...b);
+		@RemoteMethod(path="/") String getE06(@Query(n="x",items=@Items(cf="pipes",ui=true)) String[]...b);
 	}
 
 	private static ER er = MockRemote.build(ER.class, E.class);
@@ -774,12 +774,12 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface FR {
-		@RemoteMethod(path="/") String getF01(@Query(n="x",minLength=2,maxLength=3) String b);
-		@RemoteMethod(path="/") String getF02(@Query(n="x",collectionFormat="pipes",items=@Items(minLength=2,maxLength=3)) String...b);
-		@RemoteMethod(path="/") String getF03(@Query(n="x",_enum={"foo"}) String b);
-		@RemoteMethod(path="/") String getF04(@Query(n="x",collectionFormat="pipes",items=@Items(_enum={"foo"})) String...b);
-		@RemoteMethod(path="/") String getF05(@Query(n="x",pattern="foo\\d{1,3}") String b);
-		@RemoteMethod(path="/") String getF06(@Query(n="x",collectionFormat="pipes",items=@Items(pattern="foo\\d{1,3}")) String...b);
+		@RemoteMethod(path="/") String getF01(@Query(n="x",minl=2,maxl=3) String b);
+		@RemoteMethod(path="/") String getF02(@Query(n="x",cf="pipes",items=@Items(minl=2,maxl=3)) String...b);
+		@RemoteMethod(path="/") String getF03(@Query(n="x",e={"foo"}) String b);
+		@RemoteMethod(path="/") String getF04(@Query(n="x",cf="pipes",items=@Items(e={"foo"})) String...b);
+		@RemoteMethod(path="/") String getF05(@Query(n="x",p="foo\\d{1,3}") String b);
+		@RemoteMethod(path="/") String getF06(@Query(n="x",cf="pipes",items=@Items(p="foo\\d{1,3}")) String...b);
 	}
 
 	private static FR fr = MockRemote.build(FR.class, F.class);
@@ -839,20 +839,20 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface GR {
-		@RemoteMethod(path="/") String getG01(@Query(n="x",multipleOf="2") int b);
-		@RemoteMethod(path="/") String getG02(@Query(n="x",multipleOf="2") short b);
-		@RemoteMethod(path="/") String getG03(@Query(n="x",multipleOf="2") long b);
-		@RemoteMethod(path="/") String getG04(@Query(n="x",multipleOf="2") float b);
-		@RemoteMethod(path="/") String getG05(@Query(n="x",multipleOf="2") double b);
-		@RemoteMethod(path="/") String getG06(@Query(n="x",multipleOf="2") byte b);
-		@RemoteMethod(path="/") String getG07(@Query(n="x",multipleOf="2") AtomicInteger b);
-		@RemoteMethod(path="/") String getG08(@Query(n="x",multipleOf="2") BigDecimal b);
-		@RemoteMethod(path="/") String getG11(@Query(n="x",multipleOf="2") Integer b);
-		@RemoteMethod(path="/") String getG12(@Query(n="x",multipleOf="2") Short b);
-		@RemoteMethod(path="/") String getG13(@Query(n="x",multipleOf="2") Long b);
-		@RemoteMethod(path="/") String getG14(@Query(n="x",multipleOf="2") Float b);
-		@RemoteMethod(path="/") String getG15(@Query(n="x",multipleOf="2") Double b);
-		@RemoteMethod(path="/") String getG16(@Query(n="x",multipleOf="2") Byte b);
+		@RemoteMethod(path="/") String getG01(@Query(n="x",mo="2") int b);
+		@RemoteMethod(path="/") String getG02(@Query(n="x",mo="2") short b);
+		@RemoteMethod(path="/") String getG03(@Query(n="x",mo="2") long b);
+		@RemoteMethod(path="/") String getG04(@Query(n="x",mo="2") float b);
+		@RemoteMethod(path="/") String getG05(@Query(n="x",mo="2") double b);
+		@RemoteMethod(path="/") String getG06(@Query(n="x",mo="2") byte b);
+		@RemoteMethod(path="/") String getG07(@Query(n="x",mo="2") AtomicInteger b);
+		@RemoteMethod(path="/") String getG08(@Query(n="x",mo="2") BigDecimal b);
+		@RemoteMethod(path="/") String getG11(@Query(n="x",mo="2") Integer b);
+		@RemoteMethod(path="/") String getG12(@Query(n="x",mo="2") Short b);
+		@RemoteMethod(path="/") String getG13(@Query(n="x",mo="2") Long b);
+		@RemoteMethod(path="/") String getG14(@Query(n="x",mo="2") Float b);
+		@RemoteMethod(path="/") String getG15(@Query(n="x",mo="2") Double b);
+		@RemoteMethod(path="/") String getG16(@Query(n="x",mo="2") Byte b);
 	}
 
 	private static GR gr = MockRemote.build(GR.class, G.class);
@@ -943,8 +943,8 @@ public class QueryAnnotationTest {
 	@Remote
 	public static interface HR {
 		@RemoteMethod(path="/") String getH01(@Query(n="x") String b);
-		@RemoteMethod(path="/") String getH02(@Query(n="x",required=false) String b);
-		@RemoteMethod(path="/") String getH03(@Query(n="x",required=true) String b);
+		@RemoteMethod(path="/") String getH02(@Query(n="x",r=false) String b);
+		@RemoteMethod(path="/") String getH03(@Query(n="x",r=true) String b);
 	}
 
 	private static HR hr = MockRemote.build(HR.class, H.class);
@@ -977,9 +977,9 @@ public class QueryAnnotationTest {
 
 	@Remote
 	public static interface IR {
-		@RemoteMethod(path="/") String getI01(@Query(n="x",allowEmptyValue=true) String b);
-		@RemoteMethod(path="/") String getI02(@Query(n="x",allowEmptyValue=true,skipIfEmpty=false) String b);
-		@RemoteMethod(path="/") String getI03(@Query(n="x",skipIfEmpty=true) String b);
+		@RemoteMethod(path="/") String getI01(@Query(n="x",aev=true) String b);
+		@RemoteMethod(path="/") String getI02(@Query(n="x",aev=true,sie=false) String b);
+		@RemoteMethod(path="/") String getI03(@Query(n="x",sie=true) String b);
 	}
 
 	private static IR ir = MockRemote.build(IR.class, I.class);
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
index d7cbe64..f2713b3 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
@@ -2008,7 +2008,7 @@ public class RestClientTest {
 		}
 	}
 
-	@Rest(partSerializer=XPartSerializer.class, partParser=XPartParser.class,debug="true")
+	@Rest(partSerializer=XPartSerializer.class, partParser=XPartParser.class)
 	public static class K extends BasicRest {
 		@RestMethod(path="/")
 		public Ok get(@Header(name="Foo",multi=true) Bean[] foo, org.apache.juneau.rest.RestRequest req, org.apache.juneau.rest.RestResponse res) throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
index fe0bc02..c15a096 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
@@ -1636,7 +1636,7 @@ public class BasicRestInfoProviderTest {
 	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR04 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
-		public Foo doFoo(@Query(name="foo",example="{id:4}") Foo foo) {
+		public Foo doFoo(@Query(n="foo",ex="{id:4}") Foo foo) {
 			return null;
 		}
 	}
@@ -1650,7 +1650,7 @@ public class BasicRestInfoProviderTest {
 	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR05 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
-		public Foo doFoo(@Query(name="foo",example="{id:$L{5}}") Foo foo) {
+		public Foo doFoo(@Query(n="foo",ex="{id:$L{5}}") Foo foo) {
 			return null;
 		}
 	}
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
index 758da36..60c2d7c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
@@ -42,7 +42,7 @@ public class BeanContextPropertiesTest  {
 	@BeanConfig(pojoSwaps=TemporalDateSwap.IsoInstant.class)
 	public static class A {
 		@RestMethod(name=GET, path="/{d1}")
-		public String testClassTransforms(@Path(name="d1") Date d1, @Query(name="d2") Date d2, @Header(name="X-D3") Date d3) throws Exception {
+		public String testClassTransforms(@Path("d1") Date d1, @Query("d2") Date d2, @Header("X-D3") Date d3) throws Exception {
 			TemporalDateSwap df = TemporalDateSwap.IsoInstant.class.newInstance();
 			BeanSession session = BeanContext.DEFAULT.createSession();
 			return "d1="+df.swap(session, d1)+",d2="+df.swap(session, d2)+",d3="+df.swap(session, d3)+"";
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
index 81210e2..4f91aa3 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
@@ -108,35 +108,35 @@ public class PathAnnotationTest {
 	@Rest
 	public static class B  {
 		@RestMethod(name=GET, path="/int/{x}/foo")
-		public String b01(@Path(name="x") int x) {
+		public String b01(@Path("x") int x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/short/{x}/foo")
-		public String b02(@Path(name="x") short x) {
+		public String b02(@Path("x") short x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/long/{x}/foo")
-		public String b03(@Path(name="x") long x) {
+		public String b03(@Path("x") long x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/char/{x}/foo")
-		public String b04(@Path(name="x") char x) {
+		public String b04(@Path("x") char x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/float/{x}/foo")
-		public String b05(@Path(name="x") float x) {
+		public String b05(@Path("x") float x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/double/{x}/foo")
-		public String b06(@Path(name="x") double x) {
+		public String b06(@Path("x") double x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/byte/{x}/foo")
-		public String b07(@Path(name="x") byte x) {
+		public String b07(@Path("x") byte x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/boolean/{x}/foo")
-		public String b08(@Path(name="x") boolean x) {
+		public String b08(@Path("x") boolean x) {
 			return String.valueOf(x);
 		}
 	}
@@ -190,35 +190,35 @@ public class PathAnnotationTest {
 	@Rest
 	public static class C  {
 		@RestMethod(name=GET, path="/Integer/{x}/foo")
-		public String c01(@Path(name="x") Integer x) {
+		public String c01(@Path("x") Integer x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Short/{x}/foo")
-		public String c02(@Path(name="x") Short x) {
+		public String c02(@Path("x") Short x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Long/{x}/foo")
-		public String c03(@Path(name="x") Long x) {
+		public String c03(@Path("x") Long x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Character/{x}/foo")
-		public String c04(@Path(name="x") Character x) {
+		public String c04(@Path("x") Character x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Float/{x}/foo")
-		public String c05(@Path(name="x") Float x) {
+		public String c05(@Path("x") Float x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Double/{x}/foo")
-		public String c06(@Path(name="x") Double x) {
+		public String c06(@Path("x") Double x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Byte/{x}/foo")
-		public String c07(@Path(name="x") Byte x) {
+		public String c07(@Path("x") Byte x) {
 			return String.valueOf(x);
 		}
 		@RestMethod(name=GET, path="/Boolean/{x}/foo")
-		public String c08(@Path(name="x") Boolean x) {
+		public String c08(@Path("x") Boolean x) {
 			return String.valueOf(x);
 		}
 	}
@@ -273,7 +273,7 @@ public class PathAnnotationTest {
 	public static class D {
 		// Object with forString(String) method
 		@RestMethod(name=GET, path="/uuid/{uuid}")
-		public UUID uuid(RestResponse res, @Path(name="uuid") UUID uuid) {
+		public UUID uuid(RestResponse res, @Path("uuid") UUID uuid) {
 			return uuid;
 		}
 	}
@@ -739,11 +739,11 @@ public class PathAnnotationTest {
 	public static class SA {
 
 		@Path(
-			name="P",
-			description={"a","b"},
-			type="string",
-			_enum="a,b",
-			example="a"
+			n="P",
+			d={"a","b"},
+			t="string",
+			e="a,b",
+			ex="a"
 		)
 		public static class SA01 {
 			public SA01(String x) {}
@@ -756,7 +756,7 @@ public class PathAnnotationTest {
 		public void sa01(SA01 f) {}
 
 		@Path(
-			name="P",
+			n="P",
 			api={
 				"description:'a\nb',",
 				"type:'string',",
@@ -775,17 +775,17 @@ public class PathAnnotationTest {
 		public void sa02(SA02 f) {}
 
 		@Path(
-			name="P",
+			n="P",
 			api={
 				"description:'b\nc',",
 				"type:'string',",
 				"enum:['b','c'],",
 				"x-example:'b'"
 			},
-			description={"a","b"},
-			type="string",
-			_enum="a,b",
-			example="a"
+			d={"a","b"},
+			t="string",
+			e="a,b",
+			ex="a"
 		)
 		public static class SA03 {
 			public SA03(String x) {}
@@ -808,7 +808,7 @@ public class PathAnnotationTest {
 		@RestMethod(name=GET,path="/value/{P}")
 		public void sa04(SA04 f) {}
 
-		@Path(name="P", _enum={" ['a','b'] "})
+		@Path(n="P",e={" ['a','b'] "})
 		public static class SA19 {
 			@Override
 			public String toString() {
@@ -871,7 +871,7 @@ public class PathAnnotationTest {
 	@Rest
 	public static class SB {
 
-		@Path(name="P")
+		@Path(n="P")
 		public static class SB01 {}
 		@RestMethod(name=GET,path="/schemaValue/{P}")
 		public void sb01(SB01 f) {}
@@ -926,7 +926,7 @@ public class PathAnnotationTest {
 	@Rest
 	public static class SC {
 
-		@Path(name="P", example={" {f1:'a'} "})
+		@Path(n="P",ex={" {f1:'a'} "})
 		public static class SC01 {
 			public String f1;
 		}
@@ -956,14 +956,14 @@ public class PathAnnotationTest {
 
 		@RestMethod(name=GET,path="/basic/{P}")
 		public void ta01(@Path(
-			name="P",
-			description="a",
-			type="string"
+			n="P",
+			d="a",
+			t="string"
 		) String h) {}
 
 		@RestMethod(name=GET,path="/api/{P}")
 		public void ta02(@Path(
-			name="P",
+			n="P",
 			api={
 				"description:'a',",
 				"type:'string'"
@@ -972,20 +972,20 @@ public class PathAnnotationTest {
 
 		@RestMethod(name=GET,path="/mixed/{P}")
 		public void ta03(@Path(
-			name="P",
+			n="P",
 			api={
 				"description:'b',",
 				"type:'string'"
 			},
-			description="a",
-			type="string"
+			d="a",
+			t="string"
 		) String h) {}
 
 		@RestMethod(name=GET,path="/value/{P}")
 		public void ta04(@Path("P") String h) {}
 
 		@RestMethod(name=GET,path="/enum/{P}")
-		public void ta05(@Path(name="P", _enum={" ['a','b'] "}) String h) {}
+		public void ta05(@Path(n="P",e={" ['a','b'] "}) String h) {}
 	}
 
 	static Swagger ta = getSwagger(TA.class);
@@ -1027,7 +1027,7 @@ public class PathAnnotationTest {
 	public static class TB {
 
 		@RestMethod(name=GET,path="/schemaValue/{P}")
-		public void tb01(@Path(name="P") String h) {}
+		public void tb01(@Path("P") String h) {}
 
 		public static class TB02 {
 			public String f1;
@@ -1093,7 +1093,7 @@ public class PathAnnotationTest {
 	public static class TC {
 
 		@RestMethod(name=GET,path="/example/{P}")
-		public void ta21(@Path(name="P", example="{f1:'b'}") String h) {}
+		public void ta21(@Path(n="P",ex="{f1:'b'}") String h) {}
 	}
 
 	static Swagger tc = getSwagger(TC.class);
@@ -1112,14 +1112,14 @@ public class PathAnnotationTest {
 	@Rest(path="/u1/{u1}",children=U2.class)
 	public static class U1 {
 	}
-	@Rest(path="/u2",debug="true")
+	@Rest(path="/u2")
 	public static class U2 {
 		@RestMethod(path="/")
-		public String doGet(@Path(name="u1",required=false) String u1) {
+		public String doGet(@Path(n="u1",r=false) String u1) {
 			return u1 == null ? "nil" : u1;
 		}
 		@RestMethod(path="/foo/{bar}")
-		public String doGetFoo(@Path(name="u1", required=false) String u1, @Path(name="bar",required=false) String bar) {
+		public String doGetFoo(@Path(n="u1",r=false) String u1, @Path(n="bar",r=false) String bar) {
 			return (u1 == null ? "nil" : u1) + "," + (bar == null ? "nil" : bar);
 		}
 	}
@@ -1145,11 +1145,11 @@ public class PathAnnotationTest {
 	@Rest(path="/v2")
 	public static class V2 {
 		@RestMethod(paths={"/","/{foo}"})
-		public String doGet(@Path(name="v1",required=false) String v1, @Path(name="foo",required=false) String foo) {
+		public String doGet(@Path(n="v1",r=false) String v1, @Path(n="foo",r=false) String foo) {
 			return "1," + (v1 == null ? "nil" : v1) + "," + (foo == null ? "nil" : foo);
 		}
 		@RestMethod(paths={"/foo","/foo/{foo}"})
-		public String doGet2(@Path(name="v1",required=false) String v1, @Path(name="foo",required=false) String foo) {
+		public String doGet2(@Path(n="v1",r=false) String v1, @Path(n="foo",r=false) String foo) {
 			return "2," + (v1 == null ? "nil" : v1) + "," + (foo == null ? "nil" : foo);
 		}
 	}
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
index 2b9fbae..e554968 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
@@ -43,12 +43,12 @@ public class QueryAnnotationTest {
 	@Rest
 	public static class A {
 		@RestMethod
-		public String get(RestRequest req, @Query(n="p1",allowEmptyValue=true) String p1, @Query(n="p2",allowEmptyValue=true) int p2) throws Exception {
+		public String get(RestRequest req, @Query(n="p1",aev=true) String p1, @Query(n="p2",aev=true) int p2) throws Exception {
 			RequestQuery q = req.getQuery();
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"],p2=["+p2+","+q.getString("p2")+","+q.get("p2", int.class)+"]";
 		}
 		@RestMethod
-		public String post(RestRequest req, @Query(n="p1",allowEmptyValue=true) String p1, @Query(n="p2",allowEmptyValue=true) int p2) throws Exception {
+		public String post(RestRequest req, @Query(n="p1",aev=true) String p1, @Query(n="p2",aev=true) int p2) throws Exception {
 			RequestQuery q = req.getQuery();
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"],p2=["+p2+","+q.getString("p2")+","+q.get("p2", int.class)+"]";
 		}
@@ -98,7 +98,7 @@ public class QueryAnnotationTest {
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"]";
 		}
 		@RestMethod(name=GET,path="/get2")
-		public String get2(RestRequest req, @Query(n="p1",format="uon") String p1) throws Exception {
+		public String get2(RestRequest req, @Query(n="p1",f="uon") String p1) throws Exception {
 			RequestQuery q = req.getQuery();
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"]";
 		}
@@ -108,7 +108,7 @@ public class QueryAnnotationTest {
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"]";
 		}
 		@RestMethod(name=POST,path="/post2")
-		public String post2(RestRequest req, @Query(n="p1",format="uon") String p1) throws Exception {
+		public String post2(RestRequest req, @Query(n="p1",f="uon") String p1) throws Exception {
 			RequestQuery q = req.getQuery();
 			return "p1=["+p1+","+req.getQuery().getString("p1")+","+q.get("p1", String.class)+"]";
 		}
@@ -149,27 +149,27 @@ public class QueryAnnotationTest {
 		}
 
 		@RestMethod
-		public Object c01(@Query(value="x",collectionFormat="multi") String[] x) {
+		public Object c01(@Query(n="x",cf="multi") String[] x) {
 			return x;
 		}
 		@RestMethod
-		public Object c02(@Query(value="x",collectionFormat="multi") int[] x) {
+		public Object c02(@Query(n="x",cf="multi") int[] x) {
 			return x;
 		}
 		@RestMethod
-		public Object c03(@Query(value="x",collectionFormat="multi") List<String> x) {
+		public Object c03(@Query(n="x",cf="multi") List<String> x) {
 			return x;
 		}
 		@RestMethod
-		public Object c04(@Query(value="x",collectionFormat="multi") List<Integer> x) {
+		public Object c04(@Query(n="x",cf="multi") List<Integer> x) {
 			return x;
 		}
 		@RestMethod
-		public Object c05(@Query(value="x",collectionFormat="multi",items=@Items(format="uon")) C01[] x) {
+		public Object c05(@Query(n="x",cf="multi",items=@Items(f="uon")) C01[] x) {
 			return x;
 		}
 		@RestMethod
-		public Object c06(@Query(value="x",collectionFormat="multi",items=@Items(format="uon")) List<C01> x) {
+		public Object c06(@Query(n="x",cf="multi",items=@Items(f="uon")) List<C01> x) {
 			return x;
 		}
 	}
@@ -227,14 +227,14 @@ public class QueryAnnotationTest {
 				.a("f3", f3);
 		}
 		@RestMethod
-		public OMap d03(@Query(value="f1",_default="1") String f1, @Query(value="f2",_default="2") String f2, @Query(value="f3",_default="3") String f3) {
+		public OMap d03(@Query(n="f1",df="1") String f1, @Query(n="f2",df="2") String f2, @Query(n="f3",df="3") String f3) {
 			return OMap.of()
 				.a("f1", f1)
 				.a("f2", f2)
 				.a("f3", f3);
 		}
 		@RestMethod(defaultQuery={"f1:1","f2=2"," f3 : 3 "})
-		public OMap d04(@Query(value="f1",_default="4") String f1, @Query(value="f2",_default="5") String f2, @Query(value="f3",_default="6") String f3) {
+		public OMap d04(@Query(n="f1",df="4") String f1, @Query(n="f2",df="5") String f2, @Query(n="f3",df="6") String f3) {
 			return OMap.of()
 				.a("f1", f1)
 				.a("f2", f2)
@@ -333,8 +333,8 @@ public class QueryAnnotationTest {
 
 		@Query(
 			n="Q",
-			description= {"a","b"},
-			type="string"
+			d= {"a","b"},
+			t="string"
 		)
 		public static class SA01 {
 			public SA01(String x) {}
@@ -361,8 +361,8 @@ public class QueryAnnotationTest {
 				"description: 'b\nc',",
 				"type:'string'"
 			},
-			description= {"a","b"},
-			type="string"
+			d={"a","b"},
+			t="string"
 		)
 		public static class SA03 {
 			public SA03(String x) {}
@@ -412,7 +412,7 @@ public class QueryAnnotationTest {
 	@Rest
 	public static class SB {
 
-		@Query(name="Q")
+		@Query(n="Q")
 		public static class SB01 {}
 		@RestMethod
 		public void sb01(SB01 q) {}
@@ -467,7 +467,7 @@ public class QueryAnnotationTest {
 	@Rest
 	public static class SC {
 
-		@Query(name="Q", example={"{f1:'a'}"})
+		@Query(n="Q", ex={"{f1:'a'}"})
 		public static class SC01 {
 			public String f1;
 		}
@@ -497,16 +497,16 @@ public class QueryAnnotationTest {
 		@RestMethod
 		public void ta01(
 			@Query(
-				name="Q",
-				description= {"a","b"},
-				type="string"
+				n="Q",
+				d= {"a","b"},
+				t="string"
 			)
 			String q) {}
 
 		@RestMethod
 		public void ta02(
 			@Query(
-				name="Q",
+				n="Q",
 				api={
 					"description: 'a\nb',",
 					"type:'string'"
@@ -517,13 +517,13 @@ public class QueryAnnotationTest {
 		@RestMethod
 		public void ta03(
 			@Query(
-				name="Q",
+				n="Q",
 				api={
 					"description: 'b\nc',",
 					"type:'string'"
 				},
-				description= {"a","b"},
-				type="string"
+				d= {"a","b"},
+				t="string"
 			)
 			String q) {}
 
@@ -568,7 +568,7 @@ public class QueryAnnotationTest {
 	public static class TB {
 
 		@RestMethod
-		public void tb01(@Query(name="Q") String q) {}
+		public void tb01(@Query("Q") String q) {}
 	}
 
 	static Swagger tb = getSwagger(TB.class);
@@ -587,7 +587,7 @@ public class QueryAnnotationTest {
 	public static class TC {
 
 		@RestMethod
-		public void tc01(@Query(name="Q", example={"a","b"}) String q) {}
+		public void tc01(@Query(n="Q",ex={"a","b"}) String q) {}
 	}
 
 	static Swagger tc = getSwagger(TC.class);