juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject juneau git commit: Javadoc updates.
Date Mon, 08 Jan 2018 18:02:32 GMT
Repository: juneau
Updated Branches:
  refs/heads/master e5506678b -> cea2a1d74


Javadoc updates.

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

Branch: refs/heads/master
Commit: cea2a1d7454f50b4f0d5de2261eba013a970f926
Parents: e550667
Author: JamesBognar <jamesbognar@apache.org>
Authored: Mon Jan 8 13:02:28 2018 -0500
Committer: JamesBognar <jamesbognar@apache.org>
Committed: Mon Jan 8 13:02:28 2018 -0500

----------------------------------------------------------------------
 .../java/org/apache/juneau/BeanContext.java     | 65 ++++++++++-----
 .../org/apache/juneau/BeanContextBuilder.java   | 63 +++++++--------
 .../juneau/transform/BeanFilterBuilder.java     | 52 ++++++------
 .../org/apache/juneau/transform/package.html    | 83 +++++++++-----------
 juneau-doc/src/main/javadoc/overview.html       | 22 ++++--
 5 files changed, 153 insertions(+), 132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juneau/blob/cea2a1d7/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index fe740b3..dd681f7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -361,12 +361,12 @@ public class BeanContext extends Context {
 	public static final String BEAN_beanDictionary = PREFIX + "beanDictionary.lc";
 
 	/**
-	 * Configuration property:  Add to bean lookup dictionary.
+	 * Configuration property:  Add to bean dictionary.
 	 */
 	public static final String BEAN_beanDictionary_add = PREFIX + "beanDictionary.lc/add";
 
 	/**
-	 * Configuration property:  Remove from bean lookup dictionary.
+	 * Configuration property:  Remove from bean dictionary.
 	 */
 	public static final String BEAN_beanDictionary_remove = PREFIX + "beanDictionary.lc/remove";
 
@@ -418,7 +418,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_beanFieldVisibility = PREFIX + "beanFieldVisibility.s";
 
 	/**
-	 * Configuration property:  Bean filters to apply to beans.
+	 * Configuration property:  Bean filters.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -426,14 +426,10 @@ public class BeanContext extends Context {
 	 * 	<li><b>Data type:</b>  <code>List&lt;Class&gt;</code>
 	 * 	<li><b>Default:</b>  empty list
 	 * 	<li><b>Session-overridable:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b> 
-	 * 		<ul>
-	 * 			<li class='ja'>{@link Bean} 
-	 * 		</ul>
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
-	 * 			<li class='jm'>{@link BeanContextBuilder#beanFilters(Class...)}
 	 * 			<li class='jm'>{@link BeanContextBuilder#beanFilters(Object...)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#beanFilters(Class...)}
 	 * 			<li class='jm'>{@link BeanContextBuilder#beanFilters(boolean,Object...)}
 	 * 			<li class='jm'>{@link BeanContextBuilder#beanFiltersRemove(Object...)}
 	 * 		</ul>
@@ -442,21 +438,50 @@ public class BeanContext extends Context {
 	 *	<h5 class='section'>Description:</h5>
 	 * <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.
+	 * <br>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:
+	 * Values can consist of any of the following types:
 	 * <ul class='spaced-list'>
-	 * 	<li>
-	 * 		Subclasses of {@link BeanFilterBuilder}.
-	 * 		These must have a public no-arg constructor.
-	 * 	<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.
+	 * 	<li>Any subclass of {@link BeanFilterBuilder}.
+	 * 		<br>These must have a public no-arg constructor.
+	 * 	<li>Any bean interfaces.
+	 * 		<br>A shortcut for defining a {@link InterfaceBeanFilterBuilder}.
+	 * 		<br>Any subclasses of an interface class will only have properties defined on
the interface.
 	 * 		All other bean properties will be ignored.
+	 * 	<li>Any array or collection of the objects above.
 	 * </ul>
+	 * 
+	 *	<h5 class='section'>Example:</h5>
+	 * <p class='bcode'>
+	 * 	<jc>// Create a bean filter for our class.</jc>
+	 * 	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilterBuilder
{
+	 * 		<jc>// Must provide a no-arg constructor!</jc>
+	 * 		<jk>public</jk> MyBeanFilter() {
+	 * 			<jk>super</jk>(MyBean.<jk>class</jk>);  <jc>// The bean
class that this filter applies to.</jc>
+	 * 			properties(<js>"foo,bar,baz"</js>);  <jc>// The properties we want
exposed.</jc>
+	 * 		}
+	 * 	}	
+	 * 
+	 * 	<jc>// Associate our bean filter with a serializer.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.beanFilters(MyBeanFilter.<jk>class</jk>)
+	 * 		.build();
+	 * 	
+	 * 	<jc>// Same, but use property.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.addTo(<jsf>BEAN_beanFilters</jsf>, MyBeanFilter.<jk>class</jk>)
+	 * 		.build();
+	 * </p>		
+	 * 
+	 *	<h5 class='section'>Documentation:</h5>
+	 *	<ul>
+	 *		<li><a class="doclink" href="../../../overview-summary.html#juneau-marshall.BeanFilters">Overview
&gt; BeanFilters and @Bean annotations</a>
+	 *		<li><a class="doclink" href="transform/package-summary.html#BeanFilters">org.apache.juneau.transform
&gt; BeanFilter Class</a>
+	 *	</ul>
 	 */
 	public static final String BEAN_beanFilters = PREFIX + "beanFilters.lc";
 
@@ -901,7 +926,7 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Setting applies to specified class and all subclasses.
 	 */
-	public static final String BEAN_includeProperties = PREFIX + "includeProperties.sms";
+	public static final String BEAN_includeProperties = PREFIX + "properties.sms";
 
 	/**
 	 * Configuration property:  Locale.
@@ -2206,7 +2231,7 @@ public class BeanContext extends Context {
 				.append("ignoreUnknownBeanProperties", ignoreUnknownBeanProperties)
 				.append("ignoreUnknownNullBeanProperties", ignoreUnknownNullBeanProperties)
 				.append("implClasses", implClasses)
-				.append("includeProperties", includeProperties)
+				.append("properties", includeProperties)
 				.append("locale", locale)
 				.append("mediaType", mediaType)
 				.append("notBeanClasses", notBeanClasses)

http://git-wip-us.apache.org/repos/asf/juneau/blob/cea2a1d7/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index d5dc2a3..82287ba 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -153,7 +153,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Bean lookup dictionary.
+	 * Configuration property:  Bean dictionary.
 	 * 
 	 * <p>
 	 * Same as {@link #beanDictionary(Object...)} but allows you to optionally overwrite the
previous value.
@@ -173,7 +173,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Remove from bean dictionary.
+	 * Configuration property:  Bean dictionary.
 	 * 
 	 * <p>
 	 * Removes from the list of classes that make up the bean dictionary in this bean context.
@@ -209,24 +209,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Bean filters to apply to beans.
+	 * Configuration property:  Bean filters.
 	 *
 	 * <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.
+	 * <br>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:
+	 * Values can consist of any of the following types:
 	 * <ul class='spaced-list'>
-	 * 	<li>
-	 * 		Subclasses of {@link BeanFilterBuilder}.
-	 * 		These must have a public no-arg constructor.
-	 * 	<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.
+	 * 	<li>Any subclass of {@link BeanFilterBuilder}.
+	 * 		<br>These must have a public no-arg constructor.
+	 * 	<li>Any bean interfaces.
+	 * 		<br>A shortcut for defining a {@link InterfaceBeanFilterBuilder}.
+	 * 		<br>Any subclasses of an interface class will only have properties defined on
the interface.
 	 * 		All other bean properties will be ignored.
+	 * 	<li>Any array or collection of the objects above.
 	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -234,17 +233,15 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFilters}
 	 * </ul>
 	 * 
-	 * @param append
-	 * 	If <jk>true</jk>, the previous value is appended to.  Otherwise, the previous
value is replaced. 
-	 * @param values The new value for this property.
+	 * @param values The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
-	public BeanContextBuilder beanFilters(boolean append, Object...values) {
-		return set(append, BEAN_beanFilters, values);
+	public BeanContextBuilder beanFilters(Object...values) {
+		return addTo(BEAN_beanFilters, values);
 	}
 
 	/**
-	 * Configuration property:  Add to bean filters.
+	 * Configuration property:  Bean filters.
 	 * 
 	 * <p>
 	 * Same as {@link #beanFilters(Object...)} but takes in an array of classes.
@@ -262,34 +259,30 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to bean filters.
-	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>addToProperty(<jsf>BEAN_beanFilters</jsf>,
values)</code>
-	 * 		or <code>property(<jsf>BEAN_beanFilters_add</jsf>, values)</code>.
-	 * </ul>
+	 * Configuration property:  Bean filters.
+	 * 
+	 * <p>
+	 * Same as {@link #beanFilters(Object...)} but allows you to optionally overwrite the previous
value.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFilters}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this property.
+	 * @param append
+	 * 	If <jk>true</jk>, the previous value is appended to.  Otherwise, the previous
value is replaced. 
+	 * @param values The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public BeanContextBuilder beanFilters(Object...values) {
-		return addTo(BEAN_beanFilters, values);
+	public BeanContextBuilder beanFilters(boolean append, Object...values) {
+		return set(append, BEAN_beanFilters, values);
 	}
 
 	/**
-	 * Configuration property:  Remove from bean filters.
+	 * Configuration property:  Bean filters.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>removeFromProperty(<jsf>BEAN_beanFilters</jsf>,
values)</code>
-	 * 		or <code>property(<jsf>BEAN_beanFilters_remove</jsf>, values)</code>.
-	 * </ul>
+	 * <p>
+	 * Removes from the list of classes that make up the bean filters in this bean context.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>

http://git-wip-us.apache.org/repos/asf/juneau/blob/cea2a1d7/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
index b1651ab..54a8401 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
@@ -66,11 +66,11 @@ public abstract class BeanFilterBuilder {
 	/**
 	 * Specifies the type name for this bean.
 	 *
-	 * @param typeName The dictionary name associated with this bean.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder typeName(String typeName) {
-		this.typeName = typeName;
+	public BeanFilterBuilder typeName(String value) {
+		this.typeName = value;
 		return this;
 	}
 
@@ -82,22 +82,22 @@ public abstract class BeanFilterBuilder {
 	 * related methods.
 	 * Entries in the list can also contain comma-delimited lists that will be split.
 	 *
-	 * @param properties The properties associated with the bean class.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder properties(String...properties) {
-		this.properties = properties;
+	public BeanFilterBuilder properties(String...value) {
+		this.properties = value;
 		return this;
 	}
 
 	/**
 	 * Specifies the list of properties to ignore on a bean.
 	 *
-	 * @param excludeProperties The list of properties to ignore on a bean.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder excludeProperties(String...excludeProperties) {
-		this.excludeProperties = excludeProperties;
+	public BeanFilterBuilder excludeProperties(String...value) {
+		this.excludeProperties = value;
 		return this;
 	}
 
@@ -137,11 +137,11 @@ public abstract class BeanFilterBuilder {
 	 * Note that this filter can be used on the parent class so that it filters to all child
classes, or can be set
 	 * individually on the child classes.
 	 *
-	 * @param interfaceClass The interface class to use for this bean class.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder interfaceClass(Class<?> interfaceClass) {
-		this.interfaceClass = interfaceClass;
+	public BeanFilterBuilder interfaceClass(Class<?> value) {
+		this.interfaceClass = value;
 		return this;
 	}
 
@@ -171,45 +171,45 @@ public abstract class BeanFilterBuilder {
 	 * 	}
 	 * </p>
 	 *
-	 * @param stopClass
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder stopClass(Class<?> stopClass) {
-		this.stopClass = stopClass;
+	public BeanFilterBuilder stopClass(Class<?> value) {
+		this.stopClass = value;
 		return this;
 	}
 
 	/**
 	 * Sort properties in alphabetical order.
 	 *
-	 * @param sortProperties
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder sortProperties(boolean sortProperties) {
-		this.sortProperties = sortProperties;
+	public BeanFilterBuilder sortProperties(boolean value) {
+		this.sortProperties = value;
 		return this;
 	}
 
 	/**
 	 * The property namer to use to name bean properties.
 	 *
-	 * @param propertyNamer The property namer instance.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder propertyNamer(PropertyNamer propertyNamer) {
-		this.propertyNamer = propertyNamer;
+	public BeanFilterBuilder propertyNamer(PropertyNamer value) {
+		this.propertyNamer = value;
 		return this;
 	}
 
 	/**
 	 * The property namer to use to name bean properties.
 	 * 
-	 * @param c The property namer class.  Must have a public no-arg constructor.
+	 * @param value The new value for this setting.
 	 * @return This object (for method chaining).
 	 * @throws Exception Thrown from constructor method.
 	 */
-	public BeanFilterBuilder propertyNamer(Class<? extends PropertyNamer> c) throws Exception
{
-		this.propertyNamer = c;
+	public BeanFilterBuilder propertyNamer(Class<? extends PropertyNamer> value) throws
Exception {
+		this.propertyNamer = value;
 		return this;
 	}
 
@@ -221,7 +221,7 @@ public abstract class BeanFilterBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
 	 * </ul>
 	 * 
-	 * @param values The classes to add to this bean's bean dictionary.
+	 * @param values The values to add to this setting.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder beanDictionary(Class<?>...values) {
@@ -242,7 +242,7 @@ public abstract class BeanFilterBuilder {
 	 * 
 	 * @param append
 	 * 	If <jk>true</jk>, the previous value is appended to.  Otherwise, the previous
value is replaced. 
-	 * @param values The classes to set on this bean's bean dictionary.
+	 * @param values The new values for this setting.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder beanDictionary(boolean append, Class<?>...values) {

http://git-wip-us.apache.org/repos/asf/juneau/blob/cea2a1d7/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/package.html
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/package.html
index 3beec59..f351735 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/package.html
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/package.html
@@ -79,43 +79,31 @@
 		These classes are:
 	</p>
 	<ul class='spaced-list'>
-		<li>
-			{@link org.apache.juneau.transform.BeanFilter} - Transforms that alter the way beans are
handled.
-		<li>
-			{@link org.apache.juneau.transform.PojoSwap} - Transforms that swap non-serializable POJOs
with 
+		<li class='jc'>{@link org.apache.juneau.transform.BeanFilter} - Transforms that alter
the way beans are handled.
+		<li class='jac'>{@link org.apache.juneau.transform.PojoSwap} - Transforms that swap
non-serializable POJOs with 
 			serializable POJOs during serialization (and optionally vis-versa during parsing).
 			<ol>
-				<li>{@link org.apache.juneau.transform.StringSwap} - Convenience subclass for swaps
that convert 
+				<li class='jc'>{@link org.apache.juneau.transform.StringSwap} - Convenience subclass
for swaps that convert 
 					objects to strings.
-				<li>{@link org.apache.juneau.transform.MapSwap} - Convenience subclass for swaps
that convert 
+				<li class='jc'>{@link org.apache.juneau.transform.MapSwap} - Convenience subclass
for swaps that convert 
 					objects to maps.
 			</ol>
 		</li>
 	</ul>
 	<p>
-		Transforms are added to serializers and parsers in a variety of ways:
+		Transforms are added to serializers and parsers (and REST clients) using the following
methods:
 	</p> 
 	<ul class='spaced-list'>
-		<li>
-			{@link org.apache.juneau.serializer.SerializerBuilder#beanFilters(Class[])} / {@link org.apache.juneau.serializer.SerializerBuilder#pojoSwaps(Class[])}
- On serializers.
-		<li>
-			{@link org.apache.juneau.serializer.SerializerGroupBuilder#beanFilters(Class[])} / {@link
org.apache.juneau.serializer.SerializerGroupBuilder#pojoSwaps(Class[])} - On groups of serializers.
-		<li>
-			{@link org.apache.juneau.parser.ParserBuilder#beanFilters(Class[])} / {@link org.apache.juneau.parser.ParserBuilder#pojoSwaps(Class[])}
- On parsers.
-		<li>
-			{@link org.apache.juneau.parser.ParserGroupBuilder#beanFilters(Class[])} / {@link org.apache.juneau.parser.ParserGroupBuilder#pojoSwaps(Class[])}
- On groups of parsers.
-		<li>
-			{@link org.apache.juneau.rest.client.RestClientBuilder#beanFilters(Class[])} / {@link
org.apache.juneau.rest.client.RestClientBuilder#pojoSwaps(Class[])} - On the serializer and
parser registered on a REST client.
-		<li>
-			{@link org.apache.juneau.rest.annotation.RestResource#beanFilters() @RestResource.beanFilters()}
/ {@link org.apache.juneau.rest.annotation.RestResource#pojoSwaps() @RestResource.pojoSwaps()}-
On all serializers and parsers defined on a REST servlet.
-		<li>
-			{@link org.apache.juneau.rest.annotation.RestMethod#beanFilters() @RestMethod.beanFilters()}
/ {@link org.apache.juneau.rest.annotation.RestMethod#pojoSwaps() @RestMethod.pojoSwaps()}
- On all serializers and parsers defined on a method in a REST servlet.
-		<li>
-			{@link org.apache.juneau.rest.jaxrs.JuneauProvider#beanFilters() @JuneauProvider.beanFilters()}
/ {@link org.apache.juneau.rest.jaxrs.JuneauProvider#pojoSwaps() @JuneauProvider.pojoSwaps()}
- On all serializers and parsers defined on a JAX-RS provider.
+		<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#beanFilters(Object[])}
+		<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#pojoSwaps(Object[])}
 	</ul>
 	<p>
-		Swaps can also be associated with classes through the {@link org.apache.juneau.annotation.Swap
@Swap} annotation. 
+		Annotations are also provided for specifying transforms directly on classes:
 	</p>
+	<ul class='spaced-list'>
+		<li class='ja'>{@link org.apache.juneau.annotation.Bean @Bean}
+		<li class='ja'>{@link org.apache.juneau.annotation.Swap @Swap}
+	</ul>
 		
 	<!-- ========================================================================================================
-->
 	<a id="BeanFilters"></a>
@@ -138,16 +126,17 @@
 		<p>
 			It should be noted that the {@link org.apache.juneau.annotation.Bean @Bean} annotation
provides equivalent 
 			functionality through annotations.  
-			However, the <code>BeanFilter</code> class allows you to provide the same
features when you do not have 
-			access to the source code.
+			<br>However, the {@link org.apache.juneau.transform.BeanFilter} and {@link org.apache.juneau.transform.BeanFilterBuilder}
+			classes allows you to provide the same features when you do not have access to the source
code.
 		<p>
 		
 		<h6 class='topic'>Explicitly specify which properties are visible on a bean class</h6>
 		<p class='bcode'>
 	<jc>// Define bean filter that orders properties by "age" then "name"</jc>
-	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilter&lt;Person&gt;
{
+	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilterBuilder
{
 		<jk>public</jk> MyBeanFilter() {
-			setProperties(<js>"age"</js>,<js>"name"</js>);
+			<jk>super</jk>(Person.<jk>class</jk>);
+			properties(<js>"age"</js>,<js>"name"</js>);
 		}
 	}
 	
@@ -159,7 +148,7 @@
 			Note that this is equivalent to specifying the following annotation on the bean class:
 		</p>
 		<p class='bcode'>
-	<ja>@Bean</ja>(properties="age,name"</js>)
+	<ja>@Bean</ja>(properties=<js>"age,name"</js>)
 	<jk>public class</jk> Person {
 		...
 	}
@@ -168,9 +157,10 @@
 		<h6 class='topic'>Exclude which properties are visible on a bean class</h6>
 		<p class='bcode'>
 	<jc>// Define bean filter that excludes "name"</jc>
-	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilter&lt;Person&gt;
{
+	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilterBuilder
{
 		<jk>public</jk> MyBeanFilter() {
-			setExcludeProperties(<js>"name"</js>);
+			<jk>super</jk>(Person.<jk>class</jk>);
+			excludeProperties(<js>"name"</js>);
 		}
 	}
 	
@@ -191,15 +181,15 @@
 		<h6 class='topic'>Define specialized property namers</h6>
 		<p class='bcode'>
 	<jc>// Define bean filter with our own property namer.</jc>
-	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilter&lt;Person&gt;
{
+	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilterBuilder
{
 		<jk>public</jk> MyBeanFilter() {
-			setPropertyNamer(UpperCasePropertyNamer.<jk>class</jk>);
+			<jk>super</jk>(Person.<jk>class</jk>);
+			propertyNamer(UpperCasePropertyNamer.<jk>class</jk>);
 		}
 	}
 
 	<jc>// Define property namer that upper-cases the property names</jc>	
 	<jk>public class</jk> UpperCasePropertyNamer <jk>implements</jk>
PropertyNamer {
-	
 		<ja>@Override</ja>
 		<jk>public</jk> String getPropertyName(String name) {
 			<jk>return</jk> name.toUpperCase();
@@ -255,9 +245,10 @@
 		</p>
 		<p class='bcode'>
 	<jc>// Define bean filter that limits properties to only those defined on MyClass</jc>
-	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilter&lt;MyClass&gt;
{
+	<jk>public class</jk> MyBeanFilter <jk>extends</jk> BeanFilterBuilder
{
 		<jk>public</jk> MyBeanFilter() {
-			setInterfaceClass(MyClass.<jk>class</jk>);
+			<jk>super</jk>(MyClass.<jk>class</jk>);
+			interfaceClass(MyClass.<jk>class</jk>);
 		}
 	}
 		</p>
@@ -289,9 +280,9 @@
 	}
 		</p>
 		<p>
-			Also, the <code>*BeanFilters(...)</code> methods will automatically interpret
any 
+			Also, the <code>beanFilters(...)</code> methods will automatically interpret
any 
 			non-<code>BeanFilter</code> classes passed in as meaning interface classes.
 
-			So in the previous example, the <code>BeanFilter</code> class could have been
avoided altogether by just 
+			<br>So in the previous example, the <code>BeanFilter</code> class could
have been avoided altogether by just 
 			passing in <code>MyClass.<jk>class</jk></code> to the serializer,
like so:
 		</p>
 		<p class='bcode'>
@@ -322,10 +313,10 @@
 			used by the framework:
 		</p>
 		<ul>
-			<li>{@link org.apache.juneau.BeanContext#BEAN_beanClassVisibility}
-			<li>{@link org.apache.juneau.BeanContext#BEAN_beanConstructorVisibility}
-			<li>{@link org.apache.juneau.BeanContext#BEAN_beanMethodVisibility}
-			<li>{@link org.apache.juneau.BeanContext#BEAN_beanFieldVisibility}
+			<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanClassVisibility}
+			<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanConstructorVisibility}
+			<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanMethodVisibility}
+			<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanFieldVisibility}
 		</ul>
 		<p>
 			Also, specifying a {@link org.apache.juneau.annotation.BeanProperty @BeanProperty} annotation
on non-public 
@@ -333,18 +324,18 @@
 		</p>
 		<p class='bcode'>
 	<jk>public class</jk> MyBean {
-		<jc>// A bean property</jc>
+		<jc>// A normal bean property</jc>
 		<jk>public int</jk> f1;    
 		
-		<jc>// Not a bean property</jc>
+		<jc>// Not a bean property even though it's public</jc>
 		<ja>@BeanIgnore</ja>
 		<jk>public int</jk> f2;     
 		
-		<jc>// A bean property</jc>
+		<jc>// A bean property even though it's protected</jc>
 		<ja>@BeanProperty</ja>    
 		<jk>protected int</jk> f3;  
 		
-		<jc>// A bean property</jc>
+		<jc>// A bean property even though it's private</jc>
 		<ja>@BeanProperty</ja>    
 		<jk>private int</jk> getF3() {...}
 	}

http://git-wip-us.apache.org/repos/asf/juneau/blob/cea2a1d7/juneau-doc/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 554ee4d..64797e8 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -1387,6 +1387,13 @@
 			);
 		}
 	}
+				</p>
+				
+				<h6 class='toc'>Additional Information - org.apache.juneau.transform</h6>
+				<ol class='toc'>
+					<li><p><a class='doclink' href='org/apache/juneau/transform/package-summary.html#PojoSwaps'>PojoSwap
Class</a></p>
+				</ol>
+				
 			</div>
 	
 			<!-- =======================================================================================================
-->
@@ -1426,12 +1433,12 @@
 		<jc>// Must provide a no-arg constructor!</jc>
 		<jk>public</jk> MyAddressBeanFilter() {
 			<jk>super</jk>(Address.<jk>class</jk>);  <jc>// The bean
class that this filter applies to.</jc>
-			setIncludeProperties(<js>"street,city,state"</js>);  <jc>// The properties
we want exposed.</jc>
+			properties(<js>"street,city,state"</js>);  <jc>// The properties we
want exposed.</jc>
 		}
 	}	
 				</p>		
 				<p>
-					Bean filters are added to serializers and parsers using the <code>*BeanFilters(Class...)</code>
methods.
+					Bean filters are added to serializers and parsers using the <code>beanFilters(Object...)</code>
method.
 					For example:
 				</p>
 				<p class='bcode'>			
@@ -1443,10 +1450,10 @@
 					The annotations will be detected and bean filters will automatically be created for
them.
 				</p>
 				<p>
-					The <code>addBeanFilter(Class...)</code> method also allows you to pass
in interfaces.
-					Any class that's not a subclass of {@link org.apache.juneau.transform.BeanFilterBuilder}
get interpreted 
+					The <code>beanFilter(Class...)</code> method also allows you to pass in
interfaces.
+					<br>Any class that's not a subclass of {@link org.apache.juneau.transform.BeanFilterBuilder}
get interpreted 
 					as bean interface classes.
-					These cause bean implementations of those interfaces to only expose the properties defined
on the 
+					<br>These cause bean implementations of those interfaces to only expose the properties
defined on the 
 					interface.
 				</p>
 				<p class='bcode'>
@@ -1465,6 +1472,11 @@
 	<jc>// Create a new JSON serializer that only exposes street,city,state on Address
bean.</jc>
 	Serializer serializer = JsonSerializer.<jsm>create</jsm>().beanFilters(AddressInterface.<jk>class</jk>).build();
 				</p>
+				
+				<h6 class='toc'>Additional Information - org.apache.juneau.transform</h6>
+				<ol class='toc'>
+					<li><p><a class='doclink' href='org/apache/juneau/transform/package-summary.html#BeanFilters'>BeanFilter
Class</a></p>
+				</ol>
 			</div>
 
 			<!-- ===================================================================================================
-->


Mime
View raw message