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 2016/08/25 15:43:56 UTC

incubator-juneau git commit: Remove generics from BeanPropertyMeta class.

Repository: incubator-juneau
Updated Branches:
  refs/heads/master b3521f770 -> 9ad9cacdd


Remove generics from BeanPropertyMeta class.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/9ad9cacd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/9ad9cacd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/9ad9cacd

Branch: refs/heads/master
Commit: 9ad9cacddb10997359e483501ed8dacd86354314
Parents: b3521f7
Author: jamesbognar <ja...@gmail.com>
Authored: Thu Aug 25 11:42:10 2016 -0400
Committer: jamesbognar <ja...@gmail.com>
Committed: Thu Aug 25 11:43:53 2016 -0400

----------------------------------------------------------------------
 .../org/apache/juneau/csv/CsvSerializer.java    |  2 +-
 .../juneau/html/HtmlBeanPropertyMeta.java       |  5 ++--
 .../java/org/apache/juneau/html/HtmlParser.java |  2 +-
 .../juneau/html/HtmlSchemaDocSerializer.java    |  2 +-
 .../org/apache/juneau/html/HtmlSerializer.java  |  9 +++---
 .../juneau/html/HtmlSerializerSession.java      |  4 +--
 .../java/org/apache/juneau/ini/ConfigFile.java  |  2 +-
 .../apache/juneau/internal/DelegateBeanMap.java | 26 +++++++++---------
 .../apache/juneau/jena/RdfBeanPropertyMeta.java |  5 ++--
 .../java/org/apache/juneau/jena/RdfParser.java  |  6 ++--
 .../juneau/json/JsonSchemaSerializer.java       |  2 +-
 .../org/apache/juneau/json/JsonSerializer.java  |  1 -
 .../apache/juneau/msgpack/MsgPackParser.java    |  2 +-
 .../juneau/msgpack/MsgPackSerializer.java       |  3 +-
 .../org/apache/juneau/parser/ParserSession.java |  4 +--
 .../juneau/serializer/SerializerSession.java    |  6 ++--
 .../juneau/urlencoding/UonSerializer.java       |  1 -
 .../urlencoding/UrlEncodingParserSession.java   |  2 +-
 .../UrlEncodingSerializerSession.java           |  2 +-
 .../java/org/apache/juneau/xml/XmlBeanMeta.java | 29 ++++++++++----------
 .../apache/juneau/xml/XmlBeanPropertyMeta.java  | 16 +++++------
 .../apache/juneau/xml/XmlSchemaSerializer.java  |  8 +++---
 .../org/apache/juneau/xml/XmlSerializer.java    |  4 +--
 .../apache/juneau/xml/annotation/XmlFormat.java | 10 ++++++-
 24 files changed, 77 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializer.java b/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializer.java
index 19b73e5..5381a98 100644
--- a/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializer.java
@@ -23,7 +23,7 @@ import org.apache.juneau.serializer.*;
  * TODO - Work in progress.  CSV serializer.
  */
 @Produces("text/csv")
