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/12/23 16:50:46 UTC
[05/21] juneau git commit: JUNEAU-76 Improvements to Context/Builder
APIs
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index d2f58ed..c89df95 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -19,7 +19,6 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.http.*;
import org.apache.juneau.parser.*;
-import org.apache.juneau.urlencoding.*;
/**
* Builder class for building instances of UON parsers.
@@ -36,15 +35,15 @@ public class UonParserBuilder extends ParserBuilder {
/**
* Constructor.
*
- * @param propertyStore The initial configuration settings for this builder.
+ * @param ps The initial configuration settings for this builder.
*/
- public UonParserBuilder(PropertyStore propertyStore) {
- super(propertyStore);
+ public UonParserBuilder(PropertyStore2 ps) {
+ super(ps);
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParser build() {
- return new UonParser(propertyStore);
+ return build(UonParser.class);
}
@@ -55,13 +54,6 @@ public class UonParserBuilder extends ParserBuilder {
/**
* <b>Configuration property:</b> Decode <js>"%xx"</js> sequences.
*
- * <ul>
- * <li><b>Name:</b> <js>"UonParser.decodeChars"</js>
- * <li><b>Data type:</b> <code>Boolean</code>
- * <li><b>Default:</b> <jk>false</jk> for {@link UonParser}, <jk>true</jk> for {@link UrlEncodingParser}
- * <li><b>Session-overridable:</b> <jk>true</jk>
- * </ul>
- *
* <p>
* Specify <jk>true</jk> if URI encoded characters should be decoded, <jk>false</jk> if they've already been
* decoded before being passed to this parser.
@@ -76,7 +68,7 @@ public class UonParserBuilder extends ParserBuilder {
* @see UonParser#UON_decodeChars
*/
public UonParserBuilder decodeChars(boolean value) {
- return property(UON_decodeChars, value);
+ return set(UON_decodeChars, value);
}
/**
@@ -124,380 +116,374 @@ public class UonParserBuilder extends ParserBuilder {
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beansRequireDefaultConstructor(boolean value) {
super.beansRequireDefaultConstructor(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beansRequireSerializable(boolean value) {
super.beansRequireSerializable(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beansRequireSettersForGetters(boolean value) {
super.beansRequireSettersForGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beansRequireSomeProperties(boolean value) {
super.beansRequireSomeProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanMapPutReturnsOldValue(boolean value) {
super.beanMapPutReturnsOldValue(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanConstructorVisibility(Visibility value) {
super.beanConstructorVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanClassVisibility(Visibility value) {
super.beanClassVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanFieldVisibility(Visibility value) {
super.beanFieldVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder methodVisibility(Visibility value) {
super.methodVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder useJavaBeanIntrospector(boolean value) {
super.useJavaBeanIntrospector(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder useInterfaceProxies(boolean value) {
super.useInterfaceProxies(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder ignoreUnknownBeanProperties(boolean value) {
super.ignoreUnknownBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
super.ignoreUnknownNullBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder ignorePropertiesWithoutSetters(boolean value) {
super.ignorePropertiesWithoutSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
super.ignoreInvocationExceptionsOnGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
super.ignoreInvocationExceptionsOnSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder sortProperties(boolean value) {
super.sortProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder notBeanPackages(String...values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder notBeanPackages(Collection<String> values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setNotBeanPackages(String...values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setNotBeanPackages(Collection<String> values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeNotBeanPackages(String...values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeNotBeanPackages(Collection<String> values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder notBeanClasses(Class<?>...values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder notBeanClasses(Collection<Class<?>> values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setNotBeanClasses(Class<?>...values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setNotBeanClasses(Collection<Class<?>> values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeNotBeanClasses(Class<?>...values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeNotBeanClasses(Collection<Class<?>> values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanFilters(Class<?>...values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanFilters(Collection<Class<?>> values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setBeanFilters(Class<?>...values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setBeanFilters(Collection<Class<?>> values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeBeanFilters(Class<?>...values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeBeanFilters(Collection<Class<?>> values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder pojoSwaps(Class<?>...values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder pojoSwaps(Collection<Class<?>> values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setPojoSwaps(Class<?>...values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setPojoSwaps(Collection<Class<?>> values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removePojoSwaps(Class<?>...values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removePojoSwaps(Collection<Class<?>> values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder implClasses(Map<Class<?>,Class<?>> values) {
+ @Override /* ContextBuilder */
+ public UonParserBuilder implClasses(Map<String,Class<?>> values) {
super.implClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public <T> UonParserBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
super.implClass(interfaceClass, implClass);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanDictionary(Class<?>...values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanDictionary(Collection<Class<?>> values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setBeanDictionary(Class<?>...values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder setBeanDictionary(Collection<Class<?>> values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeFromBeanDictionary(Class<?>...values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder removeFromBeanDictionary(Collection<Class<?>> values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder beanTypePropertyName(String value) {
super.beanTypePropertyName(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder defaultParser(Class<?> value) {
super.defaultParser(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder locale(Locale value) {
super.locale(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder timeZone(TimeZone value) {
super.timeZone(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder mediaType(MediaType value) {
super.mediaType(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonParserBuilder debug() {
super.debug();
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder property(String name, Object value) {
- super.property(name, value);
- return this;
- }
-
- @Override /* CoreObjectBuilder */
- public UonParserBuilder properties(Map<String,Object> properties) {
- super.properties(properties);
+ @Override /* ContextBuilder */
+ public UonParserBuilder set(String name, Object value) {
+ super.set(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder addToProperty(String name, Object value) {
- super.addToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonParserBuilder set(Map<String,Object> properties) {
+ super.set(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder putToProperty(String name, Object key, Object value) {
- super.putToProperty(name, key, value);
+ @Override /* ContextBuilder */
+ public UonParserBuilder add(Map<String,Object> properties) {
+ super.add(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder putToProperty(String name, Object value) {
- super.putToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonParserBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder removeFromProperty(String name, Object value) {
- super.removeFromProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonParserBuilder addTo(String name, String key, Object value) {
+ super.addTo(name, key, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder classLoader(ClassLoader classLoader) {
- super.classLoader(classLoader);
+ @Override /* ContextBuilder */
+ public UonParserBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonParserBuilder apply(PropertyStore copyFrom) {
+ @Override /* ContextBuilder */
+ public UonParserBuilder apply(PropertyStore2 copyFrom) {
super.apply(copyFrom);
return this;
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
deleted file mode 100644
index d0b64aa..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.uon;
-
-import static org.apache.juneau.uon.UonParser.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.parser.*;
-
-/**
- * Contains a snapshot-in-time read-only copy of the settings on the {@link UonParser} class.
- */
-public class UonParserContext extends ParserContext {
-
- final boolean
- decodeChars;
-
- /**
- * Constructor.
- *
- * <p>
- * Typically only called from {@link PropertyStore#getContext(Class)}.
- *
- * @param ps The property store that created this context.
- */
- public UonParserContext(PropertyStore ps) {
- super(ps);
- this.decodeChars = ps.getProperty(UON_decodeChars, boolean.class, false);
- }
-
- @Override /* Context */
- public ObjectMap asMap() {
- return super.asMap()
- .append("UonParserContext", new ObjectMap()
- .append("decodeChars", decodeChars)
- );
- }
-}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
index f3bd0da..c17bf6c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
@@ -51,10 +51,9 @@ public class UonParserSession extends ReaderParserSession {
* @param args
* Runtime session arguments.
*/
- protected UonParserSession(UonParserContext ctx, ParserSessionArgs args) {
+ protected UonParserSession(UonParser ctx, ParserSessionArgs args) {
super(ctx, args);
- ObjectMap p = getProperties();
- decodeChars = p.getBoolean(UON_decodeChars, ctx.decodeChars);
+ decodeChars = getProperty(UON_decodeChars, boolean.class, ctx.decodeChars);
}
@Override /* Session */
@@ -80,7 +79,7 @@ public class UonParserSession extends ReaderParserSession {
* @param decodeChars
* Whether to decode characters.
*/
- protected UonParserSession(UonParserContext ctx, ParserSessionArgs args, boolean decodeChars) {
+ protected UonParserSession(UonParser ctx, ParserSessionArgs args, boolean decodeChars) {
super(ctx, args);
this.decodeChars = decodeChars;
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
index 3cfba8f..7ca689c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
@@ -126,7 +126,7 @@ public class UonSerializer extends WriterSerializer {
* <b>Configuration property:</b> Encode non-valid URI characters.
*
* <ul>
- * <li><b>Name:</b> <js>"UonSerializer.encodeChars"</js>
+ * <li><b>Name:</b> <js>"UonSerializer.encodeChars.b"</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>
@@ -140,13 +140,13 @@ public class UonSerializer extends WriterSerializer {
* 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.
*/
- public static final String UON_encodeChars = PREFIX + "encodeChars";
+ public static final String UON_encodeChars = PREFIX + "encodeChars.b";
/**
* <b>Configuration property:</b> Add <js>"_type"</js> properties when needed.
*
* <ul>
- * <li><b>Name:</b> <js>"UonSerializer.addBeanTypeProperties"</js>
+ * <li><b>Name:</b> <js>"UonSerializer.addBeanTypeProperties.b"</js>
* <li><b>Data type:</b> <code>Boolean</code>
* <li><b>Default:</b> <jk>false</jk>
* <li><b>Session-overridable:</b> <jk>true</jk>
@@ -163,13 +163,13 @@ public class UonSerializer extends WriterSerializer {
* When present, this value overrides the {@link #SERIALIZER_addBeanTypeProperties} setting and is
* provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
*/
- public static final String UON_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
+ public static final String UON_addBeanTypeProperties = PREFIX + "addBeanTypeProperties.b";
/**
* <b>Configuration property:</b> Format to use for query/form-data/header values.
*
* <ul>
- * <li><b>Name:</b> <js>"UrlEncodingSerializer.paramFormat"</js>
+ * <li><b>Name:</b> <js>"UrlEncodingSerializer.paramFormat.s"</js>
* <li><b>Data type:</b> <code>ParamFormat</code>
* <li><b>Default:</b> <jsf>UON</jsf>
* <li><b>Session-overridable:</b> <jk>true</jk>
@@ -178,7 +178,7 @@ public class UonSerializer extends WriterSerializer {
* <p>
* Specifies the format to use for URL GET parameter keys and values.
*/
- public static final String UON_paramFormat = PREFIX + "paramFormat";
+ public static final String UON_paramFormat = PREFIX + "paramFormat.s";
//-------------------------------------------------------------------------------------------------------------------
@@ -186,13 +186,13 @@ public class UonSerializer extends WriterSerializer {
//-------------------------------------------------------------------------------------------------------------------
/** Reusable instance of {@link UonSerializer}, all default settings. */
- public static final UonSerializer DEFAULT = new UonSerializer(PropertyStore.create());
+ public static final UonSerializer DEFAULT = new UonSerializer(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UonSerializer.Readable}. */
- public static final UonSerializer DEFAULT_READABLE = new Readable(PropertyStore.create());
+ public static final UonSerializer DEFAULT_READABLE = new Readable(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UonSerializer.Encoding}. */
- public static final UonSerializer DEFAULT_ENCODING = new Encoding(PropertyStore.create());
+ public static final UonSerializer DEFAULT_ENCODING = new Encoding(PropertyStore2.DEFAULT);
//-------------------------------------------------------------------------------------------------------------------
@@ -207,10 +207,10 @@ public class UonSerializer extends WriterSerializer {
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public Readable(PropertyStore propertyStore) {
- super(propertyStore.copy().append(SERIALIZER_useWhitespace, true));
+ public Readable(PropertyStore2 ps) {
+ super(ps.builder().set(SERIALIZER_useWhitespace, true).build());
}
}
@@ -222,10 +222,10 @@ public class UonSerializer extends WriterSerializer {
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public Encoding(PropertyStore propertyStore) {
- super(propertyStore.copy().append(UON_encodeChars, true));
+ public Encoding(PropertyStore2 ps) {
+ super(ps.builder().set(UON_encodeChars, true).build());
}
}
@@ -234,22 +234,27 @@ public class UonSerializer extends WriterSerializer {
// Instance
//-------------------------------------------------------------------------------------------------------------------
- private final UonSerializerContext ctx;
+ final boolean
+ encodeChars,
+ addBeanTypeProperties;
+
+ final ParamFormat
+ paramFormat;
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
*/
- public UonSerializer(PropertyStore propertyStore) {
- this(propertyStore, "text/uon");
+ public UonSerializer(PropertyStore2 ps) {
+ this(ps, "text/uon");
}
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
* @param produces
* The media type that this serializer produces.
@@ -267,14 +272,16 @@ public class UonSerializer extends WriterSerializer {
* <br>...or...
* <br><code><jk>super</jk>(propertyStore, <js>"application/json"</js>, <js>"*​/json"</js>);</code>
*/
- public UonSerializer(PropertyStore propertyStore, String produces, String...accept) {
- super(propertyStore, produces, accept);
- this.ctx = createContext(UonSerializerContext.class);
+ public UonSerializer(PropertyStore2 ps, String produces, String...accept) {
+ super(ps, produces, accept);
+ encodeChars = getProperty(UON_encodeChars, boolean.class, false);
+ addBeanTypeProperties = getProperty(UON_addBeanTypeProperties, boolean.class, getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, true));
+ paramFormat = getProperty(UON_paramFormat, ParamFormat.class, ParamFormat.UON);
}
@Override /* CoreObject */
public UonSerializerBuilder builder() {
- return new UonSerializerBuilder(propertyStore);
+ return new UonSerializerBuilder(getPropertyStore());
}
/**
@@ -300,6 +307,25 @@ public class UonSerializer extends WriterSerializer {
@Override /* Serializer */
public WriterSerializerSession createSession(SerializerSessionArgs args) {
- return new UonSerializerSession(ctx, null, args);
+ return new UonSerializerSession(this, null, args);
+ }
+
+ /**
+ * Returns the value of the {@link UonSerializer#UON_paramFormat} setting.
+ *
+ * @return The value of the {@link UonSerializer#UON_paramFormat} setting.
+ */
+ public ParamFormat getParamFormat() {
+ return paramFormat;
+ }
+
+ @Override /* Context */
+ public ObjectMap asMap() {
+ return super.asMap()
+ .append("UonSerializer", new ObjectMap()
+ .append("encodeChars", encodeChars)
+ .append("addBeanTypeProperties", addBeanTypeProperties)
+ .append("paramFormat", paramFormat)
+ );
}
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index 53482c2..bce3cec 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -19,7 +19,6 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.http.*;
import org.apache.juneau.serializer.*;
-import org.apache.juneau.urlencoding.*;
/**
* Builder class for building instances of UON serializers.
@@ -36,15 +35,15 @@ public class UonSerializerBuilder extends SerializerBuilder {
/**
* Constructor.
*
- * @param propertyStore The initial configuration settings for this builder.
+ * @param ps The initial configuration settings for this builder.
*/
- public UonSerializerBuilder(PropertyStore propertyStore) {
- super(propertyStore);
+ public UonSerializerBuilder(PropertyStore2 ps) {
+ super(ps);
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializer build() {
- return new UonSerializer(propertyStore);
+ return build(UonSerializer.class);
}
@@ -55,13 +54,6 @@ public class UonSerializerBuilder extends SerializerBuilder {
/**
* <b>Configuration property:</b> Encode non-valid URI characters.
*
- * <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.
*
@@ -81,7 +73,7 @@ public class UonSerializerBuilder extends SerializerBuilder {
* @see UonSerializer#UON_encodeChars
*/
public UonSerializerBuilder encodeChars(boolean value) {
- return property(UON_encodeChars, value);
+ return set(UON_encodeChars, value);
}
/**
@@ -96,13 +88,6 @@ public class UonSerializerBuilder extends SerializerBuilder {
/**
* <b>Configuration property:</b> Format to use for query/form-data/header values.
*
- * <ul>
- * <li><b>Name:</b> <js>"UrlEncodingSerializer.paramFormat"</js>
- * <li><b>Data type:</b> <code>ParamFormat</code>
- * <li><b>Default:</b> <jsf>UON</jsf>
- * <li><b>Session-overridable:</b> <jk>true</jk>
- * </ul>
- *
* <p>
* Specifies the format to use for URL GET parameter keys and values.
*
@@ -116,7 +101,7 @@ public class UonSerializerBuilder extends SerializerBuilder {
* @see UonSerializer#UON_paramFormat
*/
public UonSerializerBuilder paramFormat(ParamFormat value) {
- return property(UON_paramFormat, value);
+ return set(UON_paramFormat, value);
}
@Override /* SerializerBuilder */
@@ -245,416 +230,410 @@ public class UonSerializerBuilder extends SerializerBuilder {
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beansRequireDefaultConstructor(boolean value) {
super.beansRequireDefaultConstructor(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beansRequireSerializable(boolean value) {
super.beansRequireSerializable(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beansRequireSettersForGetters(boolean value) {
super.beansRequireSettersForGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beansRequireSomeProperties(boolean value) {
super.beansRequireSomeProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
super.beanMapPutReturnsOldValue(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanConstructorVisibility(Visibility value) {
super.beanConstructorVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanClassVisibility(Visibility value) {
super.beanClassVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanFieldVisibility(Visibility value) {
super.beanFieldVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder methodVisibility(Visibility value) {
super.methodVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder useJavaBeanIntrospector(boolean value) {
super.useJavaBeanIntrospector(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder useInterfaceProxies(boolean value) {
super.useInterfaceProxies(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
super.ignoreUnknownBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
super.ignoreUnknownNullBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
super.ignorePropertiesWithoutSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
super.ignoreInvocationExceptionsOnGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
super.ignoreInvocationExceptionsOnSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder sortProperties(boolean value) {
super.sortProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder notBeanPackages(String...values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder notBeanPackages(Collection<String> values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setNotBeanPackages(String...values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setNotBeanPackages(Collection<String> values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeNotBeanPackages(String...values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeNotBeanPackages(Collection<String> values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder notBeanClasses(Class<?>...values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder notBeanClasses(Collection<Class<?>> values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setNotBeanClasses(Class<?>...values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setNotBeanClasses(Collection<Class<?>> values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeNotBeanClasses(Class<?>...values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeNotBeanClasses(Collection<Class<?>> values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanFilters(Class<?>...values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanFilters(Collection<Class<?>> values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setBeanFilters(Class<?>...values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setBeanFilters(Collection<Class<?>> values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeBeanFilters(Class<?>...values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeBeanFilters(Collection<Class<?>> values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder pojoSwaps(Class<?>...values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder pojoSwaps(Collection<Class<?>> values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setPojoSwaps(Class<?>...values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setPojoSwaps(Collection<Class<?>> values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removePojoSwaps(Class<?>...values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removePojoSwaps(Collection<Class<?>> values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder implClasses(Map<Class<?>,Class<?>> values) {
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder implClasses(Map<String,Class<?>> values) {
super.implClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public <T> UonSerializerBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
super.implClass(interfaceClass, implClass);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder includeProperties(Map<String,String> values) {
super.includeProperties(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder includeProperties(String beanClassName, String properties) {
super.includeProperties(beanClassName, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder includeProperties(Class<?> beanClass, String properties) {
super.includeProperties(beanClass, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder excludeProperties(Map<String,String> values) {
super.excludeProperties(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder excludeProperties(String beanClassName, String properties) {
super.excludeProperties(beanClassName, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder excludeProperties(Class<?> beanClass, String properties) {
super.excludeProperties(beanClass, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanDictionary(Class<?>...values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanDictionary(Collection<Class<?>> values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setBeanDictionary(Class<?>...values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder setBeanDictionary(Collection<Class<?>> values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeFromBeanDictionary(Class<?>...values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder removeFromBeanDictionary(Collection<Class<?>> values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder beanTypePropertyName(String value) {
super.beanTypePropertyName(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder defaultParser(Class<?> value) {
super.defaultParser(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder locale(Locale value) {
super.locale(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder timeZone(TimeZone value) {
super.timeZone(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder mediaType(MediaType value) {
super.mediaType(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UonSerializerBuilder debug() {
super.debug();
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder property(String name, Object value) {
- super.property(name, value);
- return this;
- }
-
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder properties(Map<String,Object> properties) {
- super.properties(properties);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder set(String name, Object value) {
+ super.set(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder addToProperty(String name, Object value) {
- super.addToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder set(Map<String,Object> properties) {
+ super.set(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder putToProperty(String name, Object key, Object value) {
- super.putToProperty(name, key, value);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder add(Map<String,Object> properties) {
+ super.add(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder putToProperty(String name, Object value) {
- super.putToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder removeFromProperty(String name, Object value) {
- super.removeFromProperty(name, value);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder addTo(String name, String key, Object value) {
+ super.addTo(name, key, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder classLoader(ClassLoader classLoader) {
- super.classLoader(classLoader);
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UonSerializerBuilder apply(PropertyStore copyFrom) {
+ @Override /* ContextBuilder */
+ public UonSerializerBuilder apply(PropertyStore2 copyFrom) {
super.apply(copyFrom);
return this;
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
deleted file mode 100644
index 7f3abaf..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
+++ /dev/null
@@ -1,66 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.uon;
-
-import static org.apache.juneau.uon.UonSerializer.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.serializer.*;
-
-/**
- * Contains a snapshot-in-time read-only copy of the settings on the {@link UonSerializer} class.
- */
-public class UonSerializerContext extends SerializerContext {
-
- final boolean
- encodeChars,
- addBeanTypeProperties;
-
- final ParamFormat
- paramFormat;
-
- /**
- * Constructor.
- *
- * <p>
- * Typically only called from {@link PropertyStore#getContext(Class)}.
- *
- * @param ps The property store that created this context.
- */
- public UonSerializerContext(PropertyStore ps) {
- super(ps);
- encodeChars = ps.getProperty(UON_encodeChars, boolean.class, false);
- addBeanTypeProperties = ps.getProperty(UON_addBeanTypeProperties, boolean.class,
- ps.getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, true));
- paramFormat = ps.getProperty(UON_paramFormat, ParamFormat.class, ParamFormat.UON);
- }
-
- @Override /* Context */
- public ObjectMap asMap() {
- return super.asMap()
- .append("UonSerializerContext", new ObjectMap()
- .append("encodeChars", encodeChars)
- .append("addBeanTypeProperties", addBeanTypeProperties)
- .append("paramFormat", paramFormat)
- );
- }
-
- /**
- * Returns the value of the {@link UonSerializer#UON_paramFormat} setting.
- *
- * @return The value of the {@link UonSerializer#UON_paramFormat} setting.
- */
- public ParamFormat getParamFormat() {
- return paramFormat;
- }
-}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
index aad1c93..32b9bf7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
@@ -46,12 +46,11 @@ public class UonSerializerSession extends WriterSerializerSession {
* It also include session-level properties that override the properties defined on the bean and
* serializer contexts.
*/
- public UonSerializerSession(UonSerializerContext ctx, Boolean encode, SerializerSessionArgs args) {
+ public UonSerializerSession(UonSerializer ctx, Boolean encode, SerializerSessionArgs args) {
super(ctx, args);
- ObjectMap p = getProperties();
- encodeChars = encode == null ? p.getBoolean(UON_encodeChars, ctx.encodeChars) : encode;
- addBeanTypeProperties = p.getBoolean(UON_addBeanTypeProperties, ctx.addBeanTypeProperties);
- plainTextParams = p.getWithDefault(UON_paramFormat, ctx.paramFormat, ParamFormat.class) == ParamFormat.PLAINTEXT;
+ encodeChars = encode == null ? getProperty(UON_encodeChars, boolean.class, ctx.encodeChars) : encode;
+ addBeanTypeProperties = getProperty(UON_addBeanTypeProperties, boolean.class, ctx.addBeanTypeProperties);
+ plainTextParams = getProperty(UON_paramFormat, ParamFormat.class, ctx.paramFormat) == ParamFormat.PLAINTEXT;
}
@Override /* Session */
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
index 7c0bb8a..8f18dff 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
@@ -63,7 +63,7 @@ public class UrlEncodingParser extends UonParser implements PartParser {
* is added to it.
* </ul>
*/
- public static final String URLENC_expandedParams = PREFIX + "expandedParams";
+ public static final String URLENC_expandedParams = PREFIX + "expandedParams.b";
//-------------------------------------------------------------------------------------------------------------------
@@ -71,28 +71,34 @@ public class UrlEncodingParser extends UonParser implements PartParser {
//-------------------------------------------------------------------------------------------------------------------
/** Reusable instance of {@link UrlEncodingParser}. */
- public static final UrlEncodingParser DEFAULT = new UrlEncodingParser(PropertyStore.create());
+ public static final UrlEncodingParser DEFAULT = new UrlEncodingParser(PropertyStore2.DEFAULT);
//-------------------------------------------------------------------------------------------------------------------
// Instance
//-------------------------------------------------------------------------------------------------------------------
- private final UrlEncodingParserContext ctx;
+ final boolean
+ expandedParams;
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public UrlEncodingParser(PropertyStore propertyStore) {
- super(propertyStore.copy().append(UON_decodeChars, true), "application/x-www-form-urlencoded");
- this.ctx = createContext(UrlEncodingParserContext.class);
+ public UrlEncodingParser(PropertyStore2 ps) {
+ super(
+ ps.builder()
+ .set(UON_decodeChars, true)
+ .build(),
+ "application/x-www-form-urlencoded"
+ );
+ expandedParams = getProperty(URLENC_expandedParams, boolean.class, false);
}
@Override /* CoreObject */
public UrlEncodingParserBuilder builder() {
- return new UrlEncodingParserBuilder(propertyStore);
+ return new UrlEncodingParserBuilder(getPropertyStore());
}
/**
@@ -230,6 +236,14 @@ public class UrlEncodingParser extends UonParser implements PartParser {
@Override /* Parser */
public UrlEncodingParserSession createSession(ParserSessionArgs args) {
- return new UrlEncodingParserSession(ctx, args);
+ return new UrlEncodingParserSession(this, args);
+ }
+
+ @Override /* Context */
+ public ObjectMap asMap() {
+ return super.asMap()
+ .append("UrlEncodingParser", new ObjectMap()
+ .append("expandedParams", expandedParams)
+ );
}
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index e24aeb2..c421682 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -37,15 +37,15 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
/**
* Constructor.
*
- * @param propertyStore The initial configuration settings for this builder.
+ * @param ps The initial configuration settings for this builder.
*/
- public UrlEncodingParserBuilder(PropertyStore propertyStore) {
- super(propertyStore);
+ public UrlEncodingParserBuilder(PropertyStore2 ps) {
+ super(ps);
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParser build() {
- return new UrlEncodingParser(propertyStore);
+ return build(UrlEncodingParser.class);
}
@@ -56,13 +56,6 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
/**
* <b>Configuration property:</b> Serialize bean property collections/arrays as separate key/value pairs.
*
- * <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>.
@@ -101,12 +94,12 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
* @see UrlEncodingParser#URLENC_expandedParams
*/
public UrlEncodingParserBuilder expandedParams(boolean value) {
- return property(URLENC_expandedParams, value);
+ return set(URLENC_expandedParams, value);
}
@Override /* UonParser */
public UrlEncodingParserBuilder decodeChars(boolean value) {
- return property(UON_decodeChars, value);
+ return set(UON_decodeChars, value);
}
@Override /* ParserBuilder */
@@ -145,380 +138,374 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beansRequireDefaultConstructor(boolean value) {
super.beansRequireDefaultConstructor(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beansRequireSerializable(boolean value) {
super.beansRequireSerializable(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beansRequireSettersForGetters(boolean value) {
super.beansRequireSettersForGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beansRequireSomeProperties(boolean value) {
super.beansRequireSomeProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanMapPutReturnsOldValue(boolean value) {
super.beanMapPutReturnsOldValue(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanConstructorVisibility(Visibility value) {
super.beanConstructorVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanClassVisibility(Visibility value) {
super.beanClassVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanFieldVisibility(Visibility value) {
super.beanFieldVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder methodVisibility(Visibility value) {
super.methodVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder useJavaBeanIntrospector(boolean value) {
super.useJavaBeanIntrospector(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder useInterfaceProxies(boolean value) {
super.useInterfaceProxies(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder ignoreUnknownBeanProperties(boolean value) {
super.ignoreUnknownBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
super.ignoreUnknownNullBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder ignorePropertiesWithoutSetters(boolean value) {
super.ignorePropertiesWithoutSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
super.ignoreInvocationExceptionsOnGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
super.ignoreInvocationExceptionsOnSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder sortProperties(boolean value) {
super.sortProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder notBeanPackages(String...values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder notBeanPackages(Collection<String> values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setNotBeanPackages(String...values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setNotBeanPackages(Collection<String> values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeNotBeanPackages(String...values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeNotBeanPackages(Collection<String> values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder notBeanClasses(Class<?>...values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder notBeanClasses(Collection<Class<?>> values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setNotBeanClasses(Class<?>...values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setNotBeanClasses(Collection<Class<?>> values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeNotBeanClasses(Class<?>...values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeNotBeanClasses(Collection<Class<?>> values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanFilters(Class<?>...values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanFilters(Collection<Class<?>> values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setBeanFilters(Class<?>...values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setBeanFilters(Collection<Class<?>> values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeBeanFilters(Class<?>...values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeBeanFilters(Collection<Class<?>> values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder pojoSwaps(Class<?>...values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder pojoSwaps(Collection<Class<?>> values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setPojoSwaps(Class<?>...values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setPojoSwaps(Collection<Class<?>> values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removePojoSwaps(Class<?>...values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removePojoSwaps(Collection<Class<?>> values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder implClasses(Map<Class<?>,Class<?>> values) {
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder implClasses(Map<String,Class<?>> values) {
super.implClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public <T> UrlEncodingParserBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
super.implClass(interfaceClass, implClass);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanDictionary(Class<?>...values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanDictionary(Collection<Class<?>> values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setBeanDictionary(Class<?>...values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder setBeanDictionary(Collection<Class<?>> values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeFromBeanDictionary(Class<?>...values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder removeFromBeanDictionary(Collection<Class<?>> values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder beanTypePropertyName(String value) {
super.beanTypePropertyName(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder defaultParser(Class<?> value) {
super.defaultParser(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder locale(Locale value) {
super.locale(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder timeZone(TimeZone value) {
super.timeZone(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder mediaType(MediaType value) {
super.mediaType(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public UrlEncodingParserBuilder debug() {
super.debug();
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder property(String name, Object value) {
- super.property(name, value);
- return this;
- }
-
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder properties(Map<String,Object> properties) {
- super.properties(properties);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder set(String name, Object value) {
+ super.set(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder addToProperty(String name, Object value) {
- super.addToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder set(Map<String,Object> properties) {
+ super.set(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder putToProperty(String name, Object key, Object value) {
- super.putToProperty(name, key, value);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder add(Map<String,Object> properties) {
+ super.add(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder putToProperty(String name, Object value) {
- super.putToProperty(name, value);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder removeFromProperty(String name, Object value) {
- super.removeFromProperty(name, value);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder addTo(String name, String key, Object value) {
+ super.addTo(name, key, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder classLoader(ClassLoader classLoader) {
- super.classLoader(classLoader);
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public UrlEncodingParserBuilder apply(PropertyStore copyFrom) {
+ @Override /* ContextBuilder */
+ public UrlEncodingParserBuilder apply(PropertyStore2 copyFrom) {
super.apply(copyFrom);
return this;
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
deleted file mode 100644
index 816a458..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.urlencoding;
-
-import static org.apache.juneau.urlencoding.UrlEncodingParser.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.uon.*;
-
-/**
- * Contains a snapshot-in-time read-only copy of the settings on the {@link UrlEncodingParser} class.
- */
-public class UrlEncodingParserContext extends UonParserContext {
-
- final boolean
- expandedParams;
-
- /**
- * Constructor.
- *
- * <p>
- * Typically only called from {@link PropertyStore#getContext(Class)}.
- *
- * @param ps The property store that created this context.
- */
- public UrlEncodingParserContext(PropertyStore ps) {
- super(ps);
- this.expandedParams = ps.getProperty(URLENC_expandedParams, boolean.class, false);
- }
-
- @Override /* Context */
- public ObjectMap asMap() {
- return super.asMap()
- .append("UrlEncodingParserContext", new ObjectMap()
- .append("expandedParams", expandedParams)
- );
- }
-}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index 66bc1e5..b843046 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -44,10 +44,9 @@ public class UrlEncodingParserSession extends UonParserSession {
* @param args
* Runtime session arguments.
*/
- protected UrlEncodingParserSession(UrlEncodingParserContext ctx, ParserSessionArgs args) {
+ protected UrlEncodingParserSession(UrlEncodingParser ctx, ParserSessionArgs args) {
super(ctx, args);
- ObjectMap p = getProperties();
- expandedParams = p.getBoolean(URLENC_expandedParams, ctx.expandedParams);
+ expandedParams = getProperty(URLENC_expandedParams, boolean.class, ctx.expandedParams);
}
@Override /* Session */
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index 22e5c66..399c935 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -154,7 +154,7 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
* is added to it.
* </ul>
*/
- public static final String URLENC_expandedParams = PREFIX + "expandedParams";
+ public static final String URLENC_expandedParams = PREFIX + "expandedParams.b";
//-------------------------------------------------------------------------------------------------------------------
@@ -162,16 +162,16 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
//-------------------------------------------------------------------------------------------------------------------
/** Reusable instance of {@link UrlEncodingSerializer}, all default settings. */
- public static final UrlEncodingSerializer DEFAULT = new UrlEncodingSerializer(PropertyStore.create());
+ public static final UrlEncodingSerializer DEFAULT = new UrlEncodingSerializer(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UrlEncodingSerializer.PlainText}. */
- public static final UrlEncodingSerializer DEFAULT_PLAINTEXT = new PlainText(PropertyStore.create());
+ public static final UrlEncodingSerializer DEFAULT_PLAINTEXT = new PlainText(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UrlEncodingSerializer.Expanded}. */
- public static final UrlEncodingSerializer DEFAULT_EXPANDED = new Expanded(PropertyStore.create());
+ public static final UrlEncodingSerializer DEFAULT_EXPANDED = new Expanded(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UrlEncodingSerializer.Readable}. */
- public static final UrlEncodingSerializer DEFAULT_READABLE = new Readable(PropertyStore.create());
+ public static final UrlEncodingSerializer DEFAULT_READABLE = new Readable(PropertyStore2.DEFAULT);
//-------------------------------------------------------------------------------------------------------------------
@@ -186,10 +186,10 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public Expanded(PropertyStore propertyStore) {
- super(propertyStore.copy().append(URLENC_expandedParams, true));
+ public Expanded(PropertyStore2 ps) {
+ super(ps.builder().set(URLENC_expandedParams, true).build());
}
}
@@ -201,10 +201,10 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public Readable(PropertyStore propertyStore) {
- super(propertyStore.copy().append(SERIALIZER_useWhitespace, true));
+ public Readable(PropertyStore2 ps) {
+ super(ps.builder().set(SERIALIZER_useWhitespace, true).build());
}
}
@@ -216,10 +216,10 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
/**
* Constructor.
*
- * @param propertyStore The property store containing all the settings for this object.
+ * @param ps The property store containing all the settings for this object.
*/
- public PlainText(PropertyStore propertyStore) {
- super(propertyStore.copy().append(UON_paramFormat, "PLAINTEXT"));
+ public PlainText(PropertyStore2 ps) {
+ super(ps.builder().set(UON_paramFormat, "PLAINTEXT").build());
}
}
@@ -228,22 +228,23 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
// Instance
//-------------------------------------------------------------------------------------------------------------------
- private final UrlEncodingSerializerContext ctx;
+ final boolean
+ expandedParams;
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
*/
- public UrlEncodingSerializer(PropertyStore propertyStore) {
- this(propertyStore, "application/x-www-form-urlencoded");
+ public UrlEncodingSerializer(PropertyStore2 ps) {
+ this(ps, "application/x-www-form-urlencoded");
}
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
* @param produces
* The media type that this serializer produces.
@@ -261,14 +262,20 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
* <br>...or...
* <br><code><jk>super</jk>(propertyStore, <js>"application/json"</js>, <js>"*​/json"</js>);</code>
*/
- public UrlEncodingSerializer(PropertyStore propertyStore, String produces, String...accept) {
- super(propertyStore.copy().append(UON_encodeChars, true), produces, accept);
- this.ctx = createContext(UrlEncodingSerializerContext.class);
+ public UrlEncodingSerializer(PropertyStore2 ps, String produces, String...accept) {
+ super(
+ ps.builder()
+ .set(UON_encodeChars, true)
+ .build(),
+ produces,
+ accept
+ );
+ expandedParams = getProperty(URLENC_expandedParams, boolean.class, false);
}
@Override /* CoreObject */
public UrlEncodingSerializerBuilder builder() {
- return new UrlEncodingSerializerBuilder(propertyStore);
+ return new UrlEncodingSerializerBuilder(getPropertyStore());
}
/**
@@ -311,20 +318,20 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
private String serializePart(Object o, Boolean urlEncode, Boolean plainTextParams) {
try {
// Shortcut for simple types.
- ClassMeta<?> cm = getBeanContext().getClassMetaForObject(o);
+ ClassMeta<?> cm = getClassMetaForObject(o);
if (cm != null) {
if (cm.isNumber() || cm.isBoolean())
return o.toString();
if (cm.isCharSequence()) {
String s = o.toString();
- boolean ptt = (plainTextParams != null ? plainTextParams : ctx.getParamFormat() == ParamFormat.PLAINTEXT);
+ boolean ptt = (plainTextParams != null ? plainTextParams : getParamFormat() == ParamFormat.PLAINTEXT);
if (ptt || s.isEmpty() || ! UonUtils.needsQuotes(s))
return (urlEncode ? urlEncode(s) : s);
}
}
StringWriter w = new StringWriter();
- UonSerializerSession s = new UonSerializerSession(ctx, urlEncode, createDefaultSessionArgs());
+ UonSerializerSession s = new UonSerializerSession(this, urlEncode, createDefaultSessionArgs());
s.serialize(o, w);
return w.toString();
} catch (Exception e) {
@@ -339,7 +346,7 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
@Override /* Serializer */
public WriterSerializerSession createSession(SerializerSessionArgs args) {
- return new UrlEncodingSerializerSession(ctx, null, args);
+ return new UrlEncodingSerializerSession(this, null, args);
}
@Override /* PartSerializer */
@@ -352,4 +359,12 @@ public class UrlEncodingSerializer extends UonSerializer implements PartSerializ
default: return toString(value);
}
}
+
+ @Override /* Context */
+ public ObjectMap asMap() {
+ return super.asMap()
+ .append("UrlEncodingSerializer", new ObjectMap()
+ .append("expandedParams", expandedParams)
+ );
+ }
}