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:47 UTC
[06/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/serializer/SerializerGroupBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index b744cf9..33b4ab0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -20,6 +20,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.http.*;
+import org.apache.juneau.internal.*;
/**
* Builder class for creating instances of {@link SerializerGroup}.
@@ -27,14 +28,14 @@ import org.apache.juneau.http.*;
public class SerializerGroupBuilder {
private final List<Object> serializers;
- private final PropertyStore propertyStore;
+ private final PropertyStoreBuilder propertyStore;
/**
* Create an empty serializer group builder.
*/
public SerializerGroupBuilder() {
this.serializers = new ArrayList<>();
- this.propertyStore = PropertyStore.create();
+ this.propertyStore = PropertyStore2.create();
}
/**
@@ -45,7 +46,7 @@ public class SerializerGroupBuilder {
*
* @param propertyStore The property store containing all settings common to all serializers in this group.
*/
- public SerializerGroupBuilder(PropertyStore propertyStore) {
+ public SerializerGroupBuilder(PropertyStoreBuilder propertyStore) {
this.serializers = new ArrayList<>();
this.propertyStore = propertyStore;
}
@@ -58,7 +59,7 @@ public class SerializerGroupBuilder {
public SerializerGroupBuilder(SerializerGroup copyFrom) {
this.serializers = new ArrayList<>();
addReverse(serializers, copyFrom.getSerializers());
- this.propertyStore = copyFrom.createPropertyStore();
+ this.propertyStore = copyFrom.getPropertyStore().builder();
}
/**
@@ -102,24 +103,24 @@ public class SerializerGroupBuilder {
*
* @return A new {@link SerializerGroup} object.
*/
+ @SuppressWarnings("unchecked")
public SerializerGroup build() {
List<Serializer> l = new ArrayList<>();
for (Object s : serializers) {
- Class<?> c = null;
- PropertyStore ps = propertyStore;
+ Class<? extends Serializer> c = null;
+ PropertyStore2 ps = propertyStore.build();
if (s instanceof Class) {
- c = (Class<?>)s;
+ c = (Class<? extends Serializer>)s;
} else {
// Note that if we added a serializer instance, we want a new instance with this builder's properties
// on top of the previous serializer's properties.
Serializer s2 = (Serializer)s;
- ps = s2.createPropertyStore().copyFrom(propertyStore);
+ ps = s2.getPropertyStore().builder().apply(ps).build();
c = s2.getClass();
}
- l.add(propertyStore.getBeanContext().newInstance(Serializer.class, c, ps));
+ l.add(ContextCache.INSTANCE.create(c, ps));
}
- Collections.reverse(l);
- return new SerializerGroup(propertyStore, l.toArray(new Serializer[l.size()]));
+ return new SerializerGroup(propertyStore.build(), ArrayUtils.toReverseArray(Serializer.class, l));
}
@@ -133,10 +134,10 @@ public class SerializerGroupBuilder {
* @param name The property name.
* @param value The property value.
* @return This object (for method chaining).
- * @see PropertyStore#setProperty(String, Object)
+ * @see PropertyStoreBuilder#set(String, Object)
*/
- public SerializerGroupBuilder property(String name, Object value) {
- propertyStore.setProperty(name, value);
+ public SerializerGroupBuilder set(String name, Object value) {
+ propertyStore.set(name, value);
return this;
}
@@ -145,50 +146,49 @@ public class SerializerGroupBuilder {
*
* @param properties The properties to set on this class.
* @return This object (for method chaining).
- * @see PropertyStore#setProperties(java.util.Map)
+ * @see PropertyStoreBuilder#set(java.util.Map)
*/
- public SerializerGroupBuilder properties(ObjectMap properties) {
- propertyStore.setProperties(properties);
+ public SerializerGroupBuilder set(ObjectMap properties) {
+ propertyStore.set(properties);
return this;
}
/**
- * Adds a value to a SET property on all serializers in this group.
+ * Appends a set of properties on all serializers in this group.
*
- * @param name The property name.
- * @param value The new value to add to the SET property.
+ * @param properties The properties to append on this class.
* @return This object (for method chaining).
- * @throws ConfigException If property is not a SET property.
+ * @see PropertyStoreBuilder#add(java.util.Map)
*/
- public SerializerGroupBuilder addToProperty(String name, Object value) {
- propertyStore.addToProperty(name, value);
+ public SerializerGroupBuilder add(ObjectMap properties) {
+ propertyStore.add(properties);
return this;
}
/**
- * Adds or overwrites a value to a MAP property on all serializers in this group.
+ * Adds a value to a SET/LIST property on all serializers in this group.
*
* @param name The property name.
- * @param key The property value map key.
- * @param value The property value map value.
+ * @param value The new value to add to the SET property.
* @return This object (for method chaining).
- * @throws ConfigException If property is not a MAP property.
+ * @throws ConfigException If property is not a SET property.
*/
- public SerializerGroupBuilder putToProperty(String name, Object key, Object value) {
- propertyStore.putToProperty(name, key, value);
+ public SerializerGroupBuilder addTo(String name, Object value) {
+ propertyStore.addTo(name, value);
return this;
}
/**
- * Adds or overwrites a value to a MAP property on all serializers in this group.
+ * Adds or overwrites a value to a SET/LIST/MAP property on all serializers in this group.
*
- * @param name The property value.
+ * @param name The property name.
+ * @param key The property value map key.
* @param value The property value map value.
* @return This object (for method chaining).
* @throws ConfigException If property is not a MAP property.
*/
- public SerializerGroupBuilder putToProperty(String name, Object value) {
- propertyStore.putToProperty(name, value);
+ public SerializerGroupBuilder addTo(String name, String key, Object value) {
+ propertyStore.addTo(name, key, value);
return this;
}
@@ -200,8 +200,8 @@ public class SerializerGroupBuilder {
* @return This object (for method chaining).
* @throws ConfigException If property is not a SET property.
*/
- public SerializerGroupBuilder removeFromProperty(String name, Object value) {
- propertyStore.removeFromProperty(name, value);
+ public SerializerGroupBuilder removeFrom(String name, Object value) {
+ propertyStore.removeFrom(name, value);
return this;
}
@@ -213,7 +213,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_maxDepth
*/
public SerializerGroupBuilder maxDepth(int value) {
- return property(SERIALIZER_maxDepth, value);
+ return set(SERIALIZER_maxDepth, value);
}
/**
@@ -224,7 +224,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_initialDepth
*/
public SerializerGroupBuilder initialDepth(int value) {
- return property(SERIALIZER_initialDepth, value);
+ return set(SERIALIZER_initialDepth, value);
}
/**
@@ -235,7 +235,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_detectRecursions
*/
public SerializerGroupBuilder detectRecursions(boolean value) {
- return property(SERIALIZER_detectRecursions, value);
+ return set(SERIALIZER_detectRecursions, value);
}
/**
@@ -246,7 +246,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_ignoreRecursions
*/
public SerializerGroupBuilder ignoreRecursions(boolean value) {
- return property(SERIALIZER_ignoreRecursions, value);
+ return set(SERIALIZER_ignoreRecursions, value);
}
/**
@@ -257,7 +257,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_useWhitespace
*/
public SerializerGroupBuilder useWhitespace(boolean value) {
- return property(SERIALIZER_useWhitespace, value);
+ return set(SERIALIZER_useWhitespace, value);
}
/**
@@ -277,7 +277,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_maxIndent
*/
public SerializerGroupBuilder maxIndent(boolean value) {
- return property(SERIALIZER_maxIndent, value);
+ return set(SERIALIZER_maxIndent, value);
}
/**
@@ -288,7 +288,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_addBeanTypeProperties
*/
public SerializerGroupBuilder addBeanTypeProperties(boolean value) {
- return property(SERIALIZER_addBeanTypeProperties, value);
+ return set(SERIALIZER_addBeanTypeProperties, value);
}
/**
@@ -299,7 +299,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_quoteChar
*/
public SerializerGroupBuilder quoteChar(char value) {
- return property(SERIALIZER_quoteChar, value);
+ return set(SERIALIZER_quoteChar, value);
}
/**
@@ -319,7 +319,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_trimNullProperties
*/
public SerializerGroupBuilder trimNullProperties(boolean value) {
- return property(SERIALIZER_trimNullProperties, value);
+ return set(SERIALIZER_trimNullProperties, value);
}
/**
@@ -330,7 +330,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_trimEmptyCollections
*/
public SerializerGroupBuilder trimEmptyCollections(boolean value) {
- return property(SERIALIZER_trimEmptyCollections, value);
+ return set(SERIALIZER_trimEmptyCollections, value);
}
/**
@@ -341,7 +341,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_trimEmptyMaps
*/
public SerializerGroupBuilder trimEmptyMaps(boolean value) {
- return property(SERIALIZER_trimEmptyMaps, value);
+ return set(SERIALIZER_trimEmptyMaps, value);
}
/**
@@ -352,7 +352,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_trimStrings
*/
public SerializerGroupBuilder trimStrings(boolean value) {
- return property(SERIALIZER_trimStrings, value);
+ return set(SERIALIZER_trimStrings, value);
}
/**
@@ -363,7 +363,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_uriContext
*/
public SerializerGroupBuilder uriContext(UriContext value) {
- return property(SERIALIZER_uriContext, value);
+ return set(SERIALIZER_uriContext, value);
}
/**
@@ -374,7 +374,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_uriResolution
*/
public SerializerGroupBuilder uriResolution(UriResolution value) {
- return property(SERIALIZER_uriResolution, value);
+ return set(SERIALIZER_uriResolution, value);
}
/**
@@ -385,7 +385,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_uriRelativity
*/
public SerializerGroupBuilder uriRelativity(UriRelativity value) {
- return property(SERIALIZER_uriRelativity, value);
+ return set(SERIALIZER_uriRelativity, value);
}
/**
@@ -396,7 +396,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_sortCollections
*/
public SerializerGroupBuilder sortCollections(boolean value) {
- return property(SERIALIZER_sortCollections, value);
+ return set(SERIALIZER_sortCollections, value);
}
/**
@@ -407,7 +407,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_sortMaps
*/
public SerializerGroupBuilder sortMaps(boolean value) {
- return property(SERIALIZER_sortMaps, value);
+ return set(SERIALIZER_sortMaps, value);
}
/**
@@ -418,7 +418,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_abridged
*/
public SerializerGroupBuilder abridged(boolean value) {
- return property(SERIALIZER_abridged, value);
+ return set(SERIALIZER_abridged, value);
}
/**
@@ -429,7 +429,7 @@ public class SerializerGroupBuilder {
* @see Serializer#SERIALIZER_listener
*/
public SerializerGroupBuilder listener(Class<? extends SerializerListener> value) {
- return property(SERIALIZER_listener, value);
+ return set(SERIALIZER_listener, value);
}
/**
@@ -440,7 +440,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beansRequireDefaultConstructor
*/
public SerializerGroupBuilder beansRequireDefaultConstructor(boolean value) {
- return property(BEAN_beansRequireDefaultConstructor, value);
+ return set(BEAN_beansRequireDefaultConstructor, value);
}
/**
@@ -451,7 +451,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beansRequireSerializable
*/
public SerializerGroupBuilder beansRequireSerializable(boolean value) {
- return property(BEAN_beansRequireSerializable, value);
+ return set(BEAN_beansRequireSerializable, value);
}
/**
@@ -462,7 +462,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beansRequireSettersForGetters
*/
public SerializerGroupBuilder beansRequireSettersForGetters(boolean value) {
- return property(BEAN_beansRequireSettersForGetters, value);
+ return set(BEAN_beansRequireSettersForGetters, value);
}
/**
@@ -473,7 +473,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beansRequireSomeProperties
*/
public SerializerGroupBuilder beansRequireSomeProperties(boolean value) {
- return property(BEAN_beansRequireSomeProperties, value);
+ return set(BEAN_beansRequireSomeProperties, value);
}
/**
@@ -484,7 +484,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanMapPutReturnsOldValue
*/
public SerializerGroupBuilder beanMapPutReturnsOldValue(boolean value) {
- return property(BEAN_beanMapPutReturnsOldValue, value);
+ return set(BEAN_beanMapPutReturnsOldValue, value);
}
/**
@@ -495,7 +495,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanConstructorVisibility
*/
public SerializerGroupBuilder beanConstructorVisibility(Visibility value) {
- return property(BEAN_beanConstructorVisibility, value);
+ return set(BEAN_beanConstructorVisibility, value);
}
/**
@@ -506,7 +506,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanClassVisibility
*/
public SerializerGroupBuilder beanClassVisibility(Visibility value) {
- return property(BEAN_beanClassVisibility, value);
+ return set(BEAN_beanClassVisibility, value);
}
/**
@@ -517,7 +517,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFieldVisibility
*/
public SerializerGroupBuilder beanFieldVisibility(Visibility value) {
- return property(BEAN_beanFieldVisibility, value);
+ return set(BEAN_beanFieldVisibility, value);
}
/**
@@ -528,7 +528,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_methodVisibility
*/
public SerializerGroupBuilder methodVisibility(Visibility value) {
- return property(BEAN_methodVisibility, value);
+ return set(BEAN_methodVisibility, value);
}
/**
@@ -539,7 +539,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_useJavaBeanIntrospector
*/
public SerializerGroupBuilder useJavaBeanIntrospector(boolean value) {
- return property(BEAN_useJavaBeanIntrospector, value);
+ return set(BEAN_useJavaBeanIntrospector, value);
}
/**
@@ -550,7 +550,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_useInterfaceProxies
*/
public SerializerGroupBuilder useInterfaceProxies(boolean value) {
- return property(BEAN_useInterfaceProxies, value);
+ return set(BEAN_useInterfaceProxies, value);
}
/**
@@ -561,7 +561,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_ignoreUnknownBeanProperties
*/
public SerializerGroupBuilder ignoreUnknownBeanProperties(boolean value) {
- return property(BEAN_ignoreUnknownBeanProperties, value);
+ return set(BEAN_ignoreUnknownBeanProperties, value);
}
/**
@@ -572,7 +572,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_ignoreUnknownNullBeanProperties
*/
public SerializerGroupBuilder ignoreUnknownNullBeanProperties(boolean value) {
- return property(BEAN_ignoreUnknownNullBeanProperties, value);
+ return set(BEAN_ignoreUnknownNullBeanProperties, value);
}
/**
@@ -583,7 +583,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_ignorePropertiesWithoutSetters
*/
public SerializerGroupBuilder ignorePropertiesWithoutSetters(boolean value) {
- return property(BEAN_ignorePropertiesWithoutSetters, value);
+ return set(BEAN_ignorePropertiesWithoutSetters, value);
}
/**
@@ -594,7 +594,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_ignoreInvocationExceptionsOnGetters
*/
public SerializerGroupBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
- return property(BEAN_ignoreInvocationExceptionsOnGetters, value);
+ return set(BEAN_ignoreInvocationExceptionsOnGetters, value);
}
/**
@@ -605,7 +605,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_ignoreInvocationExceptionsOnSetters
*/
public SerializerGroupBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
- return property(BEAN_ignoreInvocationExceptionsOnSetters, value);
+ return set(BEAN_ignoreInvocationExceptionsOnSetters, value);
}
/**
@@ -616,7 +616,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_sortProperties
*/
public SerializerGroupBuilder sortProperties(boolean value) {
- return property(BEAN_sortProperties, value);
+ return set(BEAN_sortProperties, value);
}
/**
@@ -627,7 +627,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages_add
*/
public SerializerGroupBuilder notBeanPackages(String...values) {
- return property(BEAN_notBeanPackages_add, values);
+ return set(BEAN_notBeanPackages_add, values);
}
/**
@@ -638,7 +638,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages_add
*/
public SerializerGroupBuilder notBeanPackages(Collection<String> value) {
- return property(BEAN_notBeanPackages_add, value);
+ return set(BEAN_notBeanPackages_add, value);
}
/**
@@ -649,7 +649,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages
*/
public SerializerGroupBuilder setNotBeanPackages(String...values) {
- return property(BEAN_notBeanPackages, values);
+ return set(BEAN_notBeanPackages, values);
}
/**
@@ -660,7 +660,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages
*/
public SerializerGroupBuilder setNotBeanPackages(Collection<String> values) {
- return property(BEAN_notBeanPackages, values);
+ return set(BEAN_notBeanPackages, values);
}
/**
@@ -671,7 +671,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages_remove
*/
public SerializerGroupBuilder removeNotBeanPackages(String...values) {
- return property(BEAN_notBeanPackages_remove, values);
+ return set(BEAN_notBeanPackages_remove, values);
}
/**
@@ -682,7 +682,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages_remove
*/
public SerializerGroupBuilder removeNotBeanPackages(Collection<String> values) {
- return property(BEAN_notBeanPackages_remove, values);
+ return set(BEAN_notBeanPackages_remove, values);
}
/**
@@ -693,7 +693,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanClasses_add
*/
public SerializerGroupBuilder notBeanClasses(Class<?>...values) {
- return property(BEAN_notBeanClasses_add, values);
+ return set(BEAN_notBeanClasses_add, values);
}
/**
@@ -704,7 +704,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanPackages_add
*/
public SerializerGroupBuilder notBeanClasses(Collection<Class<?>> values) {
- return property(BEAN_notBeanClasses_add, values);
+ return set(BEAN_notBeanClasses_add, values);
}
/**
@@ -715,7 +715,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanClasses
*/
public SerializerGroupBuilder setNotBeanClasses(Class<?>...values) {
- return property(BEAN_notBeanClasses, values);
+ return set(BEAN_notBeanClasses, values);
}
/**
@@ -726,7 +726,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanClasses
*/
public SerializerGroupBuilder setNotBeanClasses(Collection<Class<?>> values) {
- return property(BEAN_notBeanClasses, values);
+ return set(BEAN_notBeanClasses, values);
}
/**
@@ -737,7 +737,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanClasses_remove
*/
public SerializerGroupBuilder removeNotBeanClasses(Class<?>...values) {
- return property(BEAN_notBeanClasses_remove, values);
+ return set(BEAN_notBeanClasses_remove, values);
}
/**
@@ -748,7 +748,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_notBeanClasses_remove
*/
public SerializerGroupBuilder removeNotBeanClasses(Collection<Class<?>> values) {
- return property(BEAN_notBeanClasses_remove, values);
+ return set(BEAN_notBeanClasses_remove, values);
}
/**
@@ -759,7 +759,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters_add
*/
public SerializerGroupBuilder beanFilters(Class<?>...values) {
- return property(BEAN_beanFilters_add, values);
+ return set(BEAN_beanFilters_add, values);
}
/**
@@ -770,7 +770,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters_add
*/
public SerializerGroupBuilder beanFilters(Collection<Class<?>> values) {
- return property(BEAN_beanFilters_add, values);
+ return set(BEAN_beanFilters_add, values);
}
/**
@@ -781,7 +781,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters
*/
public SerializerGroupBuilder setBeanFilters(Class<?>...values) {
- return property(BEAN_beanFilters, values);
+ return set(BEAN_beanFilters, values);
}
/**
@@ -792,7 +792,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters
*/
public SerializerGroupBuilder setBeanFilters(Collection<Class<?>> values) {
- return property(BEAN_beanFilters, values);
+ return set(BEAN_beanFilters, values);
}
/**
@@ -803,7 +803,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters_remove
*/
public SerializerGroupBuilder removeBeanFilters(Class<?>...values) {
- return property(BEAN_beanFilters_remove, values);
+ return set(BEAN_beanFilters_remove, values);
}
/**
@@ -814,7 +814,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanFilters_remove
*/
public SerializerGroupBuilder removeBeanFilters(Collection<Class<?>> values) {
- return property(BEAN_beanFilters_remove, values);
+ return set(BEAN_beanFilters_remove, values);
}
/**
@@ -825,7 +825,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps_add
*/
public SerializerGroupBuilder pojoSwaps(Class<?>...values) {
- return property(BEAN_pojoSwaps_add, values);
+ return set(BEAN_pojoSwaps_add, values);
}
/**
@@ -836,7 +836,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps_add
*/
public SerializerGroupBuilder pojoSwaps(Collection<Class<?>> values) {
- return property(BEAN_pojoSwaps_add, values);
+ return set(BEAN_pojoSwaps_add, values);
}
/**
@@ -847,7 +847,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps
*/
public SerializerGroupBuilder setPojoSwaps(Class<?>...values) {
- return property(BEAN_pojoSwaps, values);
+ return set(BEAN_pojoSwaps, values);
}
/**
@@ -858,7 +858,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps
*/
public SerializerGroupBuilder setPojoSwaps(Collection<Class<?>> values) {
- return property(BEAN_pojoSwaps, values);
+ return set(BEAN_pojoSwaps, values);
}
/**
@@ -869,7 +869,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps_remove
*/
public SerializerGroupBuilder removePojoSwaps(Class<?>...values) {
- return property(BEAN_pojoSwaps_remove, values);
+ return set(BEAN_pojoSwaps_remove, values);
}
/**
@@ -880,7 +880,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_pojoSwaps_remove
*/
public SerializerGroupBuilder removePojoSwaps(Collection<Class<?>> values) {
- return property(BEAN_pojoSwaps_remove, values);
+ return set(BEAN_pojoSwaps_remove, values);
}
/**
@@ -890,22 +890,21 @@ public class SerializerGroupBuilder {
* @return This object (for method chaining).
* @see BeanContext#BEAN_implClasses
*/
- public SerializerGroupBuilder implClasses(Map<Class<?>,Class<?>> values) {
- return property(BEAN_implClasses, values);
+ public SerializerGroupBuilder implClasses(Map<String,Class<?>> values) {
+ return set(BEAN_implClasses, values);
}
/**
- * Sets the {@link BeanContext#BEAN_implClasses_put} property on all serializers in this group.
+ * Sets the {@link BeanContext#BEAN_implClasses} property on all serializers in this group.
*
* @param interfaceClass The interface class.
* @param implClass The implementation class.
* @param <T> The class type of the interface.
* @return This object (for method chaining).
* @see BeanContext#BEAN_implClasses
- * @see BeanContext#BEAN_implClasses_put
*/
public <T> SerializerGroupBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
- return putToProperty(BEAN_implClasses, interfaceClass, implClass);
+ return addTo(BEAN_implClasses, interfaceClass.getName(), implClass);
}
/**
@@ -916,33 +915,31 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_includeProperties
*/
public SerializerGroupBuilder includeProperties(Map<String,String> values) {
- return property(BEAN_includeProperties, values);
+ return set(BEAN_includeProperties, values);
}
/**
- * Sets the {@link BeanContext#BEAN_includeProperties_put} property on all serializers in this group.
+ * Sets the {@link BeanContext#BEAN_includeProperties} property on all serializers in this group.
*
* @param beanClassName The bean class name. Can be a simple name, fully-qualified name, or <js>"*"</js>.
* @param properties Comma-delimited list of property names.
* @return This object (for method chaining).
* @see BeanContext#BEAN_includeProperties
- * @see BeanContext#BEAN_includeProperties_put
*/
public SerializerGroupBuilder includeProperties(String beanClassName, String properties) {
- return putToProperty(BEAN_includeProperties, beanClassName, properties);
+ return addTo(BEAN_includeProperties, beanClassName, properties);
}
/**
- * Sets the {@link BeanContext#BEAN_includeProperties_put} property on all serializers in this group.
+ * Sets the {@link BeanContext#BEAN_includeProperties} property on all serializers in this group.
*
* @param beanClass The bean class.
* @param properties Comma-delimited list of property names.
* @return This object (for method chaining).
* @see BeanContext#BEAN_includeProperties
- * @see BeanContext#BEAN_includeProperties_put
*/
public SerializerGroupBuilder includeProperties(Class<?> beanClass, String properties) {
- return putToProperty(BEAN_includeProperties, beanClass.getName(), properties);
+ return addTo(BEAN_includeProperties, beanClass.getName(), properties);
}
/**
@@ -953,33 +950,31 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_excludeProperties
*/
public SerializerGroupBuilder excludeProperties(Map<String,String> values) {
- return property(BEAN_excludeProperties, values);
+ return set(BEAN_excludeProperties, values);
}
/**
- * Sets the {@link BeanContext#BEAN_excludeProperties_put} property on all serializers in this group.
+ * Sets the {@link BeanContext#BEAN_excludeProperties} property on all serializers in this group.
*
* @param beanClassName The bean class name. Can be a simple name, fully-qualified name, or <js>"*"</js>.
* @param properties Comma-delimited list of property names.
* @return This object (for method chaining).
* @see BeanContext#BEAN_excludeProperties
- * @see BeanContext#BEAN_excludeProperties_put
*/
public SerializerGroupBuilder excludeProperties(String beanClassName, String properties) {
- return putToProperty(BEAN_excludeProperties, beanClassName, properties);
+ return addTo(BEAN_excludeProperties, beanClassName, properties);
}
/**
- * Sets the {@link BeanContext#BEAN_excludeProperties_put} property on all serializers in this group.
+ * Sets the {@link BeanContext#BEAN_excludeProperties} property on all serializers in this group.
*
* @param beanClass The bean class.
* @param properties Comma-delimited list of property names.
* @return This object (for method chaining).
* @see BeanContext#BEAN_excludeProperties
- * @see BeanContext#BEAN_excludeProperties_put
*/
public SerializerGroupBuilder excludeProperties(Class<?> beanClass, String properties) {
- return putToProperty(BEAN_excludeProperties, beanClass.getName(), properties);
+ return addTo(BEAN_excludeProperties, beanClass.getName(), properties);
}
/**
@@ -990,7 +985,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary_add
*/
public SerializerGroupBuilder beanDictionary(Class<?>...values) {
- return property(BEAN_beanDictionary_add, values);
+ return set(BEAN_beanDictionary_add, values);
}
/**
@@ -1001,7 +996,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary_add
*/
public SerializerGroupBuilder beanDictionary(Collection<Class<?>> values) {
- return property(BEAN_beanDictionary_add, values);
+ return set(BEAN_beanDictionary_add, values);
}
/**
@@ -1012,7 +1007,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary
*/
public SerializerGroupBuilder setBeanDictionary(Class<?>...values) {
- return property(BEAN_beanDictionary, values);
+ return set(BEAN_beanDictionary, values);
}
/**
@@ -1023,7 +1018,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary
*/
public SerializerGroupBuilder setBeanDictionary(Collection<Class<?>> values) {
- return property(BEAN_beanDictionary, values);
+ return set(BEAN_beanDictionary, values);
}
/**
@@ -1034,7 +1029,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary_remove
*/
public SerializerGroupBuilder removeFromBeanDictionary(Class<?>...values) {
- return property(BEAN_beanDictionary_remove, values);
+ return set(BEAN_beanDictionary_remove, values);
}
/**
@@ -1045,7 +1040,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanDictionary_remove
*/
public SerializerGroupBuilder removeFromBeanDictionary(Collection<Class<?>> values) {
- return property(BEAN_beanDictionary_remove, values);
+ return set(BEAN_beanDictionary_remove, values);
}
/**
@@ -1056,7 +1051,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_beanTypePropertyName
*/
public SerializerGroupBuilder beanTypePropertyName(String value) {
- return property(BEAN_beanTypePropertyName, value);
+ return set(BEAN_beanTypePropertyName, value);
}
/**
@@ -1067,7 +1062,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_defaultParser
*/
public SerializerGroupBuilder defaultParser(Class<?> value) {
- return property(BEAN_defaultParser, value);
+ return set(BEAN_defaultParser, value);
}
/**
@@ -1078,7 +1073,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_locale
*/
public SerializerGroupBuilder locale(Locale value) {
- return property(BEAN_locale, value);
+ return set(BEAN_locale, value);
}
/**
@@ -1089,7 +1084,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_timeZone
*/
public SerializerGroupBuilder timeZone(TimeZone value) {
- return property(BEAN_timeZone, value);
+ return set(BEAN_timeZone, value);
}
/**
@@ -1100,7 +1095,7 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_mediaType
*/
public SerializerGroupBuilder mediaType(MediaType value) {
- return property(BEAN_mediaType, value);
+ return set(BEAN_mediaType, value);
}
/**
@@ -1110,25 +1105,6 @@ public class SerializerGroupBuilder {
* @see BeanContext#BEAN_debug
*/
public SerializerGroupBuilder debug() {
- return property(BEAN_debug, true);
- }
-
- /**
- * Specifies the classloader to use when resolving classes from strings for all serializers in this group.
- *
- * <p>
- * Can be used for resolving class names when the classes being created are in a different classloader from the
- * Juneau code.
- *
- * <p>
- * If <jk>null</jk>, the system classloader will be used to resolve classes.
- *
- * @param classLoader The new classloader.
- * @return This object (for method chaining).
- * @see PropertyStore#setClassLoader(ClassLoader)
- */
- public SerializerGroupBuilder classLoader(ClassLoader classLoader) {
- propertyStore.setClassLoader(classLoader);
- return this;
+ return set(BEAN_debug, true);
}
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index 6495128..f8d740a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -92,33 +92,31 @@ public abstract class SerializerSession extends BeanSession {
* It also include session-level properties that override the properties defined on the bean and
* serializer contexts.
*/
- protected SerializerSession(SerializerContext ctx, SerializerSessionArgs args) {
- super(ctx != null ? ctx : SerializerContext.DEFAULT, args);
- if (ctx == null)
- ctx = SerializerContext.DEFAULT;
+ protected SerializerSession(Serializer ctx, SerializerSessionArgs args) {
+ super(ctx, args);
this.javaMethod = args.javaMethod;
UriResolution uriResolution;
UriRelativity uriRelativity;
Class<?> listenerClass;
- ObjectMap p = getProperties();
- maxDepth = p.getInt(SERIALIZER_maxDepth, ctx.maxDepth);
- initialDepth = p.getInt(SERIALIZER_initialDepth, ctx.initialDepth);
- detectRecursions = p.getBoolean(SERIALIZER_detectRecursions, ctx.detectRecursions);
- ignoreRecursions = p.getBoolean(SERIALIZER_ignoreRecursions, ctx.ignoreRecursions);
- useWhitespace = p.getBoolean(SERIALIZER_useWhitespace, ctx.useWhitespace);
- maxIndent = p.getInt(SERIALIZER_maxIndent, ctx.maxIndent);
- addBeanTypeProperties = p.getBoolean(SERIALIZER_addBeanTypeProperties, ctx.addBeanTypeProperties);
- trimNulls = p.getBoolean(SERIALIZER_trimNullProperties, ctx.trimNulls);
- trimEmptyCollections = p.getBoolean(SERIALIZER_trimEmptyCollections, ctx.trimEmptyCollections);
- trimEmptyMaps = p.getBoolean(SERIALIZER_trimEmptyMaps, ctx.trimEmptyMaps);
- trimStrings = p.getBoolean(SERIALIZER_trimStrings, ctx.trimStrings);
- quoteChar = p.getString(SERIALIZER_quoteChar, ""+ctx.quoteChar).charAt(0);
- sortCollections = p.getBoolean(SERIALIZER_sortCollections, ctx.sortMaps);
- sortMaps = p.getBoolean(SERIALIZER_sortMaps, ctx.sortMaps);
- abridged = p.getBoolean(SERIALIZER_abridged, ctx.abridged);
- uriResolution = p.getWithDefault(SERIALIZER_uriResolution, ctx.uriResolution, UriResolution.class);
- uriRelativity = p.getWithDefault(SERIALIZER_uriRelativity, ctx.uriRelativity, UriRelativity.class);
- listenerClass = p.getWithDefault(SERIALIZER_listener, ctx.listener, Class.class);
+
+ maxDepth = getProperty(SERIALIZER_maxDepth, int.class, ctx.maxDepth);
+ initialDepth = getProperty(SERIALIZER_initialDepth, int.class, ctx.initialDepth);
+ detectRecursions = getProperty(SERIALIZER_detectRecursions, boolean.class, ctx.detectRecursions);
+ ignoreRecursions = getProperty(SERIALIZER_ignoreRecursions, boolean.class, ctx.ignoreRecursions);
+ useWhitespace = getProperty(SERIALIZER_useWhitespace, boolean.class, ctx.useWhitespace);
+ maxIndent = getProperty(SERIALIZER_maxIndent, int.class, ctx.maxIndent);
+ addBeanTypeProperties = getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, ctx.addBeanTypeProperties);
+ trimNulls = getProperty(SERIALIZER_trimNullProperties, boolean.class, ctx.trimNulls);
+ trimEmptyCollections = getProperty(SERIALIZER_trimEmptyCollections, boolean.class, ctx.trimEmptyCollections);
+ trimEmptyMaps = getProperty(SERIALIZER_trimEmptyMaps, boolean.class, ctx.trimEmptyMaps);
+ trimStrings = getProperty(SERIALIZER_trimStrings, boolean.class, ctx.trimStrings);
+ quoteChar = getProperty(SERIALIZER_quoteChar, String.class, ""+ctx.quoteChar).charAt(0);
+ sortCollections = getProperty(SERIALIZER_sortCollections, boolean.class, ctx.sortMaps);
+ sortMaps = getProperty(SERIALIZER_sortMaps, boolean.class, ctx.sortMaps);
+ abridged = getProperty(SERIALIZER_abridged, boolean.class, ctx.abridged);
+ uriResolution = getInstanceProperty(SERIALIZER_uriResolution, UriResolution.class, ctx.uriResolution);
+ uriRelativity = getInstanceProperty(SERIALIZER_uriRelativity, UriRelativity.class, ctx.uriRelativity);
+ listenerClass = getProperty(SERIALIZER_listener, Class.class, ctx.listener);
uriResolver = new UriResolver(uriResolution, uriRelativity, args.uriContext == null ? ctx.uriContext : args.uriContext);
@@ -132,6 +130,19 @@ public abstract class SerializerSession extends BeanSession {
}
}
+ /**
+ * Default constructor.
+ *
+ * @param args
+ * Runtime arguments.
+ * These specify session-level information such as locale and URI context.
+ * It also include session-level properties that override the properties defined on the bean and
+ * serializer contexts.
+ */
+ protected SerializerSession(SerializerSessionArgs args) {
+ this(Serializer.DEFAULT, args);
+ }
+
@Override /* Session */
public ObjectMap asMap() {
return super.asMap()
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
index 3449dff..d96a9cc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
@@ -23,7 +23,7 @@ public abstract class WriterSerializer extends Serializer {
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
* @param produces
* The media type that this serializer produces.
@@ -41,8 +41,8 @@ public abstract class WriterSerializer extends Serializer {
* <br>...or...
* <br><code><jk>super</jk>(propertyStore, <js>"application/json"</js>, <js>"*​/json"</js>);</code>
*/
- protected WriterSerializer(PropertyStore propertyStore, String produces, String...accept) {
- super(propertyStore, produces, accept);
+ protected WriterSerializer(PropertyStore2 ps, String produces, String...accept) {
+ super(ps, produces, accept);
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
index accf31c..a9cab63 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
@@ -44,7 +44,7 @@ public abstract class WriterSerializerSession extends SerializerSession {
* It also include session-level properties that override the properties defined on the bean and
* serializer contexts.
*/
- protected WriterSerializerSession(SerializerContext ctx, SerializerSessionArgs args) {
+ protected WriterSerializerSession(Serializer ctx, SerializerSessionArgs args) {
super(ctx, args);
}
@@ -55,7 +55,7 @@ public abstract class WriterSerializerSession extends SerializerSession {
* Runtime session arguments.
*/
protected WriterSerializerSession(SerializerSessionArgs args) {
- this(null, args);
+ super(args);
}
@Override /* SerializerSession */
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
index 6ccd335..a38ca6a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
@@ -42,32 +42,32 @@ public final class SoapXmlSerializer extends XmlSerializer {
* <b>Configuration property:</b> The <code>SOAPAction</code> HTTP header value to set on responses.
*
* <ul>
- * <li><b>Name:</b> <js>"SoapXmlSerializer.SOAPAction"</js>
+ * <li><b>Name:</b> <js>"SoapXmlSerializer.SOAPAction.s"</js>
* <li><b>Data type:</b> <code>String</code>
* <li><b>Default:</b> <js>"http://www.w3.org/2003/05/soap-envelope"</js>
* </ul>
*/
- public static final String SOAPXML_SOAPAction = PREFIX + "SOAPAction";
+ public static final String SOAPXML_SOAPAction = PREFIX + "SOAPAction.s";
//-------------------------------------------------------------------------------------------------------------------
// Instance
//-------------------------------------------------------------------------------------------------------------------
- private final SoapXmlSerializerContext ctx;
-
+ final String soapAction;
+
/**
* 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 SoapXmlSerializer(PropertyStore propertyStore) {
- super(propertyStore, "text/xml", "text/xml+soap");
- this.ctx = createContext(SoapXmlSerializerContext.class);
+ public SoapXmlSerializer(PropertyStore2 ps) {
+ super(ps, "text/xml", "text/xml+soap");
+ soapAction = getProperty(SOAPXML_SOAPAction, String.class, "http://www.w3.org/2003/05/soap-envelope");
}
@Override /* Serializer */
public WriterSerializerSession createSession(SerializerSessionArgs args) {
- return new SoapXmlSerializerSession(ctx, args);
+ return new SoapXmlSerializerSession(this, args);
}
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index 9ce0574..a1b7ebc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -36,15 +36,15 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
/**
* Constructor.
*
- * @param propertyStore The initial configuration settings for this builder.
+ * @param ps The initial configuration settings for this builder.
*/
- public SoapXmlSerializerBuilder(PropertyStore propertyStore) {
- super(propertyStore);
+ public SoapXmlSerializerBuilder(PropertyStore2 ps) {
+ super(ps);
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializer build() {
- return new SoapXmlSerializer(propertyStore);
+ return build(SoapXmlSerializer.class);
}
@@ -55,12 +55,6 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
/**
* <b>Configuration property:</b> The <code>SOAPAction</code> HTTP header value to set on responses.
*
- * <ul>
- * <li><b>Name:</b> <js>"SoapXmlSerializer.SOAPAction"</js>
- * <li><b>Data type:</b> <code>String</code>
- * <li><b>Default:</b> <js>"http://www.w3.org/2003/05/soap-envelope"</js>
- * </ul>
- *
* <h5 class='section'>Notes:</h5>
* <ul>
* <li>This is equivalent to calling <code>property(<jsf>SOAPXML_SOAPAction</jsf>, value)</code>.
@@ -72,7 +66,7 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
* @see SoapXmlSerializer#SOAPXML_SOAPAction
*/
public SoapXmlSerializerBuilder uriAnchorText(String value) {
- return property(SOAPXML_SOAPAction, value);
+ return set(SOAPXML_SOAPAction, value);
}
@Override /* XmlSerializerBuilder */
@@ -231,416 +225,410 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beansRequireDefaultConstructor(boolean value) {
super.beansRequireDefaultConstructor(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beansRequireSerializable(boolean value) {
super.beansRequireSerializable(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
super.beansRequireSettersForGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beansRequireSomeProperties(boolean value) {
super.beansRequireSomeProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
super.beanMapPutReturnsOldValue(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanConstructorVisibility(Visibility value) {
super.beanConstructorVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanClassVisibility(Visibility value) {
super.beanClassVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanFieldVisibility(Visibility value) {
super.beanFieldVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder methodVisibility(Visibility value) {
super.methodVisibility(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder useJavaBeanIntrospector(boolean value) {
super.useJavaBeanIntrospector(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder useInterfaceProxies(boolean value) {
super.useInterfaceProxies(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
super.ignoreUnknownBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
super.ignoreUnknownNullBeanProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
super.ignorePropertiesWithoutSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
super.ignoreInvocationExceptionsOnGetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
super.ignoreInvocationExceptionsOnSetters(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder sortProperties(boolean value) {
super.sortProperties(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder notBeanPackages(String...values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder notBeanPackages(Collection<String> values) {
super.notBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setNotBeanPackages(String...values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setNotBeanPackages(Collection<String> values) {
super.setNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeNotBeanPackages(String...values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeNotBeanPackages(Collection<String> values) {
super.removeNotBeanPackages(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder notBeanClasses(Class<?>...values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder notBeanClasses(Collection<Class<?>> values) {
super.notBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setNotBeanClasses(Class<?>...values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setNotBeanClasses(Collection<Class<?>> values) {
super.setNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeNotBeanClasses(Class<?>...values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeNotBeanClasses(Collection<Class<?>> values) {
super.removeNotBeanClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanFilters(Class<?>...values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanFilters(Collection<Class<?>> values) {
super.beanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setBeanFilters(Class<?>...values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setBeanFilters(Collection<Class<?>> values) {
super.setBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeBeanFilters(Class<?>...values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeBeanFilters(Collection<Class<?>> values) {
super.removeBeanFilters(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder pojoSwaps(Class<?>...values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder pojoSwaps(Collection<Class<?>> values) {
super.pojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setPojoSwaps(Class<?>...values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setPojoSwaps(Collection<Class<?>> values) {
super.setPojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removePojoSwaps(Class<?>...values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removePojoSwaps(Collection<Class<?>> values) {
super.removePojoSwaps(values);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder implClasses(Map<Class<?>,Class<?>> values) {
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder implClasses(Map<String,Class<?>> values) {
super.implClasses(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public <T> SoapXmlSerializerBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
super.implClass(interfaceClass, implClass);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder includeProperties(Map<String,String> values) {
super.includeProperties(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder includeProperties(String beanClassName, String properties) {
super.includeProperties(beanClassName, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder includeProperties(Class<?> beanClass, String properties) {
super.includeProperties(beanClass, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder excludeProperties(Map<String,String> values) {
super.excludeProperties(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder excludeProperties(String beanClassName, String properties) {
super.excludeProperties(beanClassName, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder excludeProperties(Class<?> beanClass, String properties) {
super.excludeProperties(beanClass, properties);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanDictionary(Class<?>...values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanDictionary(Collection<Class<?>> values) {
super.beanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setBeanDictionary(Class<?>...values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder setBeanDictionary(Collection<Class<?>> values) {
super.setBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeFromBeanDictionary(Class<?>...values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder removeFromBeanDictionary(Collection<Class<?>> values) {
super.removeFromBeanDictionary(values);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder beanTypePropertyName(String value) {
super.beanTypePropertyName(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder defaultParser(Class<?> value) {
super.defaultParser(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder locale(Locale value) {
super.locale(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder timeZone(TimeZone value) {
super.timeZone(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder mediaType(MediaType value) {
super.mediaType(value);
return this;
}
- @Override /* CoreObjectBuilder */
+ @Override /* ContextBuilder */
public SoapXmlSerializerBuilder debug() {
super.debug();
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder property(String name, Object value) {
- super.property(name, value);
- return this;
- }
-
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder properties(Map<String,Object> properties) {
- super.properties(properties);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder set(String name, Object value) {
+ super.set(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder addToProperty(String name, Object value) {
- super.addToProperty(name, value);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder set(Map<String,Object> properties) {
+ super.set(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder putToProperty(String name, Object key, Object value) {
- super.putToProperty(name, key, value);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder add(Map<String,Object> properties) {
+ super.add(properties);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder putToProperty(String name, Object value) {
- super.putToProperty(name, value);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder addTo(String name, Object value) {
+ super.addTo(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder removeFromProperty(String name, Object value) {
- super.removeFromProperty(name, value);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder addTo(String name, String key, Object value) {
+ super.addTo(name, key, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder classLoader(ClassLoader classLoader) {
- super.classLoader(classLoader);
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder removeFrom(String name, Object value) {
+ super.removeFrom(name, value);
return this;
}
- @Override /* CoreObjectBuilder */
- public SoapXmlSerializerBuilder apply(PropertyStore copyFrom) {
+ @Override /* ContextBuilder */
+ public SoapXmlSerializerBuilder 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/soap/SoapXmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
deleted file mode 100644
index e33e334..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
+++ /dev/null
@@ -1,34 +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.soap;
-
-import org.apache.juneau.*;
-import org.apache.juneau.xml.*;
-
-/**
- * Contains a snapshot-in-time read-only copy of the settings on the {@link SoapXmlSerializer} class.
- */
-public final class SoapXmlSerializerContext extends XmlSerializerContext {
-
- /**
- * Constructor
- *
- * <p>
- * Typically only called from {@link PropertyStore#getContext(Class)}.
- *
- * @param ps The property store that created this context.
- */
- public SoapXmlSerializerContext(PropertyStore ps) {
- super(ps);
- }
-}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
index 8f9fbd4..2f469e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
@@ -28,6 +28,8 @@ import org.apache.juneau.xml.*;
* It is typically discarded after one-time use although it can be reused within the same thread.
*/
public class SoapXmlSerializerSession extends XmlSerializerSession {
+
+ private final String soapAction;
/**
* Create a new session using properties specified in the context.
@@ -41,8 +43,10 @@ public class SoapXmlSerializerSession extends XmlSerializerSession {
* It also include session-level properties that override the properties defined on the bean and
* serializer contexts.
*/
- public SoapXmlSerializerSession(SoapXmlSerializerContext ctx, SerializerSessionArgs args) {
+ public SoapXmlSerializerSession(SoapXmlSerializer ctx, SerializerSessionArgs args) {
super(ctx, args);
+
+ soapAction = getProperty(SOAPXML_SOAPAction, String.class, ctx.soapAction);
}
//--------------------------------------------------------------------------------
@@ -57,7 +61,7 @@ public class SoapXmlSerializerSession extends XmlSerializerSession {
.attr("encoding", "UTF-8")
.appendln("?>");
w.oTag("soap", "Envelope")
- .attr("xmlns", "soap", getStringProperty(SOAPXML_SOAPAction, "http://www.w3.org/2003/05/soap-envelope"))
+ .attr("xmlns", "soap", soapAction)
.appendln(">");
w.sTag(1, "soap", "Body").nl(1);
indent += 2;
@@ -70,6 +74,6 @@ public class SoapXmlSerializerSession extends XmlSerializerSession {
@Override /* Serializer */
public Map<String,String> getResponseHeaders() {
- return new AMap<String,String>().append("SOAPAction", getStringProperty(SOAPXML_SOAPAction, "http://www.w3.org/2003/05/soap-envelope"));
+ return new AMap<String,String>().append("SOAPAction", soapAction);
}
}
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
index 685789d..f83f210 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
@@ -25,7 +25,7 @@ import org.apache.juneau.internal.*;
*
* <p>
* These objects are created when you pass in non-<code>BeanFilterBuilder</code> classes to
- * {@link PropertyStore#addToProperty(String,Object)}, and are equivalent to adding a
+ * {@link BeanContextBuilder#beanFilters(Class...)}, and are equivalent to adding a
* <code><ja>@Bean</ja>(interfaceClass=Foo.<jk>class</jk>)</code> annotation on the <code>Foo</code> class.
*/
public class InterfaceBeanFilterBuilder extends BeanFilterBuilder {
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
index 7417562..3d47fc4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
@@ -319,6 +319,7 @@ import org.apache.juneau.serializer.*;
* @param <S> The swapped form of the class.
*/
@SuppressWarnings({"unchecked","rawtypes"})
+@BeanIgnore
public abstract class PojoSwap<T,S> {
/**
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
index 4db447e..6fc3b14 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
@@ -67,7 +67,7 @@ import org.apache.juneau.*;
* </ul>
*
* <p>
- * Surrogate classes are associated with serializers and parsers using the {@link CoreObjectBuilder#pojoSwaps(Class...)}
+ * Surrogate classes are associated with serializers and parsers using the {@link BeanContextBuilder#pojoSwaps(Class...)}
* method.
* <p class='bcode'>
* <ja>@Test</ja>
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/ReaderSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
index 47a6f51..c2b3199 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
@@ -21,6 +21,8 @@ import org.apache.juneau.html.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.transform.*;
+import org.apache.juneau.uon.*;
+import org.apache.juneau.urlencoding.*;
import org.apache.juneau.xml.*;
/**
@@ -81,6 +83,22 @@ public class ReaderSwap extends PojoSwap<Reader,Object> {
}
}
+ /** Reader transform for reading plain text. */
+ public static class Uon extends ReaderSwap {
+ /** Constructor */
+ public Uon() {
+ super(UonParser.DEFAULT);
+ }
+ }
+
+ /** Reader transform for reading plain text. */
+ public static class UrlEncoding extends ReaderSwap {
+ /** Constructor */
+ public UrlEncoding() {
+ super(UrlEncodingParser.DEFAULT);
+ }
+ }
+
/** The parser to use to parse the contents of the Reader. */
private ReaderParser parser;
http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
index 0564d84..e6a8169 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
@@ -39,7 +39,7 @@ public class UonParser extends ReaderParser {
* <b>Configuration property:</b> Decode <js>"%xx"</js> sequences.
*
* <ul>
- * <li><b>Name:</b> <js>"UonParser.decodeChars"</js>
+ * <li><b>Name:</b> <js>"UonParser.decodeChars.b"</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>
@@ -49,7 +49,7 @@ public class UonParser extends ReaderParser {
* 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.
*/
- public static final String UON_decodeChars = PREFIX + "decodeChars";
+ public static final String UON_decodeChars = PREFIX + "decodeChars.b";
//-------------------------------------------------------------------------------------------------------------------
@@ -57,10 +57,10 @@ public class UonParser extends ReaderParser {
//-------------------------------------------------------------------------------------------------------------------
/** Reusable instance of {@link UonParser}, all default settings. */
- public static final UonParser DEFAULT = new UonParser(PropertyStore.create());
+ public static final UonParser DEFAULT = new UonParser(PropertyStore2.DEFAULT);
/** Reusable instance of {@link UonParser} with decodeChars set to true. */
- public static final UonParser DEFAULT_DECODING = new UonParser.Decoding(PropertyStore.create());
+ public static final UonParser DEFAULT_DECODING = new UonParser.Decoding(PropertyStore2.DEFAULT);
//-------------------------------------------------------------------------------------------------------------------
@@ -73,10 +73,10 @@ public class UonParser extends ReaderParser {
/**
* 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 Decoding(PropertyStore propertyStore) {
- super(propertyStore.copy().append(UON_decodeChars, true));
+ public Decoding(PropertyStore2 ps) {
+ super(ps.builder().set(UON_decodeChars, true).build());
}
}
@@ -85,34 +85,35 @@ public class UonParser extends ReaderParser {
// Instance
//-------------------------------------------------------------------------------------------------------------------
- private final UonParserContext ctx;
+ final boolean
+ decodeChars;
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
*/
- public UonParser(PropertyStore propertyStore) {
- this(propertyStore, "text/uon");
+ public UonParser(PropertyStore2 ps) {
+ this(ps, "text/uon");
}
/**
* Constructor.
*
- * @param propertyStore
+ * @param ps
* The property store containing all the settings for this object.
* @param consumes
* The list of media types that this parser consumes (e.g. <js>"application/json"</js>, <js>"*​/json"</js>).
*/
- public UonParser(PropertyStore propertyStore, String...consumes) {
- super(propertyStore, consumes);
- this.ctx = createContext(UonParserContext.class);
+ public UonParser(PropertyStore2 ps, String...consumes) {
+ super(ps, consumes);
+ this.decodeChars = getProperty(UON_decodeChars, boolean.class, false);
}
@Override /* CoreObject */
public UonParserBuilder builder() {
- return new UonParserBuilder(propertyStore);
+ return new UonParserBuilder(getPropertyStore());
}
/**
@@ -137,11 +138,19 @@ public class UonParser extends ReaderParser {
* @return A new parser session.
*/
protected final UonParserSession createParameterSession() {
- return new UonParserSession(ctx, createDefaultSessionArgs(), false);
+ return new UonParserSession(this, createDefaultSessionArgs(), false);
}
@Override /* Parser */
public UonParserSession createSession(ParserSessionArgs args) {
- return new UonParserSession(ctx, args);
+ return new UonParserSession(this, args);
+ }
+
+ @Override /* Context */
+ public ObjectMap asMap() {
+ return super.asMap()
+ .append("UonParser", new ObjectMap()
+ .append("decodeChars", decodeChars)
+ );
}
}