You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/06/27 02:38:32 UTC

[18/19] incubator-juneau git commit: Clean up javadocs.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
index 5696b49..6a80dd7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
@@ -32,23 +32,31 @@ import org.apache.juneau.transform.*;
 
 /**
  * Core class of the Juneau architecture.
+ *
  * <p>
  * This class servers multiple purposes:
  * <ul class='spaced-list'>
- * 	<li>Provides the ability to wrap beans inside {@link Map} interfaces.
- * 	<li>Serves as a repository for metadata on POJOs, such as associated {@link BeanFilter beanFilters},
+ * 	<li>
+ * 		Provides the ability to wrap beans inside {@link Map} interfaces.
+ * 	<li>
+ * 		Serves as a repository for metadata on POJOs, such as associated {@link BeanFilter beanFilters},
  * 		{@link PropertyNamer property namers}, etc...  which are used to tailor how POJOs are serialized and parsed.
- * 	<li>Serves as a common utility class for all {@link Serializer Serializers} and {@link Parser Parsers}
+ * 	<li>
+ * 		Serves as a common utility class for all {@link Serializer Serializers} and {@link Parser Parsers}
  * 		for serializing and parsing Java beans.
  * </ul>
+ *
  * <p>
  * All serializer and parser contexts extend from this context.
  *
  * <h5 class='topic'>Bean Contexts</h5>
+ *
+ * <p>
  * Bean contexts are created through the {@link PropertyStore#getContext(Class)} method.
  * These context objects are read-only, reusable, and thread-safe.
  * The {@link PropertyStore} class will typically cache copies of <code>Context</code> objects based on
  * the current settings on the factory.
+ *
  * <p>
  * Each bean context maintains a cache of {@link ClassMeta} objects that describe information about classes encountered.
  * These <code>ClassMeta</code> objects are time-consuming to construct.
@@ -58,6 +66,7 @@ import org.apache.juneau.transform.*;
  * Because of this, many of the properties defined on the {@link BeanContext} class cannot be overridden on the session.
  *
  * <h5 class='topic'>Bean Sessions</h5>
+ *
  * <p>
  * Whereas <code>BeanContext</code> objects are permanent, unchangeable, cached, and thread-safe,
  * {@link BeanSession} objects are ephemeral and not thread-safe.
@@ -65,24 +74,31 @@ import org.apache.juneau.transform.*;
  * {@link BeanMap} objects can only be created through the session.
  *
  * <h5 class='topic'>BeanContext configuration properties</h5>
+ *
+ * <p>
  * <code>BeanContexts</code> have several configuration properties that can be used to tweak behavior on how beans are
  * handled.  These are denoted as the static <jsf>BEAN_*</jsf> fields on this class.
+ *
  * <p>
  * Some settings (e.g. {@link BeanContext#BEAN_beansRequireDefaultConstructor}) are used to differentiate between bean
  * and non-bean classes.
  * Attempting to create a bean map around one of these objects will throw a {@link BeanRuntimeException}.
  * The purpose for this behavior is so that the serializers can identify these non-bean classes and convert them to
  * plain strings using the {@link Object#toString()} method.
+ *
  * <p>
  * Some settings (e.g. {@link BeanContext#BEAN_beanFieldVisibility}) are used to determine what kinds of properties are
  * detected on beans.
+ *
  * <p>
  * Some settings (e.g. {@link BeanContext#BEAN_beanMapPutReturnsOldValue}) change the runtime behavior of bean maps.
+ *
  * <p>
  * Settings are specified using the {@link PropertyStore#setProperty(String, Object)} method and related convenience
  * methods.
  *
  * <h5 class='section'>Example:</h5>
+ *
  * <p class='bcode'>
  * 	<jc>// Construct a context from scratch.</jc>
  * 	BeanContext beanContext = PropertyStore.<jsm>create</jsm>()
@@ -98,9 +114,11 @@ import org.apache.juneau.transform.*;
  * </p>
  *
  * <h5 class='topic'>Bean Maps</h5>
+ *
  * <p>
  * {@link BeanMap BeanMaps} are wrappers around Java beans that allow properties to be retrieved and
  * set using the common {@link Map#put(Object,Object)} and {@link Map#get(Object)} methods.
+ *
  * <p>
  * Bean maps are created in two ways...
  * <ol>
@@ -111,6 +129,7 @@ import org.apache.juneau.transform.*;
  * </ol>
  *
  * <h5 class='section'>Example:</h5>
+ *
  * <p class='bcode'>
  * 	<jc>// A sample bean class</jc>
  * 	<jk>public class</jk> Person {
@@ -136,10 +155,13 @@ import org.apache.juneau.transform.*;
  * </p>
  *
  * <h5 class='topic'>Bean Annotations</h5>
+ *
  * <p>
  * This package contains annotations that can be applied to class definitions to override what properties are detected
  * on a bean.
+ *
  * <h5 class='section'>Example:</h5>
+ *
  * <p class='bcode'>
  * 	<jc>// Bean class definition where only property 'name' is detected.</jc>
  * 	<ja>&#64;Bean</ja>(properties=<js>"name"</js>)
@@ -149,53 +171,67 @@ import org.apache.juneau.transform.*;
  * 		<jk>public int</jk> getAge();
  * 		<jk>public void</jk> setAge(<jk>int</jk> age);
  * 	}
+ * </p>
+ *
  * <p>
  * See {@link Bean @Bean} and {@link BeanProperty @BeanProperty} for more information.
  *
  * <h5 class='topic'>Beans with read-only properties</h5>
+ *
  * <p>
  * Bean maps can also be defined on top of beans with read-only properties by adding a
  * {@link BeanConstructor @BeanConstructor} annotation to one of the constructors on the
  * bean class.  This will allow read-only properties to be set through constructor arguments.
+ *
  * <p>
  * When the <code>@BeanConstructor</code> annotation is present, bean instantiation is delayed until the call to
  * {@link BeanMap#getBean()}.
  * Until then, bean property values are stored in a local cache until <code>getBean()</code> is called.
  * Because of this additional caching step, parsing into read-only beans tends to be slower and use more memory than
  * parsing into beans with writable properties.
+ *
  * <p>
  * Attempting to call {@link BeanMap#put(String,Object)} on a read-only property after calling {@link BeanMap#getBean()}
  * will result in a {@link BeanRuntimeException} being thrown.
  * Multiple calls to {@link BeanMap#getBean()} will return the same bean instance.
+ *
  * <p>
  * Beans can be defined with a combination of read-only and read-write properties.
+ *
  * <p>
  * See {@link BeanConstructor @BeanConstructor} for more information.
  *
  * <h5 class='topic'>BeanFilters and PojoSwaps</h5>
+ *
  * <p>
  * 	{@link BeanFilter BeanFilters} and {@link PojoSwap PojoSwaps} are used to tailor how beans and POJOs are handled.
  * 	<ol class='spaced-list'>
- * 		<li>{@link BeanFilter} - Allows you to tailor handling of bean classes.
+ * 		<li>
+ * 			{@link BeanFilter} - Allows you to tailor handling of bean classes.
  * 			This class can be considered a programmatic equivalent to the {@link Bean} annotation when
  * 			annotating classes are not possible (e.g. you don't have access to the source).
  * 			This includes specifying which properties are visible and the ability to programmatically override the
  * 			execution of properties.
- * 		<li>{@link PojoSwap} - Allows you to swap out non-serializable objects with serializable replacements.
+ * 		<li>
+ * 			{@link PojoSwap} - Allows you to swap out non-serializable objects with serializable replacements.
  * 	</ol>
+ *
  * <p>
  * See <a class='doclink' href='transform/package-summary.html#TOC'>org.apache.juneau.transform</a> for more
  * information.
  *
  * <h5 class='topic'>ClassMetas</h5>
+ *
  * <p>
  * The {@link ClassMeta} class is a wrapper around {@link Class} object that provides cached information about that
  * class (e.g. whether it's a {@link Map} or {@link Collection} or bean).
+ *
  * <p>
  * As a general rule, it's best to reuse bean contexts (and therefore serializers and parsers too) whenever possible
  * since it takes some time to populate the internal {@code ClassMeta} object cache.
  * By reusing bean contexts, the class type metadata only needs to be calculated once which significantly improves
  * performance.
+ *
  * <p>
  * See {@link ClassMeta} for more information.
  */
