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/02/09 17:31:25 UTC
[03/14] incubator-juneau git commit: Add convenience property setters
to serializers and parsers.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
index 4a227ed..8c7848f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
@@ -12,7 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.urlencoding;
-import static org.apache.juneau.serializer.SerializerContext.*;
import static org.apache.juneau.urlencoding.UonSerializerContext.*;
import java.lang.reflect.*;
@@ -179,46 +178,46 @@ public class UonSerializer extends WriterSerializer {
public static final UonSerializer DEFAULT_SIMPLE_ENCODING = new SimpleEncoding().lock();
/**
- * Equivalent to <code><jk>new</jk> UonSerializer().setProperty(UonSerializerContext.<jsf>UON_simpleMode</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UonSerializer().setSimpleMode(<jk>true</jk>);</code>.
*/
@Produces(value="text/uon-simple",contentType="text/uon")
public static class Simple extends UonSerializer {
/** Constructor */
public Simple() {
- setProperty(UON_simpleMode, true);
+ setSimpleMode(true);
}
}
/**
- * Equivalent to <code><jk>new</jk> UonSerializer().setProperty(UonSerializerContext.<jsf>UON_useWhitespace</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UonSerializer().setUseWhitespace(<jk>true</jk>).setUseIndentation(<jk>true</jk>);</code>.
*/
public static class Readable extends UonSerializer {
/** Constructor */
public Readable() {
- setProperty(UON_useWhitespace, true);
- setProperty(SERIALIZER_useIndentation, true);
+ setUseWhitespace(true);
+ setUseIndentation(true);
}
}
/**
- * Equivalent to <code><jk>new</jk> UonSerializer().setProperty(UonSerializerContext.<jsf>UON_encodeChars</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UonSerializer().setEncodeChars(<jk>true</jk>);</code>.
*/
public static class Encoding extends UonSerializer {
/** Constructor */
public Encoding() {
- setProperty(UON_encodeChars, true);
+ setEncodeChars(true);
}
}
/**
- * Equivalent to <code><jk>new</jk> UonSerializer().setProperty(UonSerializerContext.<jsf>UON_simpleMode</jsf>,<jk>true</jk>).setProperty(UonSerializerContext.<jsf>UON_encodeChars</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UonSerializer().setSimpleMode(<jk>true</jk>).setEncodeChars(<jk>true</jk>);</code>.
*/
@Produces(value="text/uon-simple",contentType="text/uon")
public static class SimpleEncoding extends UonSerializer {
/** Constructor */
public SimpleEncoding() {
- setProperty(UON_simpleMode, true);
- setProperty(UON_encodeChars, true);
+ setSimpleMode(true);
+ setEncodeChars(true);
}
}
@@ -397,8 +396,9 @@ public class UonSerializer extends WriterSerializer {
return out;
}
+
//--------------------------------------------------------------------------------
- // Overridden methods
+ // Entry point methods
//--------------------------------------------------------------------------------
@Override /* Serializer */
@@ -412,49 +412,604 @@ public class UonSerializer extends WriterSerializer {
serializeAnything(s, s.getWriter(), o, null, "root", null, false, true);
}
+
+ //--------------------------------------------------------------------------------
+ // Properties
+ //--------------------------------------------------------------------------------
+
+ /**
+ * <b>Configuration property:</b> Use simplified output.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"UonSerializer.simpleMode"</js>
+ * <li><b>Data type:</b> <code>Boolean</code>
+ * <li><b>Default:</b> <jk>false</jk>
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * If <jk>true</jk>, type flags will not be prepended to values in most cases.
+ * <p>
+ * Use this setting if the data types of the values (e.g. object/array/boolean/number/string)
+ * is known on the receiving end.
+ * <p>
+ * It should be noted that the default behavior produces a data structure that can
+ * be losslessly converted into JSON, and any JSON can be losslessly represented
+ * in a URL-encoded value. However, this strict equivalency does not exist
+ * when simple mode is used.
+ * <p>
+ * <table class='styled'>
+ * <tr>
+ * <th>Input (in JSON)</th>
+ * <th>Normal mode output</th>
+ * <th>Simple mode output</th>
+ * </tr>
+ * <tr>
+ * <td class='code'>{foo:'bar',baz:'bing'}</td>
+ * <td class='code'>$o(foo=bar,baz=bing)</td>
+ * <td class='code'>(foo=bar,baz=bing)</td>
+ * </tr>
+ * <tr>
+ * <td class='code'>{foo:{bar:'baz'}}</td>
+ * <td class='code'>$o(foo=$o(bar=baz))</td>
+ * <td class='code'>(foo=(bar=baz))</td>
+ * </tr>
+ * <tr>
+ * <td class='code'>['foo','bar']</td>
+ * <td class='code'>$a(foo,bar)</td>
+ * <td class='code'>(foo,bar)</td>
+ * </tr>
+ * <tr>
+ * <td class='code'>['foo',['bar','baz']]</td>
+ * <td class='code'>$a(foo,$a(bar,baz))</td>
+ * <td class='code'>(foo,(bar,baz))</td>
+ * </tr>
+ * <tr>
+ * <td class='code'>true</td>
+ * <td class='code'>$b(true)</td>
+ * <td class='code'>true</td>
+ * </tr>
+ * <tr>
+ * <td class='code'>123</td>
+ * <td class='code'>$n(123)</td>
+ * <td class='code'>123</td>
+ * </tr>
+ * </table>
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>This is equivalent to calling <code>setProperty(<jsf>UON_simpleMode</jsf>, value)</code>.
+ * <li>This introduces a slight performance penalty.
+ * </ul>
+ *
+ * @param value The new value for this property.
+ * @return This object (for method chaining).
+ * @throws LockedException If {@link #lock()} was called on this class.
+ * @see UonSerializerContext#UON_simpleMode
+ */
+ public UonSerializer setSimpleMode(boolean value) throws LockedException {
+ return setProperty(UON_simpleMode, value);
+ }
+
+ /**
+ * <b>Configuration property:</b> Use whitespace.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"UonSerializer.useWhitespace"</js>
+ * <li><b>Data type:</b> <code>Boolean</code>
+ * <li><b>Default:</b> <jk>false</jk>
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * If <jk>true</jk>, whitespace is added to the output to improve readability.
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>This is equivalent to calling <code>setProperty(<jsf>UON_useWhitespace</jsf>, value)</code>.
+ * <li>This introduces a slight performance penalty.
+ * </ul>
+ *
+ * @param value The new value for this property.
+ * @return This object (for method chaining).
+ * @throws LockedException If {@link #lock()} was called on this class.
+ * @see UonSerializerContext#UON_useWhitespace
+ */
+ public UonSerializer setUseWhitespace(boolean value) throws LockedException {
+ return setProperty(UON_useWhitespace, value);
+ }
+
+ /**
+ * <b>Configuration property:</b> Encode non-valid URI characters.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"UonSerializer.encodeChars"</js>
+ * <li><b>Data type:</b> <code>Boolean</code>
+ * <li><b>Default:</b> <jk>false</jk> for {@link UonSerializer}, <jk>true</jk> for {@link UrlEncodingSerializer}
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * Encode non-valid URI characters with <js>"%xx"</js> constructs.
+ * <p>
+ * If <jk>true</jk>, non-valid URI characters will be converted to <js>"%xx"</js> sequences.
+ * Set to <jk>false</jk> if parameter value is being passed to some other code that will already
+ * perform URL-encoding of non-valid URI characters.
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>This is equivalent to calling <code>setProperty(<jsf>UON_encodeChars</jsf>, value)</code>.
+ * <li>This introduces a slight performance penalty.
+ * </ul>
+ *
+ * @param value The new value for this property.
+ * @return This object (for method chaining).
+ * @throws LockedException If {@link #lock()} was called on this class.
+ * @see UonSerializerContext#UON_encodeChars
+ */
+ public UonSerializer setEncodeChars(boolean value) throws LockedException {
+ return setProperty(UON_encodeChars, value);
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setMaxDepth(int value) throws LockedException {
+ super.setMaxDepth(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setInitialDepth(int value) throws LockedException {
+ super.setInitialDepth(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setDetectRecursions(boolean value) throws LockedException {
+ super.setDetectRecursions(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setIgnoreRecursions(boolean value) throws LockedException {
+ super.setIgnoreRecursions(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setUseIndentation(boolean value) throws LockedException {
+ super.setUseIndentation(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setAddBeanTypeProperties(boolean value) throws LockedException {
+ super.setAddBeanTypeProperties(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setQuoteChar(char value) throws LockedException {
+ super.setQuoteChar(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setTrimNullProperties(boolean value) throws LockedException {
+ super.setTrimNullProperties(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setTrimEmptyCollections(boolean value) throws LockedException {
+ super.setTrimEmptyCollections(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setTrimEmptyMaps(boolean value) throws LockedException {
+ super.setTrimEmptyMaps(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setTrimStrings(boolean value) throws LockedException {
+ super.setTrimStrings(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setRelativeUriBase(String value) throws LockedException {
+ super.setRelativeUriBase(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setAbsolutePathUriBase(String value) throws LockedException {
+ super.setAbsolutePathUriBase(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setSortCollections(boolean value) throws LockedException {
+ super.setSortCollections(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UonSerializer setSortMaps(boolean value) throws LockedException {
+ super.setSortMaps(value);
+ return this;
+ }
+
@Override /* CoreApi */
- public UonSerializer setProperty(String property, Object value) throws LockedException {
- super.setProperty(property, value);
+ public UonSerializer setBeansRequireDefaultConstructor(boolean value) throws LockedException {
+ super.setBeansRequireDefaultConstructor(value);
return this;
}
@Override /* CoreApi */
- public UonSerializer setProperties(ObjectMap properties) throws LockedException {
- super.setProperties(properties);
+ public UonSerializer setBeansRequireSerializable(boolean value) throws LockedException {
+ super.setBeansRequireSerializable(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeansRequireSettersForGetters(boolean value) throws LockedException {
+ super.setBeansRequireSettersForGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeansRequireSomeProperties(boolean value) throws LockedException {
+ super.setBeansRequireSomeProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanMapPutReturnsOldValue(boolean value) throws LockedException {
+ super.setBeanMapPutReturnsOldValue(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanConstructorVisibility(Visibility value) throws LockedException {
+ super.setBeanConstructorVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanClassVisibility(Visibility value) throws LockedException {
+ super.setBeanClassVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanFieldVisibility(Visibility value) throws LockedException {
+ super.setBeanFieldVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setMethodVisibility(Visibility value) throws LockedException {
+ super.setMethodVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setUseJavaBeanIntrospector(boolean value) throws LockedException {
+ super.setUseJavaBeanIntrospector(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setUseInterfaceProxies(boolean value) throws LockedException {
+ super.setUseInterfaceProxies(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setIgnoreUnknownBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownBeanProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setIgnoreUnknownNullBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownNullBeanProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setIgnorePropertiesWithoutSetters(boolean value) throws LockedException {
+ super.setIgnorePropertiesWithoutSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setIgnoreInvocationExceptionsOnGetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setIgnoreInvocationExceptionsOnSetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setSortProperties(boolean value) throws LockedException {
+ super.setSortProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setNotBeanPackages(String...values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setNotBeanPackages(Collection<String> values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addNotBeanPackages(String...values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addNotBeanPackages(Collection<String> values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeNotBeanPackages(String...values) throws LockedException {
+ super.removeNotBeanPackages(values);
return this;
}
@Override /* CoreApi */
- public UonSerializer addNotBeanClasses(Class<?>...classes) throws LockedException {
- super.addNotBeanClasses(classes);
+ public UonSerializer removeNotBeanPackages(Collection<String> values) throws LockedException {
+ super.removeNotBeanPackages(values);
return this;
}
@Override /* CoreApi */
- public UonSerializer addBeanFilters(Class<?>...classes) throws LockedException {
- super.addBeanFilters(classes);
+ public UonSerializer setNotBeanClasses(Class<?>...values) throws LockedException {
+ super.setNotBeanClasses(values);
return this;
}
@Override /* CoreApi */
- public UonSerializer addPojoSwaps(Class<?>...classes) throws LockedException {
- super.addPojoSwaps(classes);
+ public UonSerializer setNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.setNotBeanClasses(values);
return this;
}
@Override /* CoreApi */
- public UonSerializer addToDictionary(Class<?>...classes) throws LockedException {
- super.addToDictionary(classes);
+ public UonSerializer addNotBeanClasses(Class<?>...values) throws LockedException {
+ super.addNotBeanClasses(values);
return this;
}
@Override /* CoreApi */
- public <T> UonSerializer addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
+ public UonSerializer addNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.addNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeNotBeanClasses(Class<?>...values) throws LockedException {
+ super.removeNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.removeNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanFilters(Class<?>...values) throws LockedException {
+ super.setBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.setBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addBeanFilters(Class<?>...values) throws LockedException {
+ super.addBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.addBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeBeanFilters(Class<?>...values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setPojoSwaps(Class<?>...values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addPojoSwaps(Class<?>...values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removePojoSwaps(Class<?>...values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removePojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setImplClasses(Map<Class<?>,Class<?>> values) throws LockedException {
+ super.setImplClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
super.addImplClass(interfaceClass, implClass);
return this;
}
@Override /* CoreApi */
+ public UonSerializer setBeanDictionary(Class<?>...values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addToBeanDictionary(Class<?>...values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addToBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeFromBeanDictionary(Class<?>...values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeFromBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setBeanTypePropertyName(String value) throws LockedException {
+ super.setBeanTypePropertyName(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setDefaultParser(Class<?> value) throws LockedException {
+ super.setDefaultParser(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setLocale(Locale value) throws LockedException {
+ super.setLocale(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setTimeZone(TimeZone value) throws LockedException {
+ super.setTimeZone(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setMediaType(MediaType value) throws LockedException {
+ super.setMediaType(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setDebug(boolean value) throws LockedException {
+ super.setDebug(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setProperty(String name, Object value) throws LockedException {
+ super.setProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer setProperties(ObjectMap properties) throws LockedException {
+ super.setProperties(properties);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer addToProperty(String name, Object value) throws LockedException {
+ super.addToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer putToProperty(String name, Object key, Object value) throws LockedException {
+ super.putToProperty(name, key, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer putToProperty(String name, Object value) throws LockedException {
+ super.putToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UonSerializer removeFromProperty(String name, Object value) throws LockedException {
+ super.removeFromProperty(name, value);
+ return this;
+ }
+
+
+ //--------------------------------------------------------------------------------
+ // Overridden methods
+ //--------------------------------------------------------------------------------
+
+ @Override /* CoreApi */
public UonSerializer setClassLoader(ClassLoader classLoader) throws LockedException {
super.setClassLoader(classLoader);
return this;
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
index 5c7e30e..db0cb2f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
@@ -21,45 +21,8 @@ import org.apache.juneau.serializer.*;
* Context properties are set by calling {@link ContextFactory#setProperty(String, Object)} on the context factory
* returned {@link CoreApi#getContextFactory()}.
* <p>
- * The following convenience methods are also provided for setting context properties:
- * <ul>
- * <li>{@link UonSerializer#setProperty(String,Object)}
- * <li>{@link UonSerializer#setProperties(ObjectMap)}
- * <li>{@link UonSerializer#addNotBeanClasses(Class[])}
- * <li>{@link UonSerializer#addBeanFilters(Class[])}
- * <li>{@link UonSerializer#addPojoSwaps(Class[])}
- * <li>{@link UonSerializer#addToDictionary(Class[])}
- * <li>{@link UonSerializer#addImplClass(Class,Class)}
- * </ul>
- * <p>
* See {@link ContextFactory} for more information about context properties.
*
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the URL-Encoding and UON serializers</h6>
- * <table class='styled' style='border-collapse: collapse;'>
- * <tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th><th>Session overridable</th></tr>
- * <tr>
- * <td>{@link #UON_simpleMode}</td>
- * <td>Use simplified output.</td>
- * <td><code>Boolean</code></td>
- * <td><jk>false</jk></td>
- * <td><jk>true</jk></td>
- * </tr>
- * <tr>
- * <td>{@link #UON_useWhitespace}</td>
- * <td>Use whitespace.</td>
- * <td><code>Boolean</code></td>
- * <td><jk>false</jk></td>
- * <td><jk>true</jk></td>
- * </tr>
- * <tr>
- * <td>{@link #UON_encodeChars}</td>
- * <td>Encode non-valid URI characters.</td>
- * <td><code>Boolean</code></td>
- * <td><jk>false</jk> for {@link UonSerializer}<br><jk>true</jk> for {@link UrlEncodingSerializer}</td>
- * <td><jk>true</jk></td>
- * </tr>
- * </table>
- *
* <h5 class='section'>Inherited configurable properties:</h5>
* <ul class='javahierarchy'>
* <li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
index 118b5e8..7025620 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
@@ -192,6 +192,7 @@ public final class UonWriter extends SerializerWriter {
return appendObject(s, false, false, isTop);
}
+
//--------------------------------------------------------------------------------
// Overridden methods
//--------------------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
index 95fe474..0a0fd5d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
@@ -34,7 +34,7 @@ public final class UrlEncodingContext implements Cloneable {
* }
*
* UrlEncodingSerializer s1 = <jk>new</jk> UrlEncodingParser();
- * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setProperty(UrlEncodingContext.<jsf>URLENC_expandedParams</jsf>, <jk>true</jk>);
+ * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setExpandedParams(<jk>true</jk>);
*
* String s1 = p1.serialize(<jk>new</jk> A()); <jc>// Produces "f1=(a,b)&f2=(c,d)"</jc>
* String s2 = p2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&f1=b&f2=c&f2=d"</jc>
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
index 2c68e09..460e919 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.urlencoding;
-import static org.apache.juneau.urlencoding.UonParserContext.*;
+import static org.apache.juneau.urlencoding.UrlEncodingParserContext.*;
import java.lang.reflect.*;
import java.util.*;
@@ -54,13 +54,13 @@ public class UrlEncodingParser extends UonParser {
public static final UrlEncodingParser DEFAULT = new UrlEncodingParser().lock();
/** Reusable instance of {@link UrlEncodingParser}. */
- public static final UrlEncodingParser DEFAULT_WS_AWARE = new UrlEncodingParser().setProperty(UON_whitespaceAware, true).lock();
+ public static final UrlEncodingParser DEFAULT_WS_AWARE = new UrlEncodingParser().setWhitespaceAware(true).lock();
/**
* Constructor.
*/
public UrlEncodingParser() {
- setProperty(UON_decodeChars, true);
+ setDecodeChars(true);
}
private <T> T parseAnything(UrlEncodingParserSession session, ClassMeta<T> eType, ParserReader r, Object outer) throws Exception {
@@ -501,8 +501,9 @@ public class UrlEncodingParser extends UonParser {
}
}
+
//--------------------------------------------------------------------------------
- // Overridden methods
+ // Entry point methods
//--------------------------------------------------------------------------------
@Override /* Parser */
@@ -536,49 +537,469 @@ public class UrlEncodingParser extends UonParser {
return m;
}
+
+ //--------------------------------------------------------------------------------
+ // Properties
+ //--------------------------------------------------------------------------------
+
+ /**
+ * <b>Configuration property:</b> Serialize bean property collections/arrays as separate key/value pairs.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"UrlEncoding.expandedParams"</js>
+ * <li><b>Data type:</b> <code>Boolean</code>
+ * <li><b>Default:</b> <jk>false</jk>
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * If <jk>false</jk>, serializing the array <code>[1,2,3]</code> results in <code>?key=$a(1,2,3)</code>.
+ * If <jk>true</jk>, serializing the same array results in <code>?key=1&key=2&key=3</code>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode'>
+ * <jk>public class</jk> A {
+ * <jk>public</jk> String[] f1 = {<js>"a"</js>,<js>"b"</js>};
+ * <jk>public</jk> List<String> f2 = <jk>new</jk> LinkedList<String>(Arrays.<jsm>asList</jsm>(<jk>new</jk> String[]{<js>"c"</js>,<js>"d"</js>}));
+ * }
+ *
+ * UrlEncodingSerializer s1 = <jk>new</jk> UrlEncodingParser();
+ * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setExpandedParams(<jk>true</jk>);
+ *
+ * String s1 = p1.serialize(<jk>new</jk> A()); <jc>// Produces "f1=(a,b)&f2=(c,d)"</jc>
+ * String s2 = p2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&f1=b&f2=c&f2=d"</jc>
+ * </p>
+ * <p>
+ * This option only applies to beans.
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>If parsing multi-part parameters, it's highly recommended to use Collections or Lists
+ * as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
+ * is added to it.
+ * </ul>
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>This is equivalent to calling <code>setProperty(<jsf>URLENC_expandedParams</jsf>, value)</code>.
+ * </ul>
+ *
+ * @param value The new value for this property.
+ * @return This object (for method chaining).
+ * @throws LockedException If {@link #lock()} was called on this class.
+ * @see UrlEncodingParserContext#URLENC_expandedParams
+ */
+ public UrlEncodingParser setExpandedParams(boolean value) throws LockedException {
+ return setProperty(URLENC_expandedParams, value);
+ }
+
+ @Override /* UonParser */
+ public UrlEncodingParser setDecodeChars(boolean value) throws LockedException {
+ super.setDecodeChars(value);
+ return this;
+ }
+
+ @Override /* UonParser */
+ public UrlEncodingParser setWhitespaceAware(boolean value) throws LockedException {
+ super.setWhitespaceAware(value);
+ return this;
+ }
+
+ @Override /* Parser */
+ public UrlEncodingParser setTrimStrings(boolean value) throws LockedException {
+ super.setTrimStrings(value);
+ return this;
+ }
+
+ @Override /* Parser */
+ public UrlEncodingParser setStrict(boolean value) throws LockedException {
+ super.setStrict(value);
+ return this;
+ }
+
+ @Override /* Parser */
+ public UrlEncodingParser setInputStreamCharset(String value) throws LockedException {
+ super.setInputStreamCharset(value);
+ return this;
+ }
+
@Override /* Parser */
- public UrlEncodingParser setProperty(String property, Object value) throws LockedException {
- super.setProperty(property, value);
+ public UrlEncodingParser setFileCharset(String value) throws LockedException {
+ super.setFileCharset(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingParser setProperties(ObjectMap properties) throws LockedException {
- super.setProperties(properties);
+ public UrlEncodingParser setBeansRequireDefaultConstructor(boolean value) throws LockedException {
+ super.setBeansRequireDefaultConstructor(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeansRequireSerializable(boolean value) throws LockedException {
+ super.setBeansRequireSerializable(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeansRequireSettersForGetters(boolean value) throws LockedException {
+ super.setBeansRequireSettersForGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeansRequireSomeProperties(boolean value) throws LockedException {
+ super.setBeansRequireSomeProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanMapPutReturnsOldValue(boolean value) throws LockedException {
+ super.setBeanMapPutReturnsOldValue(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanConstructorVisibility(Visibility value) throws LockedException {
+ super.setBeanConstructorVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanClassVisibility(Visibility value) throws LockedException {
+ super.setBeanClassVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanFieldVisibility(Visibility value) throws LockedException {
+ super.setBeanFieldVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setMethodVisibility(Visibility value) throws LockedException {
+ super.setMethodVisibility(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingParser addNotBeanClasses(Class<?>...classes) throws LockedException {
- super.addNotBeanClasses(classes);
+ public UrlEncodingParser setUseJavaBeanIntrospector(boolean value) throws LockedException {
+ super.setUseJavaBeanIntrospector(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingParser addBeanFilters(Class<?>...classes) throws LockedException {
- super.addBeanFilters(classes);
+ public UrlEncodingParser setUseInterfaceProxies(boolean value) throws LockedException {
+ super.setUseInterfaceProxies(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingParser addPojoSwaps(Class<?>...classes) throws LockedException {
- super.addPojoSwaps(classes);
+ public UrlEncodingParser setIgnoreUnknownBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownBeanProperties(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingParser addToDictionary(Class<?>...classes) throws LockedException {
- super.addToDictionary(classes);
+ public UrlEncodingParser setIgnoreUnknownNullBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownNullBeanProperties(value);
return this;
}
@Override /* CoreApi */
- public <T> UrlEncodingParser addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
+ public UrlEncodingParser setIgnorePropertiesWithoutSetters(boolean value) throws LockedException {
+ super.setIgnorePropertiesWithoutSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setIgnoreInvocationExceptionsOnGetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setIgnoreInvocationExceptionsOnSetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setSortProperties(boolean value) throws LockedException {
+ super.setSortProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setNotBeanPackages(String...values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setNotBeanPackages(Collection<String> values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addNotBeanPackages(String...values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addNotBeanPackages(Collection<String> values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeNotBeanPackages(String...values) throws LockedException {
+ super.removeNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeNotBeanPackages(Collection<String> values) throws LockedException {
+ super.removeNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setNotBeanClasses(Class<?>...values) throws LockedException {
+ super.setNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.setNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addNotBeanClasses(Class<?>...values) throws LockedException {
+ super.addNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.addNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeNotBeanClasses(Class<?>...values) throws LockedException {
+ super.removeNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.removeNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanFilters(Class<?>...values) throws LockedException {
+ super.setBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.setBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addBeanFilters(Class<?>...values) throws LockedException {
+ super.addBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.addBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeBeanFilters(Class<?>...values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setPojoSwaps(Class<?>...values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addPojoSwaps(Class<?>...values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removePojoSwaps(Class<?>...values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removePojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setImplClasses(Map<Class<?>,Class<?>> values) throws LockedException {
+ super.setImplClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
super.addImplClass(interfaceClass, implClass);
return this;
}
@Override /* CoreApi */
+ public UrlEncodingParser setBeanDictionary(Class<?>...values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addToBeanDictionary(Class<?>...values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addToBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeFromBeanDictionary(Class<?>...values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeFromBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setBeanTypePropertyName(String value) throws LockedException {
+ super.setBeanTypePropertyName(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setDefaultParser(Class<?> value) throws LockedException {
+ super.setDefaultParser(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setLocale(Locale value) throws LockedException {
+ super.setLocale(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setTimeZone(TimeZone value) throws LockedException {
+ super.setTimeZone(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setMediaType(MediaType value) throws LockedException {
+ super.setMediaType(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setDebug(boolean value) throws LockedException {
+ super.setDebug(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setProperty(String name, Object value) throws LockedException {
+ super.setProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser setProperties(ObjectMap properties) throws LockedException {
+ super.setProperties(properties);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser addToProperty(String name, Object value) throws LockedException {
+ super.addToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser putToProperty(String name, Object key, Object value) throws LockedException {
+ super.putToProperty(name, key, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser putToProperty(String name, Object value) throws LockedException {
+ super.putToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingParser removeFromProperty(String name, Object value) throws LockedException {
+ super.removeFromProperty(name, value);
+ return this;
+ }
+
+
+ //--------------------------------------------------------------------------------
+ // Overridden methods
+ //--------------------------------------------------------------------------------
+
+ @Override /* CoreApi */
public UrlEncodingParser setClassLoader(ClassLoader classLoader) throws LockedException {
super.setClassLoader(classLoader);
return this;
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
index fa13729..20b33e3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
@@ -20,30 +20,7 @@ import org.apache.juneau.*;
* Context properties are set by calling {@link ContextFactory#setProperty(String, Object)} on the context factory
* returned {@link CoreApi#getContextFactory()}.
* <p>
- * The following convenience methods are also provided for setting context properties:
- * <ul>
- * <li>{@link UrlEncodingParser#setProperty(String,Object)}
- * <li>{@link UrlEncodingParser#setProperties(ObjectMap)}
- * <li>{@link UrlEncodingParser#addNotBeanClasses(Class[])}
- * <li>{@link UrlEncodingParser#addBeanFilters(Class[])}
- * <li>{@link UrlEncodingParser#addPojoSwaps(Class[])}
- * <li>{@link UrlEncodingParser#addToDictionary(Class[])}
- * <li>{@link UrlEncodingParser#addImplClass(Class,Class)}
- * </ul>
- * <p>
* See {@link ContextFactory} for more information about context properties.
- *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the URL-Encoding parser</h6>
- * <table class='styled' style='border-collapse: collapse;'>
- * <tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th><th>Session overridable</th></tr>
- * <tr>
- * <td>{@link #URLENC_expandedParams}</td>
- * <td>Serialize bean property collections/arrays as separate key/value pairs.</td>
- * <td><code>Boolean</code></td>
- * <td><jk>false</jk></td>
- * <td><jk>true</jk></td>
- * </tr>
- * </table>
*/
public class UrlEncodingParserContext extends UonParserContext {
@@ -68,7 +45,7 @@ public class UrlEncodingParserContext extends UonParserContext {
* }
*
* UrlEncodingSerializer s1 = <jk>new</jk> UrlEncodingParser();
- * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setProperty(UrlEncodingContext.<jsf>URLENC_expandedParams</jsf>, <jk>true</jk>);
+ * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setExpandedParams(<jk>true</jk>);
*
* String s1 = p1.serialize(<jk>new</jk> A()); <jc>// Produces "f1=(a,b)&f2=(c,d)"</jc>
* String s2 = p2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&f1=b&f2=c&f2=d"</jc>
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index 6bb81d5..232ce6b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -12,7 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.urlencoding;
-import static org.apache.juneau.urlencoding.UonSerializerContext.*;
import static org.apache.juneau.urlencoding.UrlEncodingSerializerContext.*;
import java.io.*;
@@ -179,38 +178,38 @@ public class UrlEncodingSerializer extends UonSerializer {
* Constructor.
*/
public UrlEncodingSerializer() {
- setProperty(UON_encodeChars, true);
+ setEncodeChars(true);
}
/**
- * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setProperty(UonSerializerContext.<jsf>UON_simpleMode</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setSimpleMode(<jk>true</jk>);</code>.
*/
@Produces(value="application/x-www-form-urlencoded-simple",contentType="application/x-www-form-urlencoded")
public static class Simple extends UrlEncodingSerializer {
/** Constructor */
public Simple() {
- setProperty(UON_simpleMode, true);
+ setSimpleMode(true);
}
}
/**
- * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setProperty(UonSerializerContext.<jsf>UON_simpleMode</jsf>,<jk>true</jk>).setProperty(UonSerializerContext.<jsf>URLENC_expandedParams</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setSimpleMode(<jk>true</jk>).setExpandedParams(<jk>true</jk>);</code>.
*/
@Produces(value="application/x-www-form-urlencoded-simple",contentType="application/x-www-form-urlencoded")
public static class SimpleExpanded extends Simple {
/** Constructor */
public SimpleExpanded() {
- setProperty(URLENC_expandedParams, true);
+ setExpandedParams(true);
}
}
/**
- * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setProperty(UonSerializerContext.<jsf>UON_useWhitespace</jsf>,<jk>true</jk>);</code>.
+ * Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setUseWhitespace(<jk>true</jk>);</code>.
*/
public static class Readable extends UrlEncodingSerializer {
/** Constructor */
public Readable() {
- setProperty(UON_useWhitespace, true);
+ setUseWhitespace(true);
}
}
@@ -359,6 +358,7 @@ public class UrlEncodingSerializer extends UonSerializer {
return out;
}
+
//--------------------------------------------------------------------------------
// Methods for constructing individual parameter values.
//--------------------------------------------------------------------------------
@@ -390,7 +390,7 @@ public class UrlEncodingSerializer extends UonSerializer {
//--------------------------------------------------------------------------------
- // Overridden methods
+ // Entry point methods
//--------------------------------------------------------------------------------
@Override /* Serializer */
@@ -404,49 +404,542 @@ public class UrlEncodingSerializer extends UonSerializer {
serializeAnything(s, s.getWriter(), o);
}
+
+ //--------------------------------------------------------------------------------
+ // Properties
+ //--------------------------------------------------------------------------------
+
+ /**
+ * <b>Configuration property:</b> Serialize bean property collections/arrays as separate key/value pairs.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"UrlEncoding.expandedParams"</js>
+ * <li><b>Data type:</b> <code>Boolean</code>
+ * <li><b>Default:</b> <jk>false</jk>
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * If <jk>false</jk>, serializing the array <code>[1,2,3]</code> results in <code>?key=$a(1,2,3)</code>.
+ * If <jk>true</jk>, serializing the same array results in <code>?key=1&key=2&key=3</code>.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode'>
+ * <jk>public class</jk> A {
+ * <jk>public</jk> String[] f1 = {<js>"a"</js>,<js>"b"</js>};
+ * <jk>public</jk> List<String> f2 = <jk>new</jk> LinkedList<String>(Arrays.<jsm>asList</jsm>(<jk>new</jk> String[]{<js>"c"</js>,<js>"d"</js>}));
+ * }
+ *
+ * UrlEncodingSerializer s1 = <jk>new</jk> UrlEncodingParser();
+ * UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingParser().setExpandedParams(<jk>true</jk>);
+ *
+ * String s1 = p1.serialize(<jk>new</jk> A()); <jc>// Produces "f1=(a,b)&f2=(c,d)"</jc>
+ * String s2 = p2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&f1=b&f2=c&f2=d"</jc>
+ * </p>
+ * <p>
+ * This option only applies to beans.
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>If parsing multi-part parameters, it's highly recommended to use Collections or Lists
+ * as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
+ * is added to it.
+ * </ul>
+ * <p>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * <li>This is equivalent to calling <code>setProperty(<jsf>URLENC_expandedParams</jsf>, value)</code>.
+ * <li>This introduces a slight performance penalty.
+ * </ul>
+ *
+ * @param value The new value for this property.
+ * @return This object (for method chaining).
+ * @throws LockedException If {@link #lock()} was called on this class.
+ * @see UrlEncodingSerializerContext#URLENC_expandedParams
+ */
+ public UrlEncodingSerializer setExpandedParams(boolean value) throws LockedException {
+ return setProperty(URLENC_expandedParams, value);
+ }
+
+ @Override /* UonSerializer */
+ public UrlEncodingSerializer setSimpleMode(boolean value) throws LockedException {
+ super.setSimpleMode(value);
+ return this;
+ }
+
+ @Override /* UonSerializer */
+ public UrlEncodingSerializer setUseWhitespace(boolean value) throws LockedException {
+ super.setUseWhitespace(value);
+ return this;
+ }
+
+ @Override /* UonSerializer */
+ public UrlEncodingSerializer setEncodeChars(boolean value) throws LockedException {
+ super.setEncodeChars(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setMaxDepth(int value) throws LockedException {
+ super.setMaxDepth(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setInitialDepth(int value) throws LockedException {
+ super.setInitialDepth(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setDetectRecursions(boolean value) throws LockedException {
+ super.setDetectRecursions(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setIgnoreRecursions(boolean value) throws LockedException {
+ super.setIgnoreRecursions(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setUseIndentation(boolean value) throws LockedException {
+ super.setUseIndentation(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setAddBeanTypeProperties(boolean value) throws LockedException {
+ super.setAddBeanTypeProperties(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setQuoteChar(char value) throws LockedException {
+ super.setQuoteChar(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setTrimNullProperties(boolean value) throws LockedException {
+ super.setTrimNullProperties(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setTrimEmptyCollections(boolean value) throws LockedException {
+ super.setTrimEmptyCollections(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setTrimEmptyMaps(boolean value) throws LockedException {
+ super.setTrimEmptyMaps(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setTrimStrings(boolean value) throws LockedException {
+ super.setTrimStrings(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setRelativeUriBase(String value) throws LockedException {
+ super.setRelativeUriBase(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setAbsolutePathUriBase(String value) throws LockedException {
+ super.setAbsolutePathUriBase(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setSortCollections(boolean value) throws LockedException {
+ super.setSortCollections(value);
+ return this;
+ }
+
+ @Override /* Serializer */
+ public UrlEncodingSerializer setSortMaps(boolean value) throws LockedException {
+ super.setSortMaps(value);
+ return this;
+ }
+
@Override /* CoreApi */
- public UrlEncodingSerializer setProperty(String property, Object value) throws LockedException {
- super.setProperty(property, value);
+ public UrlEncodingSerializer setBeansRequireDefaultConstructor(boolean value) throws LockedException {
+ super.setBeansRequireDefaultConstructor(value);
return this;
}
@Override /* CoreApi */
- public UrlEncodingSerializer setProperties(ObjectMap properties) throws LockedException {
- super.setProperties(properties);
+ public UrlEncodingSerializer setBeansRequireSerializable(boolean value) throws LockedException {
+ super.setBeansRequireSerializable(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeansRequireSettersForGetters(boolean value) throws LockedException {
+ super.setBeansRequireSettersForGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeansRequireSomeProperties(boolean value) throws LockedException {
+ super.setBeansRequireSomeProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanMapPutReturnsOldValue(boolean value) throws LockedException {
+ super.setBeanMapPutReturnsOldValue(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanConstructorVisibility(Visibility value) throws LockedException {
+ super.setBeanConstructorVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanClassVisibility(Visibility value) throws LockedException {
+ super.setBeanClassVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanFieldVisibility(Visibility value) throws LockedException {
+ super.setBeanFieldVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setMethodVisibility(Visibility value) throws LockedException {
+ super.setMethodVisibility(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setUseJavaBeanIntrospector(boolean value) throws LockedException {
+ super.setUseJavaBeanIntrospector(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setUseInterfaceProxies(boolean value) throws LockedException {
+ super.setUseInterfaceProxies(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setIgnoreUnknownBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownBeanProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setIgnoreUnknownNullBeanProperties(boolean value) throws LockedException {
+ super.setIgnoreUnknownNullBeanProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setIgnorePropertiesWithoutSetters(boolean value) throws LockedException {
+ super.setIgnorePropertiesWithoutSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setIgnoreInvocationExceptionsOnGetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnGetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setIgnoreInvocationExceptionsOnSetters(boolean value) throws LockedException {
+ super.setIgnoreInvocationExceptionsOnSetters(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setSortProperties(boolean value) throws LockedException {
+ super.setSortProperties(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setNotBeanPackages(String...values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setNotBeanPackages(Collection<String> values) throws LockedException {
+ super.setNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addNotBeanPackages(String...values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addNotBeanPackages(Collection<String> values) throws LockedException {
+ super.addNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeNotBeanPackages(String...values) throws LockedException {
+ super.removeNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeNotBeanPackages(Collection<String> values) throws LockedException {
+ super.removeNotBeanPackages(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setNotBeanClasses(Class<?>...values) throws LockedException {
+ super.setNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.setNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addNotBeanClasses(Class<?>...values) throws LockedException {
+ super.addNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.addNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeNotBeanClasses(Class<?>...values) throws LockedException {
+ super.removeNotBeanClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeNotBeanClasses(Collection<Class<?>> values) throws LockedException {
+ super.removeNotBeanClasses(values);
return this;
}
@Override /* CoreApi */
- public UrlEncodingSerializer addNotBeanClasses(Class<?>...classes) throws LockedException {
- super.addNotBeanClasses(classes);
+ public UrlEncodingSerializer setBeanFilters(Class<?>...values) throws LockedException {
+ super.setBeanFilters(values);
return this;
}
@Override /* CoreApi */
- public UrlEncodingSerializer addBeanFilters(Class<?>...classes) throws LockedException {
- super.addBeanFilters(classes);
+ public UrlEncodingSerializer setBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.setBeanFilters(values);
return this;
}
@Override /* CoreApi */
- public UrlEncodingSerializer addPojoSwaps(Class<?>...classes) throws LockedException {
- super.addPojoSwaps(classes);
+ public UrlEncodingSerializer addBeanFilters(Class<?>...values) throws LockedException {
+ super.addBeanFilters(values);
return this;
}
@Override /* CoreApi */
- public UrlEncodingSerializer addToDictionary(Class<?>...classes) throws LockedException {
- super.addToDictionary(classes);
+ public UrlEncodingSerializer addBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.addBeanFilters(values);
return this;
}
@Override /* CoreApi */
- public <T> UrlEncodingSerializer addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
+ public UrlEncodingSerializer removeBeanFilters(Class<?>...values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeBeanFilters(Collection<Class<?>> values) throws LockedException {
+ super.removeBeanFilters(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setPojoSwaps(Class<?>...values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.setPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addPojoSwaps(Class<?>...values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addPojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.addPojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removePojoSwaps(Class<?>...values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removePojoSwaps(Collection<Class<?>> values) throws LockedException {
+ super.removePojoSwaps(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setImplClasses(Map<Class<?>,Class<?>> values) throws LockedException {
+ super.setImplClasses(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? extends T> implClass) throws LockedException {
super.addImplClass(interfaceClass, implClass);
return this;
}
@Override /* CoreApi */
+ public UrlEncodingSerializer setBeanDictionary(Class<?>...values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.setBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addToBeanDictionary(Class<?>...values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addToBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.addToBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeFromBeanDictionary(Class<?>...values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeFromBeanDictionary(Collection<Class<?>> values) throws LockedException {
+ super.removeFromBeanDictionary(values);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setBeanTypePropertyName(String value) throws LockedException {
+ super.setBeanTypePropertyName(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setDefaultParser(Class<?> value) throws LockedException {
+ super.setDefaultParser(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setLocale(Locale value) throws LockedException {
+ super.setLocale(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setTimeZone(TimeZone value) throws LockedException {
+ super.setTimeZone(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setMediaType(MediaType value) throws LockedException {
+ super.setMediaType(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setDebug(boolean value) throws LockedException {
+ super.setDebug(value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setProperty(String name, Object value) throws LockedException {
+ super.setProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer setProperties(ObjectMap properties) throws LockedException {
+ super.setProperties(properties);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer addToProperty(String name, Object value) throws LockedException {
+ super.addToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer putToProperty(String name, Object key, Object value) throws LockedException {
+ super.putToProperty(name, key, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer putToProperty(String name, Object value) throws LockedException {
+ super.putToProperty(name, value);
+ return this;
+ }
+
+ @Override /* CoreApi */
+ public UrlEncodingSerializer removeFromProperty(String name, Object value) throws LockedException {
+ super.removeFromProperty(name, value);
+ return this;
+ }
+
+
+ //--------------------------------------------------------------------------------
+ // Overridden methods
+ //--------------------------------------------------------------------------------
+
+ @Override /* CoreApi */
public UrlEncodingSerializer setClassLoader(ClassLoader classLoader) throws LockedException {
super.setClassLoader(classLoader);
return this;
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
index 0e68416..dc2c46e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
@@ -20,31 +20,7 @@ import org.apache.juneau.*;
* Context properties are set by calling {@link ContextFactory#setProperty(String, Object)} on the context factory
* returned {@link CoreApi#getContextFactory()}.
* <p>
- * The following convenience methods are also provided for setting context properties:
- * <ul>
- * <li>{@link UrlEncodingSerializer#setProperty(String,Object)}
- * <li>{@link UrlEncodingSerializer#setProperties(ObjectMap)}
- * <li>{@link UrlEncodingSerializer#addNotBeanClasses(Class[])}
- * <li>{@link UrlEncodingSerializer#addBeanFilters(Class[])}
- * <li>{@link UrlEncodingSerializer#addPojoSwaps(Class[])}
- * <li>{@link UrlEncodingSerializer#addToDictionary(Class[])}
- * <li>{@link UrlEncodingSerializer#addImplClass(Class,Class)}
- * </ul>
- * <p>
* See {@link ContextFactory} for more information about context properties.
- *
- *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the URL-Encoding serializer</h6>
- * <table class='styled' style='border-collapse: collapse;'>
- * <tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th><th>Session overridable</th></tr>
- * <tr>
- * <td>{@link #URLENC_expandedParams}</td>
- * <td>Serialize bean property collections/arrays as separate key/value pairs.</td>
- * <td><code>Boolean</code></td>
- * <td><jk>false</jk></td>
- * <td><jk>true</jk></td>
- * </tr>
- * </table>
*/
public class UrlEncodingSerializerContext extends UonSerializerContext {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html b/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
index 83bebb6..d75d638 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
@@ -593,7 +593,7 @@
</p>
<p class='bcode'>
<jc>// Clone an existing serializer and set property for detecting recursions.</jc>
- UrlEncodingSerializer s = UrlEncodingSerializer.<jsf>DEFAULT_READABLE</jsf>.clone().setProperty(SerializerContext.<jsf>SERIALIZER_detectRecursions</jsf>, <jk>true</jk>);
+ UrlEncodingSerializer s = UrlEncodingSerializer.<jsf>DEFAULT_READABLE</jsf>.clone().setDetectRecursions(<jk>true</jk>);
<jc>// Create a recursive loop.</jc>
A a = <jk>new</jk> A();
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
index 501de0f..d521717 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
@@ -12,8 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.xml;
-import static org.apache.juneau.xml.XmlSerializerContext.*;
-
import org.apache.juneau.annotation.*;
import org.apache.juneau.serializer.*;
@@ -39,12 +37,13 @@ public class XmlDocSerializer extends XmlSerializer {
public static class Simple extends XmlDocSerializer {
/** Constructor */
public Simple() {
- setProperty(XML_enableNamespaces, false);
+ setEnableNamespaces(false);
}
}
+
//--------------------------------------------------------------------------------
- // Overridden methods
+ // Entry point methods
//--------------------------------------------------------------------------------
@Override /* Serializer */