-@SuppressWarnings({"unchecked","rawtypes"})
+@SuppressWarnings({"rawtypes"})
 public final class CsvSerializer extends WriterSerializer {
 
 	//--------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
index f33a880..79538ce 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
@@ -19,9 +19,8 @@ import org.apache.juneau.html.annotation.*;
  * Metadata on bean properties specific to the HTML serializers and parsers pulled from the {@link Html @Html} annotation on the bean property.
  *
  * @author James Bognar (james.bognar@salesforce.com)
- * @param <T> The bean class.
  */
-public class HtmlBeanPropertyMeta<T> {
+public class HtmlBeanPropertyMeta {
 
 	private boolean asXml, noTables, noTableHeaders, asPlainText;
 
@@ -30,7 +29,7 @@ public class HtmlBeanPropertyMeta<T> {
 	 *
 	 * @param beanPropertyMeta The metadata of the bean property of this additional metadata.
 	 */
-	public HtmlBeanPropertyMeta(BeanPropertyMeta<T> beanPropertyMeta) {
+	public HtmlBeanPropertyMeta(BeanPropertyMeta beanPropertyMeta) {
 		if (beanPropertyMeta.getField() != null)
 			findHtmlInfo(beanPropertyMeta.getField().getAnnotation(Html.class));
 		if (beanPropertyMeta.getGetter() != null)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
index bb1951d..c8423ce 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
@@ -338,7 +338,7 @@ public final class HtmlParser extends ReaderParser {
 						//onUnknownProperty(key, m, -1, -1);
 						parseAnything(session, object(), r, l);
 					} else {
-						BeanPropertyMeta<?> bpm = e.getMeta();
+						BeanPropertyMeta bpm = e.getMeta();
 						ClassMeta<?> cm = bpm.getClassMeta();
 						Object value = parseAnything(session, cm, r, m.getBean(false));
 						setName(cm, value, key);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
index 99957ff..f30b0bb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
@@ -133,7 +133,7 @@ public final class HtmlSchemaDocSerializer extends HtmlDocSerializer {
 				BeanMeta bm = session.getBeanContext().getBeanMeta(gType.getInnerClass());
 				if (pNames != null)
 					bm = new BeanMetaFiltered(bm, pNames);
-				for (Iterator<BeanPropertyMeta<?>> i = bm.getPropertyMetas().iterator(); i.hasNext();) {
+				for (Iterator<BeanPropertyMeta> i = bm.getPropertyMetas().iterator(); i.hasNext();) {
 					BeanPropertyMeta p = i.next();
 					properties.put(p.getName(), getSchema(session, p.getClassMeta(), p.getName(), p.getProperties()));
 				}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index 522e06a..dc98972 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -280,7 +280,7 @@ public class HtmlSerializer extends XmlSerializer {
 	}
 
 	@SuppressWarnings({ "rawtypes", "unchecked" })
-	private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta<?> type, String classAttr, BeanPropertyMeta<?> ppMeta) throws Exception {
+	private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta<?> type, String classAttr, BeanPropertyMeta ppMeta) throws Exception {
 		ClassMeta<?> keyType = type.getKeyType(), valueType = type.getValueType();
 		ClassMeta<?> aType = session.getBeanContext().getClassMetaForObject(m);       // The actual type
 
@@ -319,8 +319,7 @@ public class HtmlSerializer extends XmlSerializer {
 		out.eTag(i, "table").nl();
 	}
 
-	@SuppressWarnings({ "rawtypes" })
-	private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap<?> m, String classAttr, BeanPropertyMeta<?> ppMeta) throws Exception {
+	private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap<?> m, String classAttr, BeanPropertyMeta ppMeta) throws Exception {
 		int i = session.getIndent();
 
 		Object o = m.getBean();
@@ -378,7 +377,7 @@ public class HtmlSerializer extends XmlSerializer {
 	}
 
 	@SuppressWarnings({ "rawtypes", "unchecked" })
-	private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Collection c, ClassMeta<?> type, String name, String classAttr, BeanPropertyMeta<?> ppMeta) throws Exception {
+	private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Collection c, ClassMeta<?> type, String name, String classAttr, BeanPropertyMeta ppMeta) throws Exception {
 
 		BeanContext bc = session.getBeanContext();
 		ClassMeta<?> elementType = type.getElementType();
@@ -471,7 +470,7 @@ public class HtmlSerializer extends XmlSerializer {
 	 * 2-dimensional tables are used for collections of objects that all have the same set of property names.
 	 */
 	@SuppressWarnings({ "rawtypes", "unchecked" })
-	private String[] getTableHeaders(SerializerSession session, Collection c, BeanPropertyMeta<?> pMeta) throws Exception {
+	private String[] getTableHeaders(SerializerSession session, Collection c, BeanPropertyMeta pMeta) throws Exception {
 		BeanContext bc = session.getBeanContext();
 		if (c.size() == 0)
 			return null;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 18f95c8..3cf27fb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -89,7 +89,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	 * @param o The object.
 	 * @return <jk>true</jk> if the specified object is a URL.
 	 */
-	public boolean isUri(ClassMeta<?> cm, BeanPropertyMeta<?> pMeta, Object o) {
+	public boolean isUri(ClassMeta<?> cm, BeanPropertyMeta pMeta, Object o) {
 		if (cm.isUri())
 			return true;
 		if (pMeta != null && (pMeta.isUri() || pMeta.isBeanUri()))
@@ -106,7 +106,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	 * @param o The URL object.
 	 * @return The anchor text to use for the specified URL object.
 	 */
-	public String getAnchorText(BeanPropertyMeta<?> pMeta, Object o) {
+	public String getAnchorText(BeanPropertyMeta pMeta, Object o) {
 		String s;
 		if (lookForLabelParameters) {
 			s = o.toString();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
index 08e78ec..c9234ad 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ini/ConfigFile.java
@@ -561,7 +561,7 @@ public abstract class ConfigFile implements Map<String,Section> {
 		try {
 			BeanMap<T> bm = getParser().getBeanContext().newBeanMap(c);
 			for (String k : getSectionKeys(sectionName)) {
-				BeanPropertyMeta<?> bpm = bm.getPropertyMeta(k);
+				BeanPropertyMeta bpm = bm.getPropertyMeta(k);
 				if (bpm == null) {
 					if (! ignoreUnknownProperties)
 						throw new ParseException("Unknown property {0} encountered", k);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java b/juneau-core/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
index df96408..81c2fc5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
@@ -102,9 +102,9 @@ public class DelegateBeanMap<T> extends BeanMap<T> {
 	public Set<Entry<String,Object>> entrySet() {
 		Set<Entry<String,Object>> s = Collections.newSetFromMap(new LinkedHashMap<Map.Entry<String,Object>,Boolean>());
 		for (final String key : keys) {
-			BeanMapEntry<T> bme;
+			BeanMapEntry bme;
 			if (overrideValues.containsKey(key))
-				bme = new BeanMapEntryOverride<T>(this, this.getPropertyMeta(key), overrideValues.get(key));
+				bme = new BeanMapEntryOverride(this, this.getPropertyMeta(key), overrideValues.get(key));
 			else
 				bme = this.getProperty(key);
 			if (bme == null)
@@ -115,27 +115,27 @@ public class DelegateBeanMap<T> extends BeanMap<T> {
 	}
 
 	@Override /* BeanMap */
-	public Collection<BeanPropertyMeta<T>> getProperties() {
-		List<BeanPropertyMeta<T>> l = new ArrayList<BeanPropertyMeta<T>>(keys.size());
+	public Collection<BeanPropertyMeta> getProperties() {
+		List<BeanPropertyMeta> l = new ArrayList<BeanPropertyMeta>(keys.size());
 		for (final String key : keys) {
-			BeanPropertyMeta<T> p = this.getPropertyMeta(key);
+			BeanPropertyMeta p = this.getPropertyMeta(key);
 			if (overrideValues.containsKey(key)) {
-				final BeanPropertyMeta<T> p2 = p;
-				p = new BeanPropertyMeta<T>(this.meta, key) {
+				final BeanPropertyMeta p2 = p;
+				p = new BeanPropertyMeta(this.meta, key) {
 					@Override /* BeanPropertyMeta */
-					public Object get(BeanMap<T> m) {
+					public Object get(BeanMap<?> m) {
 						return overrideValues.get(key);
 					}
 					@Override /* BeanPropertyMeta */
-					public RdfBeanPropertyMeta<T> getRdfMeta() {
+					public RdfBeanPropertyMeta getRdfMeta() {
 						return p2.getRdfMeta();
 					}
 					@Override /* BeanPropertyMeta */
-					public HtmlBeanPropertyMeta<T> getHtmlMeta() {
+					public HtmlBeanPropertyMeta getHtmlMeta() {
 						return p2.getHtmlMeta();
 					}
 					@Override /* BeanPropertyMeta */
-					public XmlBeanPropertyMeta<T> getXmlMeta() {
+					public XmlBeanPropertyMeta getXmlMeta() {
 						return p2.getXmlMeta();
 					}
 				};
@@ -147,10 +147,10 @@ public class DelegateBeanMap<T> extends BeanMap<T> {
 		return l;
 	}
 
-	private class BeanMapEntryOverride<T2> extends BeanMapEntry<T2> {
+	private class BeanMapEntryOverride extends BeanMapEntry {
 		Object value;
 
-		private BeanMapEntryOverride(BeanMap<T2> bm, BeanPropertyMeta<T2> bpm, Object value) {
+		private BeanMapEntryOverride(BeanMap<?> bm, BeanPropertyMeta bpm, Object value) {
 			super(bm, bpm);
 			this.value = value;
 		}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
index f3548d9..48d0547 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
@@ -24,9 +24,8 @@ import org.apache.juneau.xml.*;
  * Metadata on bean properties specific to the RDF serializers and parsers pulled from the {@link Rdf @Rdf} annotation on the bean property.
  *
  * @author James Bognar (james.bognar@salesforce.com)
- * @param <T> The bean class.
  */
-public class RdfBeanPropertyMeta<T> {
+public class RdfBeanPropertyMeta {
 
 	private RdfCollectionFormat collectionFormat = DEFAULT;
 	private Namespace namespace = null;
@@ -36,7 +35,7 @@ public class RdfBeanPropertyMeta<T> {
 	 *
 	 * @param bpMeta The metadata of the bean property of this additional metadata.
 	 */
-	public RdfBeanPropertyMeta(BeanPropertyMeta<T> bpMeta) {
+	public RdfBeanPropertyMeta(BeanPropertyMeta bpMeta) {
 
 		List<Rdf> rdfs = bpMeta.findAnnotations(Rdf.class);
 		List<RdfSchema> schemas = bpMeta.findAnnotations(RdfSchema.class);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
index 0cb097b..9125969 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -186,7 +186,7 @@ public class RdfParser extends ReaderParser {
 		if (bm.hasBeanUriProperty() && r2.getURI() != null)
 			m.putBeanUri(r2.getURI());
 		Property subTypeIdProperty = null;
-		BeanPropertyMeta<T> stp = bm.getSubTypeIdProperty();
+		BeanPropertyMeta stp = bm.getSubTypeIdProperty();
 		if (stp != null) {
 			subTypeIdProperty = session.getProperty(stp.getName());
 			Statement st = r2.getProperty(subTypeIdProperty);
@@ -201,7 +201,7 @@ public class RdfParser extends ReaderParser {
 			if (p.equals(subTypeIdProperty))
 				continue;
 			String key = session.decodeString(p.getLocalName());
-			BeanPropertyMeta<T> pMeta = m.getPropertyMeta(key);
+			BeanPropertyMeta pMeta = m.getPropertyMeta(key);
 			session.setCurrentProperty(pMeta);
 			if (pMeta != null) {
 				RDFNode o = st.getObject();
@@ -230,7 +230,7 @@ public class RdfParser extends ReaderParser {
 		return m;
 	}
 
-	private boolean isMultiValuedCollections(RdfParserSession session, BeanPropertyMeta<?> pMeta) {
+	private boolean isMultiValuedCollections(RdfParserSession session, BeanPropertyMeta pMeta) {
 		if (pMeta != null && pMeta.getRdfMeta().getCollectionFormat() != RdfCollectionFormat.DEFAULT)
 			return pMeta.getRdfMeta().getCollectionFormat() == RdfCollectionFormat.MULTI_VALUED;
 		return session.getCollectionFormat() == RdfCollectionFormat.MULTI_VALUED;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
index 1043031..a384059 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
@@ -129,7 +129,7 @@ public final class JsonSchemaSerializer extends JsonSerializer {
 				BeanMeta bm = session.getBeanContext().getBeanMeta(gType.getInnerClass());
 				if (pNames != null)
 					bm = new BeanMetaFiltered(bm, pNames);
-				for (Iterator<BeanPropertyMeta<?>> i = bm.getPropertyMetas().iterator(); i.hasNext();) {
+				for (Iterator<BeanPropertyMeta> i = bm.getPropertyMetas().iterator(); i.hasNext();) {
 					BeanPropertyMeta p = i.next();
 					properties.put(p.getName(), getSchema(session, p.getClassMeta(), p.getName(), p.getProperties()));
 				}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
index 7d431b2..d8265e6 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -290,7 +290,6 @@ public class JsonSerializer extends WriterSerializer {
 		return out;
 	}
 
-	@SuppressWarnings({ "rawtypes" })
 	private SerializerWriter serializeBeanMap(JsonSerializerSession session, JsonWriter out, BeanMap<?> m, boolean addClassAttr) throws Exception {
 		int depth = session.getIndent();
 		out.append('{');

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index ec62363..68c9341 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -119,7 +119,7 @@ public final class MsgPackParser extends InputStreamParser {
 					BeanMap m = bc.newBeanMap(outer, ft.getInnerClass());
 					for (int i = 0; i < length; i++) {
 						String pName = parseAnything(session, string(), is, m.getBean(false));
-						BeanPropertyMeta<?> bpm = m.getPropertyMeta(pName);
+						BeanPropertyMeta bpm = m.getPropertyMeta(pName);
 						if (bpm == null) {
 							if (pName.equals("_class"))
 								parseAnything(session, bc.string(), is, null);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index 76aa138..cd734b8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -132,7 +132,7 @@ public class MsgPackSerializer extends OutputStreamSerializer {
 		ClassMeta<?> keyType = type.getKeyType(), valueType = type.getValueType();
 
 		m = session.sort(m);
-		
+
 		// The map size may change as we're iterating over it, so
 		// grab a snapshot of the entries in a separate list.
 		List<SimpleMapEntry> entries = new ArrayList<SimpleMapEntry>(m.size());
@@ -160,7 +160,6 @@ public class MsgPackSerializer extends OutputStreamSerializer {
 		serializeCollection(session, out, o, type);
 	}
 
-	@SuppressWarnings({ "rawtypes" })
 	private void serializeBeanMap(MsgPackSerializerSession session, MsgPackOutputStream out, final BeanMap<?> m, boolean addClassAttr) throws Exception {
 
 		List<BeanPropertyValue> values = m.getValues(addClassAttr, session.isTrimNulls());

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/parser/ParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/ParserSession.java b/juneau-core/src/main/java/org/apache/juneau/parser/ParserSession.java
index 948fad8..6f912d4 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ParserSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ParserSession.java
@@ -43,7 +43,7 @@ public class ParserSession extends Session {
 	private final Object input;
 	private InputStream inputStream;
 	private Reader reader, noCloseReader;
-	private BeanPropertyMeta<?> currentProperty;
+	private BeanPropertyMeta currentProperty;
 	private ClassMeta<?> currentClass;
 
 	/**
@@ -202,7 +202,7 @@ public class ParserSession extends Session {
 	 * Sets the current bean property being parsed for proper error messages.
 	 * @param currentProperty The current property being parsed.
 	 */
-	public void setCurrentProperty(BeanPropertyMeta<?> currentProperty) {
+	public void setCurrentProperty(BeanPropertyMeta currentProperty) {
 		this.currentProperty = currentProperty;
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index eb5dd94..0749066 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -74,7 +74,7 @@ public class SerializerSession extends Session {
 	private final Object output;
 	private OutputStream outputStream;
 	private Writer writer, flushOnlyWriter;
-	private BeanPropertyMeta<?> currentProperty;
+	private BeanPropertyMeta currentProperty;
 	private ClassMeta<?> currentClass;
 
 
@@ -223,7 +223,7 @@ public class SerializerSession extends Session {
 	 * Sets the current bean property being serialized for proper error messages.
 	 * @param currentProperty The current property being serialized.
 	 */
-	public void setCurrentProperty(BeanPropertyMeta<?> currentProperty) {
+	public void setCurrentProperty(BeanPropertyMeta currentProperty) {
 		this.currentProperty = currentProperty;
 	}
 
@@ -505,7 +505,7 @@ public class SerializerSession extends Session {
 	 * @param p The bean map entry representing the bean property.
 	 * @param t The throwable that the bean getter threw.
 	 */
-	public void addBeanGetterWarning(BeanPropertyMeta<?> p, Throwable t) {
+	public void addBeanGetterWarning(BeanPropertyMeta p, Throwable t) {
 		String prefix = (debug ? getStack(false) + ": " : "");
 		addWarning("{0}Could not call getValue() on property ''{1}'' of class ''{2}'', exception = {3}", prefix, p.getName(), p.getBeanMeta().getClassMeta(), t.getLocalizedMessage());
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
index df94810..4c11909 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
@@ -366,7 +366,6 @@ public class UonSerializer extends WriterSerializer {
 		return out;
 	}
 
-	@SuppressWarnings({ "rawtypes" })
 	private SerializerWriter serializeBeanMap(UonSerializerSession session, UonWriter out, BeanMap<?> m, boolean addClassAttr) throws Exception {
 		int depth = session.getIndent();
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index d5a9177..23fcdbb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -64,7 +64,7 @@ public class UrlEncodingParserSession extends UonParserSession {
 	 * @param pMeta The metadata on the bean property.
 	 * @return <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.
 	 */
-	public final boolean shouldUseExpandedParams(BeanPropertyMeta<?> pMeta) {
+	public final boolean shouldUseExpandedParams(BeanPropertyMeta pMeta) {
 		ClassMeta<?> cm = pMeta.getClassMeta();
 		if (cm.isArray() || cm.isCollection()) {
 			if (expandedParams)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
index 11e5a9e..768d196 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
@@ -56,7 +56,7 @@ public class UrlEncodingSerializerSession extends UonSerializerSession {
 	 * @param pMeta The metadata on the bean property.
 	 * @return <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.
 	 */
-	public final boolean shouldUseExpandedParams(BeanPropertyMeta<?> pMeta) {
+	public final boolean shouldUseExpandedParams(BeanPropertyMeta pMeta) {
 		ClassMeta<?> cm = pMeta.getClassMeta();
 		if (cm.isArray() || cm.isCollection()) {
 			if (expandedParams)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
index d6063f7..d0f066c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
@@ -26,10 +26,10 @@ import org.apache.juneau.xml.annotation.*;
 public class XmlBeanMeta<T> {
 
 	// XML related fields
-	private final Map<String,BeanPropertyMeta<T>> xmlAttrs;                        // Map of bean properties that are represented as XML attributes.
-	private final BeanPropertyMeta<T> xmlContent;                                  // Bean property that is represented as XML content within the bean element.
-	private final XmlContentHandler<T> xmlContentHandler;                          // Class used to convert bean to XML content.
-	private final Map<String,BeanPropertyMeta<T>> childElementProperties;          // Properties defined with @Xml.childName annotation.
+	private final Map<String,BeanPropertyMeta> xmlAttrs;                        // Map of bean properties that are represented as XML attributes.
+	private final BeanPropertyMeta xmlContent;                                  // Bean property that is represented as XML content within the bean element.
+	private final XmlContentHandler<T> xmlContentHandler;                       // Class used to convert bean to XML content.
+	private final Map<String,BeanPropertyMeta> childElementProperties;          // Properties defined with @Xml.childName annotation.
 	private final BeanMeta<T> beanMeta;
 
 	/**
@@ -38,16 +38,17 @@ public class XmlBeanMeta<T> {
 	 * @param beanMeta The metadata on the bean that this metadata applies to.
 	 * @param pNames Only look at these property names.  If <jk>null</jk>, apply to all bean properties.
 	 */
+	@SuppressWarnings("unchecked")
 	public XmlBeanMeta(BeanMeta<T> beanMeta, String[] pNames) {
 		this.beanMeta = beanMeta;
 		Class<T> c = beanMeta.getClassMeta().getInnerClass();
 
-		Map<String,BeanPropertyMeta<T>> tXmlAttrs = new LinkedHashMap<String,BeanPropertyMeta<T>>();
-		BeanPropertyMeta<T> tXmlContent = null;
+		Map<String,BeanPropertyMeta> tXmlAttrs = new LinkedHashMap<String,BeanPropertyMeta>();
+		BeanPropertyMeta tXmlContent = null;
 		XmlContentHandler<T> tXmlContentHandler = null;
-		Map<String,BeanPropertyMeta<T>> tChildElementProperties = new LinkedHashMap<String,BeanPropertyMeta<T>>();
+		Map<String,BeanPropertyMeta> tChildElementProperties = new LinkedHashMap<String,BeanPropertyMeta>();
 
-		for (BeanPropertyMeta<T> p : beanMeta.getPropertyMetas(pNames)) {
+		for (BeanPropertyMeta p : beanMeta.getPropertyMetas(pNames)) {
 			XmlFormat xf = p.getXmlMeta().getXmlFormat();
 			if (xf == XmlFormat.ATTR)
 				tXmlAttrs.put(p.getName(), p);
@@ -55,7 +56,7 @@ public class XmlBeanMeta<T> {
 				if (tXmlContent != null)
 					throw new BeanRuntimeException(c, "Multiple instances of CONTENT properties defined on class.  Only one property can be designated as such.");
 				tXmlContent = p;
-				tXmlContentHandler = p.getXmlMeta().getXmlContentHandler();
+				tXmlContentHandler = (XmlContentHandler<T>) p.getXmlMeta().getXmlContentHandler();
 			}
 			// Look for any properties that are collections with @Xml.childName specified.
 			String n = p.getXmlMeta().getChildName();
@@ -78,7 +79,7 @@ public class XmlBeanMeta<T> {
 	 *
 	 * @return Metadata on the XML attribute properties of the bean.
 	 */
-	protected Map<String,BeanPropertyMeta<T>> getXmlAttrProperties() {
+	protected Map<String,BeanPropertyMeta> getXmlAttrProperties() {
 		return xmlAttrs;
 	}
 
@@ -87,7 +88,7 @@ public class XmlBeanMeta<T> {
 	 *
 	 * @return The bean property, or <jk>null</jk> if annotation is not specified.
 	 */
-	protected BeanPropertyMeta<T> getXmlContentProperty() {
+	protected BeanPropertyMeta getXmlContentProperty() {
 		return xmlContent;
 	}
 
@@ -106,7 +107,7 @@ public class XmlBeanMeta<T> {
 	 *
 	 * @return The child element properties for this bean, or <jk>null</jk> if no child element properties are defined.
 	 */
-	protected Map<String,BeanPropertyMeta<T>> getChildElementProperties() {
+	protected Map<String,BeanPropertyMeta> getChildElementProperties() {
 		return childElementProperties;
 	}
 
@@ -118,9 +119,9 @@ public class XmlBeanMeta<T> {
 	 * @param fieldName The bean property name.
 	 * @return The property metadata.
 	 */
-	protected BeanPropertyMeta<T> getPropertyMeta(String fieldName) {
+	protected BeanPropertyMeta getPropertyMeta(String fieldName) {
 		if (childElementProperties != null) {
-			BeanPropertyMeta<T> bpm = childElementProperties.get(fieldName);
+			BeanPropertyMeta bpm = childElementProperties.get(fieldName);
 			if (bpm != null)
 				return bpm;
 		}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
index c4c5e67..00aa151 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
@@ -21,22 +21,21 @@ import org.apache.juneau.xml.annotation.*;
  * Metadata on bean properties specific to the XML serializers and parsers pulled from the {@link Xml @Xml} annotation on the bean property.
  *
  * @author James Bognar (james.bognar@salesforce.com)
- * @param <T> The bean class.
  */
-public class XmlBeanPropertyMeta<T> {
+public class XmlBeanPropertyMeta {
 
 	private Namespace namespace = null;
 	private XmlFormat xmlFormat = XmlFormat.NORMAL;
-	private XmlContentHandler<T> xmlContentHandler = null;
+	private XmlContentHandler<?> xmlContentHandler = null;
 	private String childName;
-	private final BeanPropertyMeta<T> beanPropertyMeta;
+	private final BeanPropertyMeta beanPropertyMeta;
 
 	/**
 	 * Constructor.
 	 *
 	 * @param beanPropertyMeta The metadata of the bean property of this additional metadata.
 	 */
-	public XmlBeanPropertyMeta(BeanPropertyMeta<T> beanPropertyMeta) {
+	public XmlBeanPropertyMeta(BeanPropertyMeta beanPropertyMeta) {
 		this.beanPropertyMeta = beanPropertyMeta;
 
 		if (beanPropertyMeta.getField() != null)
@@ -90,7 +89,7 @@ public class XmlBeanPropertyMeta<T> {
 	 *
 	 * @return The XML content handler, or <jk>null</jk> if annotation not specified.
 	 */
-	protected XmlContentHandler<T> getXmlContentHandler() {
+	protected XmlContentHandler<?> getXmlContentHandler() {
 		return xmlContentHandler;
 	}
 
@@ -108,11 +107,10 @@ public class XmlBeanPropertyMeta<T> {
 	 *
 	 * @return The bean property metadata.  Never <jk>null</jk>.
 	 */
-	protected BeanPropertyMeta<T> getBeanPropertyMeta() {
+	protected BeanPropertyMeta getBeanPropertyMeta() {
 		return beanPropertyMeta;
 	}
 
-	@SuppressWarnings("unchecked")
 	private void findXmlInfo(Xml xml) {
 		if (xml == null)
 			return;
@@ -152,7 +150,7 @@ public class XmlBeanPropertyMeta<T> {
 
 		try {
 			if (xmlFormat == XmlFormat.CONTENT && xml.contentHandler() != XmlContentHandler.NULL.class)
-				xmlContentHandler = (XmlContentHandler<T>) xml.contentHandler().newInstance();
+				xmlContentHandler = xml.contentHandler().newInstance();
 		} catch (Exception e) {
 			throw new BeanRuntimeException(cmBean.getInnerClass(), "Could not instantiate content handler ''{0}''", xml.contentHandler().getName()).initCause(e);
 		}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
index 7a2c0f4..0e5b0be 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
@@ -370,7 +370,7 @@ public class XmlSchemaSerializer extends XmlSerializer {
 
 					boolean hasChildElements = false;
 
-					for (BeanPropertyMeta<?> pMeta : bm.getPropertyMetas())
+					for (BeanPropertyMeta pMeta : bm.getPropertyMetas())
 						if (pMeta.getXmlMeta().getXmlFormat() != XmlFormat.ATTR && pMeta.getXmlMeta().getXmlFormat() != XmlFormat.CONTENT)
 							hasChildElements = true;
 
@@ -387,8 +387,8 @@ public class XmlSchemaSerializer extends XmlSerializer {
 
 						boolean hasOtherNsElement = false;
 
-						for (BeanPropertyMeta<?> pMeta : bm.getPropertyMetas()) {
-							XmlBeanPropertyMeta<?> xmlMeta = pMeta.getXmlMeta();
+						for (BeanPropertyMeta pMeta : bm.getPropertyMetas()) {
+							XmlBeanPropertyMeta xmlMeta = pMeta.getXmlMeta();
 							if (xmlMeta.getXmlFormat() != XmlFormat.ATTR) {
 								boolean isCollapsed = xmlMeta.getXmlFormat() == COLLAPSED;
 								ClassMeta<?> ct2 = pMeta.getClassMeta();
@@ -433,7 +433,7 @@ public class XmlSchemaSerializer extends XmlSerializer {
 						w.eTag(i+1, "sequence").nl();
 					}
 
-					for (BeanPropertyMeta<?> pMeta : bm.getXmlMeta().getXmlAttrProperties().values()) {
+					for (BeanPropertyMeta pMeta : bm.getXmlMeta().getXmlAttrProperties().values()) {
 						Namespace pNs = pMeta.getXmlMeta().getNamespace();
 						if (pNs == null)
 							pNs = defaultNs;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index a686412..e51aff4 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -297,7 +297,7 @@ public class XmlSerializer extends WriterSerializer {
 	 */
 	protected XmlWriter serializeAnything(XmlSerializerSession session, XmlWriter out, Object o,
 			ClassMeta eType, String elementName, Namespace elementNamespace, boolean addNamespaceUris,
-			XmlFormat format, BeanPropertyMeta<?> pMeta) throws Exception {
+			XmlFormat format, BeanPropertyMeta pMeta) throws Exception {
 
 		BeanContext bc = session.getBeanContext();
 		String ts = null;              // The type string (e.g. <type> or <x x='type'>
@@ -597,7 +597,7 @@ public class XmlSerializer extends WriterSerializer {
 		return true;
 	}
 
-	private XmlWriter serializeCollection(XmlSerializerSession session, XmlWriter out, Collection c, ClassMeta<?> type, BeanPropertyMeta<?> ppMeta) throws Exception {
+	private XmlWriter serializeCollection(XmlSerializerSession session, XmlWriter out, Collection c, ClassMeta<?> type, BeanPropertyMeta ppMeta) throws Exception {
 
 		c = session.sort(c);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9ad9cacd/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlFormat.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlFormat.java b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlFormat.java
index 24d4d73..2e92bb7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlFormat.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlFormat.java
@@ -27,11 +27,19 @@ public enum XmlFormat {
 	/**
 	 * Render property as an attribute instead of an element.
 	 * <p>
-	 * 	Can only be applied to properties (methods/fields) of simple types (e.g. <code>String</code>, <code>Number</code>).
+	 * 	Can only be applied to properties (methods/fields) of class types that can be convertible to <code>Strings</code>.
 	 */
 	ATTR,
 
 	/**
+	 * Render property as attributes instead of an element.
+	 * <p>
+	 * 	Can only be applied to properties (methods/fields) of class type <code>Map&lt;Object,Object&gt;</code> where both
+	 * 	objects are convertible to <code>Strings</code>.
+	 */
+	ATTRS,
+
+	/**
 	 * Render property as an element instead of an attribute.
 	 * <p>
 	 * 	Can be applied to URL and ID bean properties that would normally be rendered as attributes.