@@ -204,6 +240,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Beans require no-arg constructors.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireDefaultConstructor"</js>
@@ -211,8 +248,10 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, a Java class must implement a default no-arg constructor to be considered a bean.
+	 *
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
@@ -220,6 +259,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Beans require {@link Serializable} interface.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSerializable"</js>
@@ -227,8 +267,10 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, a Java class must implement the {@link Serializable} interface to be considered a bean.
+	 *
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
@@ -236,6 +278,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Beans require setters for getters.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSettersForGetters"</js>
@@ -243,6 +286,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, only getters that have equivalent setters will be considered as properties on a bean.
 	 * Otherwise, they will be ignored.
@@ -251,6 +295,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Beans require at least one property.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSomeProperties"</js>
@@ -258,8 +303,10 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, then a Java class must contain at least 1 property to be considered a bean.
+	 *
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
@@ -268,6 +315,7 @@ public class BeanContext extends Context {
 	/**
 	 * <b>Configuration property:</b>  {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
 	 * value.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanMapPutReturnsOldValue"</js>
@@ -275,9 +323,11 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, then the {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
 	 * values.
+	 *
 	 * <p>
 	 * Disabled by default because it introduces a slight performance penalty.
 	 */
@@ -285,6 +335,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean constructors with the specified minimum visibility.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanConstructorVisibility"</js>
@@ -292,12 +343,12 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
-	 * <p>
 	 */
 	public static final String BEAN_beanConstructorVisibility = "BeanContext.beanConstructorVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean classes with the specified minimum visibility.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanClassVisibility"</js>
@@ -305,15 +356,17 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Classes are not considered beans unless they meet the minimum visibility requirements.
-	 * For example, if the visibility is <code>PUBLIC</code> and the bean class is <jk>protected</jk>, then
-	 * 	the class will not be interpreted as a bean class.
+	 * For example, if the visibility is <code>PUBLIC</code> and the bean class is <jk>protected</jk>, then the class
+	 * will not be interpreted as a bean class.
 	 */
 	public static final String BEAN_beanClassVisibility = "BeanContext.beanClassVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean fields with the specified minimum visibility.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanFieldVisibility"</js>
@@ -321,10 +374,12 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Fields are not considered bean properties unless they meet the minimum visibility requirements.
-	 * For example, if the visibility is <code>PUBLIC</code> and the bean field is <jk>protected</jk>, then
-	 * 	the field will not be interpreted as a bean property.
+	 * For example, if the visibility is <code>PUBLIC</code> and the bean field is <jk>protected</jk>, then the field
+	 * will not be interpreted as a bean property.
+	 *
 	 * <p>
 	 * Use {@link Visibility#NONE} to prevent bean fields from being interpreted as bean properties altogether.
 	 */
@@ -332,6 +387,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean methods with the specified minimum visibility.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.methodVisibility"</js>
@@ -339,15 +395,17 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Methods are not considered bean getters/setters unless they meet the minimum visibility requirements.
-	 * For example, if the visibility is <code>PUBLIC</code> and the bean method is <jk>protected</jk>, then
-	 * 	the method will not be interpreted as a bean getter or setter.
+	 * For example, if the visibility is <code>PUBLIC</code> and the bean method is <jk>protected</jk>, then the method
+	 * will not be interpreted as a bean getter or setter.
 	 */
 	public static final String BEAN_methodVisibility = "BeanContext.methodVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Use Java {@link Introspector} for determining bean properties.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.useJavaBeanIntrospector"</js>
@@ -355,6 +413,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
 	 * Most {@link Bean @Bean} annotations will be ignored.
@@ -363,6 +422,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Use interface proxies.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.useInterfaceProxies"</js>
@@ -370,6 +430,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, then interfaces will be instantiated as proxy classes through the use of an
 	 * {@link InvocationHandler} if there is no other way of instantiating them.
@@ -378,6 +439,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Ignore unknown properties.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreUnknownBeanProperties"</js>
@@ -385,6 +447,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, trying to set a value on a non-existent bean property will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
@@ -393,6 +456,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Ignore unknown properties with null values.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreUnknownNullBeanProperties"</js>
@@ -400,6 +464,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, trying to set a <jk>null</jk> value on a non-existent bean property will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
@@ -408,6 +473,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Ignore properties without setters.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.ignorePropertiesWithoutSetters"</js>
@@ -415,6 +481,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, trying to set a value on a bean property without a setter will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
@@ -423,6 +490,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Ignore invocation errors on getters.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreInvocationExceptionsOnGetters"</js>
@@ -430,6 +498,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, errors thrown when calling bean getter methods will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
@@ -438,6 +507,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Ignore invocation errors on setters.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreInvocationExceptionsOnSetters"</js>
@@ -445,6 +515,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, errors thrown when calling bean setter methods will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
@@ -453,6 +524,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Sort bean properties in alphabetical order.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.sortProperties"</js>
@@ -460,12 +532,13 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
-	 * Otherwise, the natural order of the bean properties is used which is dependent on the
-	 * 	JVM vendor.
+	 * Otherwise, the natural order of the bean properties is used which is dependent on the JVM vendor.
 	 * On IBM JVMs, the bean properties are ordered based on their ordering in the Java file.
 	 * On Oracle JVMs, the bean properties are not ordered (which follows the official JVM specs).
+	 *
 	 * <p>
 	 * This property is disabled by default so that IBM JVM users don't have to use {@link Bean @Bean} annotations
 	 * to force bean properties to be in a particular order and can just alter the order of the fields/methods
@@ -475,6 +548,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Packages whose classes should not be considered beans.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.notBeanPackages.set"</js>
@@ -492,10 +566,13 @@ public class BeanContext extends Context {
 	 * 	</ul>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * When specified, the current list of ignore packages are appended to.
+	 *
 	 * <p>
 	 * Any classes within these packages will be serialized to strings using {@link Object#toString()}.
+	 *
 	 * <p>
 	 * Note that you can specify prefix patterns to include all subpackages.
 	 */
@@ -513,6 +590,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Classes to be excluded from consideration as being beans.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.notBeanClasses.set"</js>
@@ -520,9 +598,10 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> empty set
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
-	 * Not-bean classes are typically converted to <code>Strings</code> during serialization even if they
-	 * appear to be bean-like.
+	 * Not-bean classes are typically converted to <code>Strings</code> during serialization even if they appear to be
+	 * bean-like.
 	 */
 	public static final String BEAN_notBeanClasses = "BeanContext.notBeanClasses.set";
 
@@ -538,6 +617,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Bean filters to apply to beans.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanFilters.list"</js>
@@ -545,16 +625,20 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * This is a programmatic equivalent to the {@link Bean @Bean} annotation.
-	 * It's useful when you want to use the Bean annotation functionality, but you don't have the ability
-	 * 	to alter the bean classes.
+	 * It's useful when you want to use the Bean annotation functionality, but you don't have the ability to alter the
+	 * bean classes.
+	 *
 	 * <p>
 	 * There are two category of classes that can be passed in through this method:
 	 * <ul class='spaced-list'>
-	 * 	<li>Subclasses of {@link BeanFilterBuilder}.
+	 * 	<li>
+	 * 		Subclasses of {@link BeanFilterBuilder}.
 	 * 		These must have a public no-arg constructor.
-	 * 	<li>Bean interface classes.
+	 * 	<li>
+	 * 		Bean interface classes.
 	 * 		A shortcut for defining a {@link InterfaceBeanFilterBuilder}.
 	 * 		Any subclasses of an interface class will only have properties defined on the interface.
 	 * 		All other bean properties will be ignored.
@@ -574,6 +658,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  POJO swaps to apply to Java objects.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.pojoSwaps.list"</js>
@@ -581,6 +666,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * There are two category of classes that can be passed in through this method:
 	 * <ul>
@@ -602,6 +688,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Implementation classes for interfaces and abstract classes.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.implClasses.map"</js>
@@ -609,10 +696,11 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> empty map
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
-	 * For interfaces and abstract classes this method can be used to specify an implementation
-	 * 	class for the interface/abstract class so that instances of the implementation
-	 * 	class are used when instantiated (e.g. during a parse).
+	 * For interfaces and abstract classes this method can be used to specify an implementation class for the
+	 * interface/abstract class so that instances of the implementation class are used when instantiated (e.g. during a
+	 * parse).
 	 */
 	public static final String BEAN_implClasses = "BeanContext.implClasses.map";
 
@@ -623,6 +711,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Explicitly specify visible bean properties.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.includeProperties"</js>
@@ -630,15 +719,19 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <code>{}</code>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Specifies to only include the specified list of properties for the specified bean classes.
+	 *
 	 * <p>
 	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
 	 *	names.
 	 * The key <js>"*"</js> means all bean classes.
+	 *
 	 * <p>
 	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means only serialize the <code>foo</code> and
 	 * <code>bar</code> properties on the specified bean.
+	 *
 	 * <p>
 	 * Setting applies to specified class and all subclasses.
 	 */
@@ -651,6 +744,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Exclude specified properties from beans.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.excludeProperties"</js>
@@ -658,15 +752,19 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <code>{}</code>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Specifies to exclude the specified list of properties for the specified bean class.
+	 *
 	 * <p>
 	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
 	 * names.
 	 * The key <js>"*"</js> means all bean classes.
+	 *
 	 * <p>
 	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means don't serialize the <code>foo</code> and
 	 * <code>bar</code> properties on the specified bean.
+	 *
 	 * <p>
 	 * Setting applies to specified class and all subclasses.
 	 */
@@ -679,6 +777,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Bean lookup dictionary.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanDictionary.list"</js>
@@ -686,6 +785,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * This list can consist of the following class types:
 	 * <ul>
@@ -710,6 +810,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Name to use for the bean type properties used to represent a bean type.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.beanTypePropertyName"</js>
@@ -717,12 +818,12 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <js>"_type"</js>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
-	 * <p>
 	 */
 	public static final String BEAN_beanTypePropertyName = "BeanContext.beanTypePropertyName";
 
 	/**
 	 * <b>Configuration property:</b>  Default parser to use when converting <code>Strings</code> to POJOs.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.defaultParser"</js>
@@ -730,6 +831,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> {@link JsonSerializer}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.
 	 */
@@ -737,6 +839,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Locale.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.locale"</js>
@@ -744,6 +847,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <code>Locale.getDefault()</code>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.ß
 	 */
@@ -751,6 +855,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  TimeZone.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.timeZone"</js>
@@ -758,6 +863,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>null</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.ß
 	 */
@@ -765,6 +871,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Media type.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.mediaType"</js>
@@ -772,6 +879,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>null</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Specifies a default media type value for serializer and parser sessions.
 	 */
@@ -779,6 +887,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * <b>Configuration property:</b>  Debug mode.
+	 *
 	 * <p>
 	 * <ul>
 	 * 	<li><b>Name:</b> <js>"BeanContext.debug"</js>
@@ -786,17 +895,22 @@ public class BeanContext extends Context {
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
+	 *
 	 * <p>
 	 * Enables the following additional information during serialization:
 	 * <ul class='spaced-list'>
-	 * 	<li>When bean getters throws exceptions, the exception includes the object stack information
+	 * 	<li>
+	 * 		When bean getters throws exceptions, the exception includes the object stack information
 	 * 		in order to determine how that method was invoked.
-	 * 	<li>Enables {@link SerializerContext#SERIALIZER_detectRecursions}.
+	 * 	<li>
+	 * 		Enables {@link SerializerContext#SERIALIZER_detectRecursions}.
 	 * </ul>
+	 *
 	 * <p>
 	 * Enables the following additional information during parsing:
 	 * <ul class='spaced-list'>
-	 * 	<li>When bean setters throws exceptions, the exception includes the object stack information
+	 * 	<li>
+	 * 		When bean setters throws exceptions, the exception includes the object stack information
 	 * 		in order to determine how that method was invoked.
 	 * </ul>
 	 */
@@ -901,6 +1015,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * Constructor.
+	 *
 	 * <p>
 	 * Typically only called from {@link PropertyStore#getContext(Class)} or {@link PropertyStore#getBeanContext()}.
 	 *
@@ -1003,15 +1118,18 @@ public class BeanContext extends Context {
 	/**
 	 * Create a new bean session based on the properties defined on this context.
 	 *
-	 * @param op The override properties.
-	 * This map can contain values to override properties defined on this context.
-	 * Note that only session-overridable settings can be overridden.
-	 * @param locale The bean session locale.
-	 * Typically used by {@link PojoSwap PojoSwaps} to provide locale-specific output.
-	 * If <jk>null</jk>, the system default locale is assumed.
-	 * @param timeZone The bean session timezone.
-	 * Typically used by time-sensitive {@link PojoSwap PojoSwaps} to provide timezone-specific output.
-	 * If <jk>null</jk> the system default timezone is assumed on {@link java.util.Date} objects, or the
+	 * @param op
+	 * 	The override properties.
+	 * 	This map can contain values to override properties defined on this context.
+	 * 	Note that only session-overridable settings can be overridden.
+	 * @param locale
+	 * 	The bean session locale.
+	 * 	Typically used by {@link PojoSwap PojoSwaps} to provide locale-specific output.
+	 * 	If <jk>null</jk>, the system default locale is assumed.
+	 * @param timeZone
+	 * 	The bean session timezone.
+	 * 	Typically used by time-sensitive {@link PojoSwap PojoSwaps} to provide timezone-specific output.
+	 * 	If <jk>null</jk> the system default timezone is assumed on {@link java.util.Date} objects, or the
 	 * 	locale specified on {@link Calendar} objects are used.
 	 * @param mediaType The session media type (e.g. <js>"application/json"</js>).
 	 * @return A new session object.
@@ -1022,6 +1140,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * Create a new bean session based on the properties defined on this context.
+	 *
 	 * <p>
 	 * Use this method for creating sessions if you don't need to override any
 	 * properties or locale/timezone currently set on this context.
@@ -1034,6 +1153,8 @@ public class BeanContext extends Context {
 
 	/**
 	 * Returns <jk>true</jk> if the specified bean context shares the same cache as this bean context.
+	 *
+	 * <p>
 	 * Useful for testing purposes.
 	 *
 	 * @param bc The bean context to compare to.
@@ -1044,8 +1165,8 @@ public class BeanContext extends Context {
 	}
 
 	/**
-	 * Determines whether the specified class is ignored as a bean class based on the various
-	 * 	exclusion parameters specified on this context class.
+	 * Determines whether the specified class is ignored as a bean class based on the various exclusion parameters
+	 * specified on this context class.
 	 *
 	 * @param c The class type being tested.
 	 * @return <jk>true</jk> if the specified class matches any of the exclusion parameters.
@@ -1099,8 +1220,9 @@ public class BeanContext extends Context {
 	 *
 	 * @param <T> The class type to get the meta-data on.
 	 * @param c The class to get the meta-data on.
-	 * @return The {@link BeanMeta} for the specified class, or <jk>null</jk> if the class
-	 * 	is not a bean per the settings on this context.
+	 * @return
+	 * 	The {@link BeanMeta} for the specified class, or <jk>null</jk> if the class is not a bean per the settings on
+	 * 	this context.
 	 */
 	public final <T> BeanMeta<T> getBeanMeta(Class<T> c) {
 		if (c == null)
@@ -1113,8 +1235,9 @@ public class BeanContext extends Context {
 	 *
 	 * @param <T> The class type being wrapped.
 	 * @param type The class to resolve.
-	 * @return If the class is not an array, returns a cached {@link ClassMeta} object.
-	 * Otherwise, returns a new {@link ClassMeta} object every time.
+	 * @return
+	 * 	If the class is not an array, returns a cached {@link ClassMeta} object.
+	 * 	Otherwise, returns a new {@link ClassMeta} object every time.
 	 */
 	public final <T> ClassMeta<T> getClassMeta(Class<T> type) {
 		return getClassMeta(type, true);
@@ -1125,9 +1248,11 @@ public class BeanContext extends Context {
 	 *
 	 * @param <T> The class type being wrapped.
 	 * @param type The class to resolve.
-	 * @param waitForInit If <jk>true</jk>, wait for the ClassMeta constructor to finish before returning.
-	 * @return If the class is not an array, returns a cached {@link ClassMeta} object.
-	 * Otherwise, returns a new {@link ClassMeta} object every time.
+	 * @param waitForInit
+	 * 	If <jk>true</jk>, wait for the ClassMeta constructor to finish before returning.
+	 * @return
+	 * 	If the class is not an array, returns a cached {@link ClassMeta} object.
+	 * 	Otherwise, returns a new {@link ClassMeta} object every time.
 	 */
 	final <T> ClassMeta<T> getClassMeta(Class<T> type, boolean waitForInit) {
 
@@ -1159,10 +1284,13 @@ public class BeanContext extends Context {
 	/**
 	 * Used to resolve <code>ClassMetas</code> of type <code>Collection</code> and <code>Map</code> that have
 	 * <code>ClassMeta</code> values that themselves could be collections or maps.
+	 *
 	 * <p>
 	 * <code>Collection</code> meta objects are assumed to be followed by zero or one meta objects indicating the element type.
+	 *
 	 * <p>
 	 * <code>Map</code> meta objects are assumed to be followed by zero or two meta objects indicating the key and value types.
+	 *
 	 * <p>
 	 * The array can be arbitrarily long to indicate arbitrarily complex data structures.
 	 *
@@ -1182,10 +1310,12 @@ public class BeanContext extends Context {
 	 * 		A map containing string keys and values of lists containing beans.
 	 * </ul>
 	 *
-	 * @param type The class to resolve.
+	 * @param type
+	 * 	The class to resolve.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},
 	 * 	{@link GenericArrayType}
-	 * @param args The type arguments of the class if it's a collection or map.
+	 * @param args
+	 * 	The type arguments of the class if it's a collection or map.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},
 	 * 	{@link GenericArrayType}
 	 * 	<br>Ignored if the main type is not a map or collection.
@@ -1388,9 +1518,10 @@ public class BeanContext extends Context {
 	 * @param <T> The class type we're wrapping.
 	 * @param p The property annotation on the type if there is one.
 	 * @param t The type.
-	 * @param typeVarImpls Contains known resolved type parameters on the specified class so that we can result
-	 * {@code ParameterizedTypes} and {@code TypeVariables}.
-	 * Can be <jk>null</jk> if the information is not known.
+	 * @param typeVarImpls
+	 * 	Contains known resolved type parameters on the specified class so that we can result
+	 * 	{@code ParameterizedTypes} and {@code TypeVariables}.
+	 * 	Can be <jk>null</jk> if the information is not known.
 	 * @return The new {@code ClassMeta} object wrapped around the {@code Type} object.
 	 */
 	protected final <T> ClassMeta<T> resolveClassMeta(BeanProperty p, Type t, Map<Class<?>,Class<?>[]> typeVarImpls) {
@@ -1440,8 +1571,8 @@ public class BeanContext extends Context {
 	}
 
 	/**
-	 * Returns the {@link PojoSwap} associated with the specified class, or <jk>null</jk> if there is no
-	 * POJO swap associated with the class.
+	 * Returns the {@link PojoSwap} associated with the specified class, or <jk>null</jk> if there is no POJO swap
+	 * associated with the class.
 	 *
 	 * @param <T> The class associated with the swap.
 	 * @param c The class associated with the swap.
@@ -1458,6 +1589,7 @@ public class BeanContext extends Context {
 
 	/**
 	 * Checks whether a class has a {@link PojoSwap} associated with it in this bean context.
+	 *
 	 * @param c The class to check.
 	 * @return <jk>true</jk> if the specified class or one of its subclasses has a {@link PojoSwap} associated with it.
 	 */
@@ -1476,8 +1608,8 @@ public class BeanContext extends Context {
 	}
 
 	/**
-	 * Returns the {@link BeanFilter} associated with the specified class, or <jk>null</jk> if there is no
-	 * bean filter associated with the class.
+	 * Returns the {@link BeanFilter} associated with the specified class, or <jk>null</jk> if there is no bean filter
+	 * associated with the class.
 	 *
 	 * @param <T> The class associated with the bean filter.
 	 * @param c The class associated with the bean filter.
@@ -1599,12 +1731,13 @@ public class BeanContext extends Context {
 
 	/**
 	 * Returns a reusable {@link ClassMeta} representation for the class <code>Object</code>.
+	 *
 	 * <p>
-	 * This <code>ClassMeta</code> is often used to represent "any object type" when an object type
-	 * 	is not known.
+	 * This <code>ClassMeta</code> is often used to represent "any object type" when an object type is not known.
+	 *
 	 * <p>
-	 * This method is identical to calling <code>getClassMeta(Object.<jk>class</jk>)</code> but uses
-	 * 	a cached copy to avoid a hashmap lookup.
+	 * This method is identical to calling <code>getClassMeta(Object.<jk>class</jk>)</code> but uses a cached copy to
+	 * avoid a hashmap lookup.
 	 *
 	 * @return The {@link ClassMeta} object associated with the <code>Object</code> class.
 	 */
@@ -1614,11 +1747,13 @@ public class BeanContext extends Context {
 
 	/**
 	 * Returns a reusable {@link ClassMeta} representation for the class <code>String</code>.
+	 *
 	 * <p>
 	 * This <code>ClassMeta</code> is often used to represent key types in maps.
+	 *
 	 * <p>
-	 * This method is identical to calling <code>getClassMeta(String.<jk>class</jk>)</code> but uses
-	 * 	a cached copy to avoid a hashmap lookup.
+	 * This method is identical to calling <code>getClassMeta(String.<jk>class</jk>)</code> but uses a cached copy to
+	 * avoid a hashmap lookup.
 	 *
 	 * @return The {@link ClassMeta} object associated with the <code>String</code> class.
 	 */
@@ -1628,11 +1763,13 @@ public class BeanContext extends Context {
 
 	/**
 	 * Returns a reusable {@link ClassMeta} representation for the class <code>Class</code>.
+	 *
 	 * <p>
 	 * This <code>ClassMeta</code> is often used to represent key types in maps.
+	 *
 	 * <p>
-	 * This method is identical to calling <code>getClassMeta(Class.<jk>class</jk>)</code> but uses
-	 * 	a cached copy to avoid a hashmap lookup.
+	 * This method is identical to calling <code>getClassMeta(Class.<jk>class</jk>)</code> but uses a cached copy to
+	 * avoid a hashmap lookup.
 	 *
 	 * @return The {@link ClassMeta} object associated with the <code>String</code> class.
 	 */
@@ -1687,4 +1824,4 @@ public class BeanContext extends Context {
 				.append("excludeProperties", excludeProperties)
 			);
 	}
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryList.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryList.java b/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryList.java
index de0c084..6362f38 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryList.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryList.java
@@ -18,6 +18,7 @@ import org.apache.juneau.annotation.*;
 
 /**
  * Represents a collection of bean classes that make up a bean dictionary.
+ *
  * <p>
  * The classes in the list must be one of the following:
  * <ul>
@@ -25,6 +26,7 @@ import org.apache.juneau.annotation.*;
  * 	<li>Other subclasses of {@link BeanDictionaryList}.
  * 	<li>Other subclasses of {@link BeanDictionaryMap}.
  * </ul>
+ *
  * <p>
  * Subclasses must implement a public no-arg constructor so that it can be instantiated by the bean context code.
  */
@@ -34,9 +36,10 @@ public class BeanDictionaryList extends ArrayList<Class<?>> {
 	/**
 	 * Constructor.
 	 *
-	 * @param c The list of bean classes to add to this dictionary.
-	 * Classes must either specify a {@link Bean#typeName()} value or be another subclass of
-	 * <code>BeanDictionaryList</code>.
+	 * @param c
+	 * 	The list of bean classes to add to this dictionary.
+	 * 	Classes must either specify a {@link Bean#typeName()} value or be another subclass of
+	 * 	<code>BeanDictionaryList</code>.
 	 */
 	public BeanDictionaryList(Class<?>...c) {
 		append(c);
@@ -45,9 +48,10 @@ public class BeanDictionaryList extends ArrayList<Class<?>> {
 	/**
 	 * Append one or more bean classes to this bean dictionary.
 	 *
-	 * @param c The list of bean classes to add to this dictionary.
-	 * Classes must either specify a {@link Bean#typeName()} value or be another subclass of
-	 * <code>BeanDictionaryList</code>.
+	 * @param c
+	 * 	The list of bean classes to add to this dictionary.
+	 * 	Classes must either specify a {@link Bean#typeName()} value or be another subclass of
+	 * 	<code>BeanDictionaryList</code>.
 	 * @return This object (for method chaining).
 	 */
 	protected BeanDictionaryList append(Class<?>...c) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryMap.java b/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryMap.java
index b6bd314..4416909 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanDictionaryMap.java
@@ -19,9 +19,11 @@ import org.apache.juneau.annotation.*;
 
 /**
  * Represents a map of dictionary type names to bean classes that make up a bean dictionary.
+ *
  * <p>
- * In general, this approach for defining dictionary names for classes is used when it's not possible
- * to use the {@link Bean#typeName()} annotation.
+ * In general, this approach for defining dictionary names for classes is used when it's not possible to use the
+ * {@link Bean#typeName()} annotation.
+ *
  * <p>
  * Subclasses must implement a public no-arg constructor so that it can be instantiated by the bean context code.
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
index 5e2279c..fe97e09 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
@@ -30,6 +30,7 @@ import org.apache.juneau.xml.annotation.*;
  * <p>
  * A wrapper that wraps Java bean instances inside of a {@link Map} interface that allows properties on the wrapped
  * object can be accessed using the {@link Map#get(Object) get()} and {@link Map#put(Object,Object) put()} methods.
+ *
  * <p>
  * Use the {@link BeanContext} class to create instances of this class.
  *
@@ -38,13 +39,16 @@ import org.apache.juneau.xml.annotation.*;
  * The order of the properties returned by the {@link Map#keySet() keySet()} and {@link Map#entrySet() entrySet()}
  * methods are as follows:
  * <ul class='spaced-list'>
- * 	<li>If {@link Bean @Bean} annotation is specified on class, then the order is the same as the list of properties
+ * 	<li>
+ * 		If {@link Bean @Bean} annotation is specified on class, then the order is the same as the list of properties
  * 		in the annotation.
- * 	<li>If {@link Bean @Bean} annotation is not specified on the class, then the order is the same as that returned
+ * 	<li>
+ * 		If {@link Bean @Bean} annotation is not specified on the class, then the order is the same as that returned
  * 		by the {@link java.beans.BeanInfo} class (i.e. ordered by definition in the class).
  * </ul>
- * <br>
- * The order can also be overridden through the use of a {@link BeanFilter}.
+ *
+ * <p>
+ * <br>The order can also be overridden through the use of a {@link BeanFilter}.
  *
  * <h6 class='topic'>POJO swaps</h6>
  * <p>
@@ -107,8 +111,10 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns the wrapped bean object.
-	 * Triggers bean creation if bean has read-only properties set through a constructor
-	 * 	defined by the {@link BeanConstructor} annotation.
+	 *
+	 * <p>
+	 * Triggers bean creation if bean has read-only properties set through a constructor defined by the
+	 * {@link BeanConstructor} annotation.
 	 *
 	 * @return The inner bean object.
 	 */
@@ -134,14 +140,14 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns the wrapped bean object.
+	 *
 	 * <p>
-	 * If <code>create</code> is <jk>false</jk>, then this method may return <jk>null</jk>
-	 * 	if the bean has read-only properties set through a constructor
-	 * 	defined by the {@link BeanConstructor} annotation.
+	 * If <code>create</code> is <jk>false</jk>, then this method may return <jk>null</jk> if the bean has read-only
+	 * properties set through a constructor defined by the {@link BeanConstructor} annotation.
+	 *
 	 * <p>
 	 * This method does NOT always return the bean in it's final state.
-	 * Array properties temporary stored as ArrayLists are not finalized
-	 * 	until the {@link #getBean()} method is called.
+	 * Array properties temporary stored as ArrayLists are not finalized until the {@link #getBean()} method is called.
 	 *
 	 * @param create If bean hasn't been instantiated yet, then instantiate it.
 	 * @return The inner bean object.
@@ -170,13 +176,14 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Sets a property on the bean.
+	 *
 	 * <p>
-	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then
-	 * 	you must pass in a transformed value.
+	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then you must pass
+	 * in a transformed value.
 	 * For example, if the bean property type class is a {@link Date} and the bean property has the
-	 * 	{@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
-	 * 	{@link BeanProperty#swap() @BeanProperty.swap()} annotation, the value being passed in must be
-	 * 	a String containing an ISO8601 date-time string value.
+	 * {@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
+	 * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, the value being passed in must be
+	 * a String containing an ISO8601 date-time string value.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
@@ -195,15 +202,17 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	 *
 	 * @param property The name of the property to set.
 	 * @param value The value to set the property to.
-	 * @return If the bean context setting {@code beanMapPutReturnsOldValue} is <jk>true</jk>, then the old value of the
-	 * property is returned.
-	 * Otherwise, this method always returns <jk>null</jk>.
-	 * @throws RuntimeException if any of the following occur.
-	 * <ul class='spaced-list'>
-	 * 	<li>BeanMapEntry does not exist on the underlying object.
-	 * 	<li>Security settings prevent access to the underlying object setter method.
-	 * 	<li>An exception occurred inside the setter method.
-	 * </ul>
+	 * @return
+	 * 	If the bean context setting {@code beanMapPutReturnsOldValue} is <jk>true</jk>, then the old value of the
+	 * 	property is returned.
+	 * 	Otherwise, this method always returns <jk>null</jk>.
+	 * @throws
+	 * 	RuntimeException if any of the following occur.
+	 * 	<ul>
+	 * 		<li>BeanMapEntry does not exist on the underlying object.
+	 * 		<li>Security settings prevent access to the underlying object setter method.
+	 * 		<li>An exception occurred inside the setter method.
+	 * 	</ul>
 	 */
 	@Override /* Map */
 	public Object put(String property, Object value) {
@@ -225,9 +234,10 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Add a value to a collection or array property.
+	 *
 	 * <p>
-	 * As a general rule, adding to arrays is not recommended since the array must be recreate each time
-	 * 	this method is called.
+	 * As a general rule, adding to arrays is not recommended since the array must be recreate each time this method is
+	 * called.
 	 *
 	 * @param property Property name or child-element name (if {@link Xml#childName()} is specified).
 	 * @param value The value to add to the collection or array.
@@ -245,13 +255,14 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Gets a property on the bean.
+	 *
 	 * <p>
-	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then
-	 * 	this method will return the transformed value.
+	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then this method
+	 * will return the transformed value.
 	 * For example, if the bean property type class is a {@link Date} and the bean property has the
-	 * 	{@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
-	 * 	{@link BeanProperty#swap() @BeanProperty.swap()} annotation, this method will return a String
-	 * 	containing an ISO8601 date-time string value.
+	 * {@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
+	 * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, this method will return a String containing an
+	 * ISO8601 date-time string value.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
@@ -270,7 +281,8 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	 * </p>
 	 *
 	 * @param property The name of the property to get.
-	 * @throws RuntimeException if any of the following occur.
+	 * @throws
+	 * 	RuntimeException if any of the following occur.
 	 * 	<ol>
 	 * 		<li>BeanMapEntry does not exist on the underlying object.
 	 * 		<li>Security settings prevent access to the underlying object getter method.
@@ -289,8 +301,8 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	}
 
 	/**
-	 * Same as {@link #get(Object)} except bypasses the POJO filter associated with the bean property or
-	 * 	bean filter associated with the bean class.
+	 * Same as {@link #get(Object)} except bypasses the POJO filter associated with the bean property or bean filter
+	 * associated with the bean class.
 	 *
 	 * @param property The name of the property to get.
 	 * @return The raw property value.
@@ -305,10 +317,11 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Convenience method for setting multiple property values by passing in JSON (or other) text.
+	 *
 	 * <p>
-	 * Typically the input is going to be JSON, although the actual data type
-	 * 	depends on the default parser specified by the {@link BeanContext#BEAN_defaultParser} property
-	 * 	value on the config that created the context that created this map.
+	 * Typically the input is going to be JSON, although the actual data type depends on the default parser specified by
+	 * the {@link BeanContext#BEAN_defaultParser} property value on the config that created the context that created
+	 * this map.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
@@ -340,6 +353,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Convenience method for loading this map with the contents of the specified map.
+	 *
 	 * <p>
 	 * Identical to {@link #putAll(Map)} except as a fluent-style method.
 	 *
@@ -354,6 +368,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns the names of all properties associated with the bean.
+	 *
 	 * <p>
 	 * The returned set is unmodifiable.
 	 */
@@ -375,13 +390,13 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns the specified property on this bean map.
+	 *
 	 * <p>
-	 * Allows you to get and set an individual property on a bean without having a
-	 * 	handle to the bean itself by using the {@link BeanMapEntry#getValue()}
-	 * 	and {@link BeanMapEntry#setValue(Object)} methods.
+	 * Allows you to get and set an individual property on a bean without having a handle to the bean itself by using
+	 * the {@link BeanMapEntry#getValue()} and {@link BeanMapEntry#setValue(Object)} methods.
+	 *
 	 * <p>
-	 * This method can also be used to get metadata on a property by
-	 * 	calling the {@link BeanMapEntry#getMeta()} method.
+	 * This method can also be used to get metadata on a property by calling the {@link BeanMapEntry#getMeta()} method.
 	 *
 	 * @param propertyName The name of the property to look up.
 	 * @return The bean property, or null if the bean has no such property.
@@ -418,14 +433,15 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Invokes all the getters on this bean and return the values as a list of {@link BeanPropertyValue} objects.
+	 *
 	 * <p>
 	 * This allows a snapshot of all values to be grabbed from a bean in one call.
 	 *
 	 * @param ignoreNulls
-	 * Don't return properties whose values are null.
+	 * 	Don't return properties whose values are null.
 	 * @param prependVals
-	 * Additional bean property values to prepended to this list.
-	 * Any <jk>null</jk> values in this list will be ignored.
+	 * 	Additional bean property values to prepended to this list.
+	 * 	Any <jk>null</jk> values in this list will be ignored.
 	 * @return The list of all bean property values.
 	 */
 	public List<BeanPropertyValue> getValues(final boolean ignoreNulls, BeanPropertyValue...prependVals) {
@@ -461,8 +477,8 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	}
 
 	/**
-	 * Given a string containing variables of the form <code>"{property}"</code>, replaces those variables with
-	 * property values in this bean.
+	 * Given a string containing variables of the form <code>"{property}"</code>, replaces those variables with property
+	 * values in this bean.
 	 *
 	 * @param s The string containing variables.
 	 * @return A new string with variables replaced, or the same string if no variables were found.
@@ -473,6 +489,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns a simple collection of properties for this bean map.
+	 *
 	 * @return A simple collection of properties for this bean map.
 	 */
 	protected Collection<BeanPropertyMeta> getProperties() {
@@ -481,6 +498,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 
 	/**
 	 * Returns all the properties associated with the bean.
+	 *
 	 * @return A new set.
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java b/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java
index 076bdb6..0818b33 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java
@@ -19,6 +19,7 @@ import org.apache.juneau.transform.*;
 
 /**
  * Represents a single entry in a bean map.
+ *
  * <p>
  * This class can be used to get and set property values on a bean, or to get metadata on a property.
  *
@@ -65,13 +66,14 @@ public class BeanMapEntry implements Map.Entry<String,Object> {
 
 	/**
 	 * Returns the value of this property.
+	 *
 	 * <p>
-	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then
-	 * 	this method will return the transformed value.
+	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then this method
+	 * will return the transformed value.
 	 * For example, if the bean property type class is a {@link Date} and the bean property has the
-	 * 	{@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
-	 * 	{@link BeanProperty#swap() @BeanProperty.swap()} annotation, this method will return a String
-	 * 	containing an ISO8601 date-time string value.
+	 * {@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
+	 * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, this method will return a String containing an
+	 * ISO8601 date-time string value.
 	 */
 	@Override /* Map.Entry */
 	public Object getValue() {
@@ -80,18 +82,21 @@ public class BeanMapEntry implements Map.Entry<String,Object> {
 
 	/**
 	 * Sets the value of this property.
+	 *
 	 * <p>
 	 * If the property is an array of type {@code X}, then the value can be a {@code Collection<X>} or {@code X[]} or
 	 * {@code Object[]}.
+	 *
 	 * <p>
 	 * If the property is a bean type {@code X}, then the value can either be an {@code X} or a {@code Map}.
+	 *
 	 * <p>
-	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then
-	 * 	you must pass in a transformed value.
+	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then you must pass
+	 * in a transformed value.
 	 * For example, if the bean property type class is a {@link Date} and the bean property has the
-	 * 	{@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
-	 * 	{@link BeanProperty#swap() @BeanProperty.swap()} annotation, the value being passed in must be
-	 * 	a String containing an ISO8601 date-time string value.
+	 * {@link org.apache.juneau.transforms.DateSwap.ISO8601DT} swap associated with it through the
+	 * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, the value being passed in must be a String
+	 * containing an ISO8601 date-time string value.
 	 *
 	 * @return  The set value after it's been converted.
 	 */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
index 136406e..1f14abb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
@@ -40,16 +40,19 @@ import org.apache.juneau.utils.*;
  * <p>
  * The order of the properties are as follows:
  * <ul class='spaced-list'>
- * 	<li>If {@link Bean @Bean} annotation is specified on class, then the order is the same as the list of properties
+ * 	<li>
+ * 		If {@link Bean @Bean} annotation is specified on class, then the order is the same as the list of properties
  * 		in the annotation.
- * 	<li>If {@link Bean @Bean} annotation is not specified on the class, then the order is based on the following.
+ * 	<li>
+ * 		If {@link Bean @Bean} annotation is not specified on the class, then the order is based on the following.
  * 		<ul>
  * 			<li>Public fields (same order as {@code Class.getFields()}).
  * 			<li>Properties returned by {@code BeanInfo.getPropertyDescriptors()}.
  * 			<li>Non-standard getters/setters with {@link BeanProperty @BeanProperty} annotation defined on them.
  * 		</ul>
  * </ul>
- * <br>
+ *
+ * <p>
  * The order can also be overridden through the use of an {@link BeanFilter}.
  *
  * @param <T> The class type that this metadata applies to.
@@ -464,15 +467,15 @@ public class BeanMeta<T> {
 	/**
 	 * Returns the dictionary name for this bean as defined through the {@link Bean#typeName()} annotation.
 	 *
-	 * @return The dictioanry name for this bean, or <jk>null</jk> if it has no dictionary name defined.
+	 * @return The dictionary name for this bean, or <jk>null</jk> if it has no dictionary name defined.
 	 */
 	public String getDictionaryName() {
 		return dictionaryName;
 	}
 
 	/**
-	 * Returns a mock bean property that resolves to the name <js>"_type"</js> and whose value always resolves
-	 * 	to the dictionary name of the bean.
+	 * Returns a mock bean property that resolves to the name <js>"_type"</js> and whose value always resolves to the
+	 * dictionary name of the bean.
 	 *
 	 * @return The type name property.
 	 */
@@ -685,8 +688,7 @@ public class BeanMeta<T> {
 	 * Returns metadata about the specified property.
 	 *
 	 * @param name The name of the property on this bean.
-	 * @return The metadata about the property, or <jk>null</jk> if no such property exists
-	 * 	on this bean.
+	 * @return The metadata about the property, or <jk>null</jk> if no such property exists on this bean.
 	 */
 	public BeanPropertyMeta getPropertyMeta(String name) {
 		BeanPropertyMeta bpm = properties.get(name);
@@ -725,8 +727,9 @@ public class BeanMeta<T> {
 	}
 
 	/**
-	 * Recursively determines the classes represented by parameterized types in the class hierarchy of
-	 * the specified type, and puts the results in the specified map.
+	 * Recursively determines the classes represented by parameterized types in the class hierarchy of the specified
+	 * type, and puts the results in the specified map.
+	 *
 	 * <p>
 	 * For example, given the following classes...
 	 * <p class='bcode'>
@@ -734,16 +737,21 @@ public class BeanMeta<T> {
 	 * 		public T x;
 	 * 	}
 	 * 	public static class BeanB extends BeanA&lt;Integer>} {...}
+	 * </p>
 	 * <p>
 	 * 	...calling this method on {@code BeanB.class} will load the following data into {@code m} indicating
 	 * 	that the {@code T} parameter on the BeanA class is implemented with an {@code Integer}:
 	 * <p class='bcode'>
 	 * 	{BeanA.class:[Integer.class]}
+	 * </p>
+	 *
 	 * <p>
 	 * TODO:  This code doesn't currently properly handle the following situation:
 	 * <p class='bcode'>
 	 * 	public static class BeanB&lt;T extends Number&gt; extends BeanA&lt;T&gt;;
 	 * 	public static class BeanC extends BeanB&lt;Integer&gt;;
+	 * </p>
+	 *
 	 * <p>
 	 * When called on {@code BeanC}, the variable will be detected as a {@code Number}, not an {@code Integer}.
 	 * If anyone can figure out a better way of doing this, please do so!

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanMetaExtended.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMetaExtended.java b/juneau-core/src/main/java/org/apache/juneau/BeanMetaExtended.java
index 6e169cb..f4c2eab 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMetaExtended.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMetaExtended.java
@@ -14,9 +14,10 @@ package org.apache.juneau;
 
 /**
  * Defines extended language-specific metadata associated with a bean.
+ *
  * <p>
- * Serializers and parsers can implement their own language-specific metadata on a bean and retrieve
- * the metadata using the {@link BeanMeta#getExtendedMeta(Class)} method.
+ * Serializers and parsers can implement their own language-specific metadata on a bean and retrieve the metadata using
+ * the {@link BeanMeta#getExtendedMeta(Class)} method.
  */
 public class BeanMetaExtended {
 
@@ -24,6 +25,7 @@ public class BeanMetaExtended {
 
 	/**
 	 * Constructor.
+	 *
 	 * @param bm The metadata of the bean we're extending.
 	 * @throws BeanRuntimeException If any error occurred trying to construct the metadata.
 	 */
@@ -33,6 +35,7 @@ public class BeanMetaExtended {
 
 	/**
 	 * Returns the bean metadata that was passed into the constructor.
+	 *
 	 * @return The bean metadata that was passed into the constructor.
 	 */
 	protected BeanMeta<?> getBeanMeta() {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanMetaFiltered.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMetaFiltered.java b/juneau-core/src/main/java/org/apache/juneau/BeanMetaFiltered.java
index 39f7e68..aae0d4b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMetaFiltered.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMetaFiltered.java
@@ -17,8 +17,8 @@ import java.util.*;
 import org.apache.juneau.annotation.*;
 
 /**
- * Sames as {@link BeanMeta}, except the list of bean properties are limited
- * by a {@link BeanProperty#properties()} annotation.
+ * Same as {@link BeanMeta}, except the list of bean properties are limited by a {@link BeanProperty#properties()}
+ * annotation.
  *
  * @param <T> The class type that this metadata applies to.
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 1933f82..36164c7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -35,12 +35,14 @@ import org.apache.juneau.utils.*;
 
 /**
  * Contains metadata about a bean property.
+ *
  * <p>
- * Contains information such as type of property (e.g. field/getter/setter), class type of property value,
- * 	and whether any transforms are associated with this property.
+ * Contains information such as type of property (e.g. field/getter/setter), class type of property value, and whether
+ * any transforms are associated with this property.
+ *
  * <p>
- * Developers will typically not need access to this class.  The information provided by it is already
- * 	exposed through several methods on the {@link BeanMap} API.
+ * Developers will typically not need access to this class.  The information provided by it is already exposed through
+ * several methods on the {@link BeanMap} API.
  */
 @SuppressWarnings({ "rawtypes", "unchecked" })
 public class BeanPropertyMeta {
@@ -330,9 +332,10 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns the {@link ClassMeta} of the class of this property.
+	 *
 	 * <p>
-	 * If this property or the property type class has a {@link PojoSwap} associated with it, this
-	 * method returns the transformed class meta.
+	 * If this property or the property type class has a {@link PojoSwap} associated with it, this method returns the
+	 * transformed class meta.
 	 * This matches the class type that is used by the {@link #get(BeanMap,String)} and
 	 * {@link #set(BeanMap,String,Object)} methods.
 	 *
@@ -344,11 +347,14 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns the bean dictionary in use for this bean property.
+	 *
+	 * <p>
 	 * The order of lookup for the dictionary is as follows:
 	 * <ol>
 	 * 	<li>Dictionary defined via {@link BeanProperty#beanDictionary()}.
 	 * 	<li>Dictionary defined via {@link BeanContext#BEAN_beanDictionary} context property.
 	 * </ol>
+	 *
 	 * @return The bean dictionary in use for this bean property.  Never <jk>null</jk>.
 	 */
 	public BeanRegistry getBeanRegistry() {
@@ -357,9 +363,10 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns <jk>true</jk> if this bean property is a URI.
+	 *
 	 * <p>
 	 * A bean property can be considered a URI if any of the following are true:
-	 * <ul class='spaced-list'>
+	 * <ul>
 	 * 	<li>Property class type is {@link URL} or {@link URI}.
 	 * 	<li>Property class type is annotated with {@link org.apache.juneau.annotation.URI}.
 	 * 	<li>Property getter, setter, or field is annotated with {@link org.apache.juneau.annotation.URI}.
@@ -373,6 +380,7 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns <jk>true</jk> if this bean property is named <js>"*"</js>.
+	 *
 	 * @return <jk>true</jk> if this bean property is named <js>"*"</js>.
 	 */
 	public boolean isDyna() {
@@ -491,8 +499,8 @@ public class BeanPropertyMeta {
 	}
 
 	/**
-	 * Equivalent to calling {@link BeanMap#put(String, Object)}, but is faster since it avoids
-	 * 	looking up the property meta.
+	 * Equivalent to calling {@link BeanMap#put(String, Object)}, but is faster since it avoids looking up the property
+	 * meta.
 	 *
 	 * @param m The bean map to set the property value on.
 	 * @param pName The property name.
@@ -712,11 +720,15 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns the {@link Map} object returned by the DynaBean getter.
+	 *
 	 * <p>
-	 * The DynaBean property is the property whose name is <js>"*"</js> and returns a map of "extra" properties on the bean.
+	 * The DynaBean property is the property whose name is <js>"*"</js> and returns a map of "extra" properties on the
+	 * bean.
 	 *
 	 * @param bean The bean.
-	 * @return The map returned by the getter, or an empty map if the getter returned <jk>null</jk> or this isn't a DynaBean property.
+	 * @return
+	 * 	The map returned by the getter, or an empty map if the getter returned <jk>null</jk> or this isn't a DynaBean
+	 * 	property.
 	 * @throws IllegalArgumentException Thrown by method invocation.
 	 * @throws IllegalAccessException Thrown by method invocation.
 	 * @throws InvocationTargetException Thrown by method invocation.
@@ -734,6 +746,8 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Sets an array field on this bean.
+	 *
+	 * <p>
 	 * Works on both <code>Object</code> and primitive arrays.
 	 *
 	 * @param bean The bean of the field.
@@ -749,8 +763,10 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Adds a value to a {@link Collection} or array property.
-	 * Note that adding values to an array property is inefficient for large
-	 * arrays since it must copy the array into a larger array on each operation.
+	 *
+	 * <p>
+	 * Note that adding values to an array property is inefficient for large arrays since it must copy the array into a
+	 * larger array on each operation.
 	 *
 	 * @param m The bean of the field being set.
 	 * @param pName The property name.
@@ -904,9 +920,10 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns all instances of the specified annotation in the hierarchy of this bean property.
+	 *
 	 * <p>
-	 * Searches through the class hierarchy (e.g. superclasses, interfaces, packages) for all
-	 * instances of the specified annotation.
+	 * Searches through the class hierarchy (e.g. superclasses, interfaces, packages) for all instances of the
+	 * specified annotation.
 	 *
 	 * @param a The class to find annotations for.
 	 * @return A list of annotations ordered in child-to-parent order.  Never <jk>null</jk>.
@@ -932,6 +949,7 @@ public class BeanPropertyMeta {
 
 	/**
 	 * Returns the specified annotation on the field or methods that define this property.
+	 *
 	 * <p>
 	 * This method will search up the parent class/interface hierarchy chain to search for the annotation on
 	 * overridden getters and setters.
@@ -1007,4 +1025,4 @@ public class BeanPropertyMeta {
 	public String toString() {
 		return name + ": " + this.rawTypeMeta.getInnerClass().getName() + ", field=["+field+"], getter=["+getter+"], setter=["+setter+"]";
 	}
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
index 54b9fcc..b8ed6ec 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java
@@ -188,8 +188,7 @@ public class BeanSession extends Session {
 	 * 	<tr>
 	 * 		<td>
 	 * 			{@code Number} (e.g. {@code Integer}, {@code Short}, {@code Float},...)
-	 * 			<br>
-	 * 			<code>Number.<jsf>TYPE</jsf></code> (e.g. <code>Integer.<jsf>TYPE</jsf></code>,
+	 * 			<br><code>Number.<jsf>TYPE</jsf></code> (e.g. <code>Integer.<jsf>TYPE</jsf></code>,
 	 * 			<code>Short.<jsf>TYPE</jsf></code>, <code>Float.<jsf>TYPE</jsf></code>,...)
 	 * 		</td>
 	 * 		<td>
@@ -216,8 +215,7 @@ public class BeanSession extends Session {
 	 * 		</td>
 	 * 		<td>
 	 * 			{@code Collection<Object>}
-	 * 			<br>
-	 * 			{@code Object[]}
+	 * 			<br>{@code Object[]}
 	 * 		</td>
 	 * 		<td>
 	 * 			If {@code Collection} is not constructible, a {@code ObjectList} is created.
@@ -238,10 +236,8 @@ public class BeanSession extends Session {
 	 * 		</td>
 	 * 		<td>
 	 * 			{@code List<List<X>>}
-	 * 			<br>
-	 * 			{@code List<X[]>}
-	 * 			<br>
-	 * 			{@code List[]<X>}
+	 * 			<br>{@code List<X[]>}
+	 * 			<br>{@code List[]<X>}
 	 * 		</td>
 	 *			<td>&nbsp;</td>
 	 * 	</tr>
@@ -277,12 +273,9 @@ public class BeanSession extends Session {
 	 * 	<tr>
 	 * 		<td>
 	 * 			Anything with one of the following methods:
-	 * 			<br>
-	 * 			<code><jk>public static</jk> T fromString(String)</code>
-	 * 			<br>
-	 * 			<code><jk>public static</jk> T valueOf(String)</code>
-	 * 			<br>
-	 * 			<code><jk>public</jk> T(String)</code>
+	 * 			<br><code><jk>public static</jk> T fromString(String)</code>
+	 * 			<br><code><jk>public static</jk> T valueOf(String)</code>
+	 * 			<br><code><jk>public</jk> T(String)</code>
 	 * 		</td>
 	 * 		<td>
 	 * 			<code>String</code>
@@ -791,7 +784,7 @@ public class BeanSession extends Session {
 
 	/**
 	 * Creates a new empty bean of the specified type, except used for instantiating inner member classes that must
-	 * 	be instantiated within another class instance.
+	 * be instantiated within another class instance.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
@@ -889,10 +882,12 @@ public class BeanSession extends Session {
 	 * 		A map containing string keys and values of lists containing beans.
 	 * </ul>
 	 *
-	 * @param type The class to resolve.
+	 * @param type
+	 * 	The class to resolve.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},
 	 * 	{@link GenericArrayType}
-	 * @param args The type arguments of the class if it's a collection or map.
+	 * @param args
+	 * 	The type arguments of the class if it's a collection or map.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},
 	 * 	{@link GenericArrayType}
 	 * 	<br>Ignored if the main type is not a map or collection.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
index 2c153de..7e7d640 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
@@ -1478,11 +1478,15 @@ public final class ClassMeta<T> implements Type {
 	 * the underlying constructor is inaccessible.
 	 * @throws IllegalArgumentException If one of the following occurs:
 	 * 	<ul class='spaced-list'>
-	 * 		<li>The number of actual and formal parameters differ.
-	 * 		<li>An unwrapping conversion for primitive arguments fails.
-	 * 		<li>A parameter value cannot be converted to the corresponding formal parameter type by a method invocation
+	 * 		<li>
+	 * 			The number of actual and formal parameters differ.
+	 * 		<li>
+	 * 			An unwrapping conversion for primitive arguments fails.
+	 * 		<li>
+	 * 			A parameter value cannot be converted to the corresponding formal parameter type by a method invocation
 	 * 			conversion.
-	 * 		<li>The constructor pertains to an enum type.
+	 * 		<li>
+	 * 			The constructor pertains to an enum type.
 	 * 	</ul>
 	 * @throws InstantiationException If the class that declares the underlying constructor represents an abstract class.
 	 * @throws InvocationTargetException If the underlying constructor throws an exception.
@@ -1512,11 +1516,15 @@ public final class ClassMeta<T> implements Type {
 	 * the underlying constructor is inaccessible.
 	 * @throws IllegalArgumentException If one of the following occurs:
 	 * 	<ul class='spaced-list'>
-	 * 		<li>The number of actual and formal parameters differ.
-	 * 		<li>An unwrapping conversion for primitive arguments fails.
-	 * 		<li>A parameter value cannot be converted to the corresponding formal parameter type by a method invocation
+	 * 		<li>
+	 * 			The number of actual and formal parameters differ.
+	 * 		<li>
+	 * 			An unwrapping conversion for primitive arguments fails.
+	 * 		<li>
+	 * 			A parameter value cannot be converted to the corresponding formal parameter type by a method invocation
 	 * 			conversion.
-	 * 		<li>The constructor pertains to an enum type.
+	 * 		<li>
+	 * 			The constructor pertains to an enum type.
 	 * 	</ul>
 	 * @throws InstantiationException If the class that declares the underlying constructor represents an abstract class.
 	 * @throws InvocationTargetException If the underlying constructor throws an exception.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0d913b38/juneau-core/src/main/java/org/apache/juneau/CoreObject.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/CoreObject.java b/juneau-core/src/main/java/org/apache/juneau/CoreObject.java
index 774c894..1d6fdce 100644
--- a/juneau-core/src/main/java/org/apache/juneau/CoreObject.java
+++ b/juneau-core/src/main/java/org/apache/juneau/CoreObject.java
@@ -86,7 +86,7 @@ public abstract class CoreObject {
 
 	/**
 	 * Returns the universal <code>Object</code> metadata object.
-	 * <p>
+	 *
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul>
 	 * 	<li>This is equivalent to calling <code>getBeanContext().object();</code>.
@@ -100,7 +100,7 @@ public abstract class CoreObject {
 
 	/**
 	 * Returns the universal <code>String</code> metadata object.
-	 * <p>
+	 *
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul>
 	 * 	<li>This is equivalent to calling <code>getBeanContext().string();</code>.