Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A40B4200D5E for ; Sat, 23 Dec 2017 17:51:05 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id A218B160C31; Sat, 23 Dec 2017 16:51:05 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 76656160C1C for ; Sat, 23 Dec 2017 17:51:03 +0100 (CET) Received: (qmail 59386 invoked by uid 500); 23 Dec 2017 16:51:02 -0000 Mailing-List: contact commits-help@juneau.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@juneau.apache.org Delivered-To: mailing list commits@juneau.apache.org Received: (qmail 59377 invoked by uid 99); 23 Dec 2017 16:51:02 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 23 Dec 2017 16:51:02 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id EB47A18085A for ; Sat, 23 Dec 2017 16:51:00 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.222 X-Spam-Level: X-Spam-Status: No, score=-4.222 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id kwTkSYiU0vxd for ; Sat, 23 Dec 2017 16:50:47 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id DBDCD5FB29 for ; Sat, 23 Dec 2017 16:50:46 +0000 (UTC) Received: (qmail 59026 invoked by uid 99); 23 Dec 2017 16:50:46 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 23 Dec 2017 16:50:46 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 30D6AE0007; Sat, 23 Dec 2017 16:50:43 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jamesbognar@apache.org To: commits@juneau.incubator.apache.org Date: Sat, 23 Dec 2017 16:50:50 -0000 Message-Id: <067815c5de6a446aa4fbaa93e3d095b4@git.apache.org> In-Reply-To: <77ee031a87da47bca49cf99a70ac04bd@git.apache.org> References: <77ee031a87da47bca49cf99a70ac04bd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [09/21] juneau git commit: JUNEAU-76 Improvements to Context/Builder APIs archived-at: Sat, 23 Dec 2017 16:51:05 -0000 http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java index b364222..2cca935 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java @@ -33,15 +33,15 @@ public class MsgPackParserBuilder extends ParserBuilder { /** * Constructor. * - * @param propertyStore The initial configuration settings for this builder. + * @param ps The initial configuration settings for this builder. */ - public MsgPackParserBuilder(PropertyStore propertyStore) { - super(propertyStore); + public MsgPackParserBuilder(PropertyStore2 ps) { + super(ps); } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParser build() { - return new MsgPackParser(propertyStore); + return build(MsgPackParser.class); } @@ -85,380 +85,374 @@ public class MsgPackParserBuilder extends ParserBuilder { return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beansRequireSerializable(boolean value) { super.beansRequireSerializable(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beansRequireSettersForGetters(boolean value) { super.beansRequireSettersForGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beansRequireSomeProperties(boolean value) { super.beansRequireSomeProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanMapPutReturnsOldValue(boolean value) { super.beanMapPutReturnsOldValue(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanConstructorVisibility(Visibility value) { super.beanConstructorVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanClassVisibility(Visibility value) { super.beanClassVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanFieldVisibility(Visibility value) { super.beanFieldVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder methodVisibility(Visibility value) { super.methodVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder useJavaBeanIntrospector(boolean value) { super.useJavaBeanIntrospector(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder useInterfaceProxies(boolean value) { super.useInterfaceProxies(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder ignoreUnknownBeanProperties(boolean value) { super.ignoreUnknownBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder ignoreUnknownNullBeanProperties(boolean value) { super.ignoreUnknownNullBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder ignorePropertiesWithoutSetters(boolean value) { super.ignorePropertiesWithoutSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) { super.ignoreInvocationExceptionsOnGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) { super.ignoreInvocationExceptionsOnSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder sortProperties(boolean value) { super.sortProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder notBeanPackages(String...values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder notBeanPackages(Collection values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setNotBeanPackages(String...values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setNotBeanPackages(Collection values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeNotBeanPackages(String...values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeNotBeanPackages(Collection values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder notBeanClasses(Class...values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder notBeanClasses(Collection> values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setNotBeanClasses(Class...values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setNotBeanClasses(Collection> values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeNotBeanClasses(Class...values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeNotBeanClasses(Collection> values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanFilters(Class...values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanFilters(Collection> values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setBeanFilters(Class...values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setBeanFilters(Collection> values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeBeanFilters(Class...values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeBeanFilters(Collection> values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder pojoSwaps(Class...values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder pojoSwaps(Collection> values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setPojoSwaps(Class...values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setPojoSwaps(Collection> values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removePojoSwaps(Class...values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removePojoSwaps(Collection> values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder implClasses(Map,Class> values) { + @Override /* ContextBuilder */ + public MsgPackParserBuilder implClasses(Map> values) { super.implClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder implClass(Class interfaceClass, Class implClass) { super.implClass(interfaceClass, implClass); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanDictionary(Class...values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanDictionary(Collection> values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setBeanDictionary(Class...values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder setBeanDictionary(Collection> values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeFromBeanDictionary(Class...values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder removeFromBeanDictionary(Collection> values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder beanTypePropertyName(String value) { super.beanTypePropertyName(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder defaultParser(Class value) { super.defaultParser(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder locale(Locale value) { super.locale(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder timeZone(TimeZone value) { super.timeZone(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder mediaType(MediaType value) { super.mediaType(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackParserBuilder debug() { super.debug(); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder property(String name, Object value) { - super.property(name, value); + @Override /* ContextBuilder */ + public MsgPackParserBuilder set(String name, Object value) { + super.set(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder properties(Map properties) { - super.properties(properties); + @Override /* ContextBuilder */ + public MsgPackParserBuilder set(Map properties) { + super.set(properties); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder addToProperty(String name, Object value) { - super.addToProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackParserBuilder add(Map properties) { + super.add(properties); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder putToProperty(String name, Object key, Object value) { - super.putToProperty(name, key, value); + @Override /* ContextBuilder */ + public MsgPackParserBuilder addTo(String name, Object value) { + super.addTo(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder putToProperty(String name, Object value) { - super.putToProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackParserBuilder addTo(String name, String key, Object value) { + super.addTo(name, key, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder removeFromProperty(String name, Object value) { - super.removeFromProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackParserBuilder removeFrom(String name, Object value) { + super.removeFrom(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder classLoader(ClassLoader classLoader) { - super.classLoader(classLoader); - return this; - } - - @Override /* CoreObjectBuilder */ - public MsgPackParserBuilder apply(PropertyStore copyFrom) { + @Override /* ContextBuilder */ + public MsgPackParserBuilder 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/msgpack/MsgPackParserContext.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java deleted file mode 100644 index a84f6aa..0000000 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java +++ /dev/null @@ -1,41 +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.msgpack; - -import org.apache.juneau.*; -import org.apache.juneau.parser.*; - -/** - * Contains a snapshot-in-time read-only copy of the settings on the {@link MsgPackParser} class. - */ -public final class MsgPackParserContext extends ParserContext { - - /** - * Constructor. - * - *

- * Typically only called from {@link PropertyStore#getContext(Class)}. - * - * @param ps The property store that created this context. - */ - public MsgPackParserContext(PropertyStore ps) { - super(ps); - } - - @Override /* Context */ - public ObjectMap asMap() { - return super.asMap() - .append("MsgPackParserContext", new ObjectMap() - ); - } -} http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java index 1361437..10b880c 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java @@ -39,7 +39,7 @@ public final class MsgPackParserSession extends InputStreamParserSession { * @param args * Runtime session arguments. */ - protected MsgPackParserSession(MsgPackParserContext ctx, ParserSessionArgs args) { + protected MsgPackParserSession(MsgPackParser ctx, ParserSessionArgs args) { super(ctx, args); } http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java index 2404201..ac7c536 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java @@ -37,7 +37,7 @@ public class MsgPackSerializer extends OutputStreamSerializer { * Configuration property: Add "_type" properties when needed. * *

    - *
  • Name: "MsgPackSerializer.addBeanTypeProperties" + *
  • Name: "MsgPackSerializer.addBeanTypeProperties.b" *
  • Data type: Boolean *
  • Default: false *
  • Session-overridable: true @@ -54,7 +54,7 @@ public class MsgPackSerializer extends OutputStreamSerializer { * 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 MSGPACK_addBeanTypeProperties = PREFIX + "addBeanTypeProperties"; + public static final String MSGPACK_addBeanTypeProperties = PREFIX + "addBeanTypeProperties.b"; //------------------------------------------------------------------------------------------------------------------- @@ -62,28 +62,29 @@ public class MsgPackSerializer extends OutputStreamSerializer { //------------------------------------------------------------------------------------------------------------------- /** Default serializer, all default settings.*/ - public static final MsgPackSerializer DEFAULT = new MsgPackSerializer(PropertyStore.create()); + public static final MsgPackSerializer DEFAULT = new MsgPackSerializer(PropertyStore2.DEFAULT); //------------------------------------------------------------------------------------------------------------------- // Instance //------------------------------------------------------------------------------------------------------------------- - private final MsgPackSerializerContext ctx; + final boolean + addBeanTypeProperties; /** * 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 MsgPackSerializer(PropertyStore propertyStore) { - super(propertyStore, "octal/msgpack"); - this.ctx = createContext(MsgPackSerializerContext.class); + public MsgPackSerializer(PropertyStore2 ps) { + super(ps, "octal/msgpack"); + this.addBeanTypeProperties = getProperty(MSGPACK_addBeanTypeProperties, boolean.class, getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, true)); } @Override /* CoreObject */ public MsgPackSerializerBuilder builder() { - return new MsgPackSerializerBuilder(propertyStore); + return new MsgPackSerializerBuilder(getPropertyStore()); } /** @@ -104,6 +105,14 @@ public class MsgPackSerializer extends OutputStreamSerializer { @Override /* Serializer */ public OutputStreamSerializerSession createSession(SerializerSessionArgs args) { - return new MsgPackSerializerSession(ctx, args); + return new MsgPackSerializerSession(this, args); + } + + @Override /* Context */ + public ObjectMap asMap() { + return super.asMap() + .append("MsgPackSerializer", new ObjectMap() + .append("addBeanTypeProperties", addBeanTypeProperties) + ); } } http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java index 19a33d2..affc9e1 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java @@ -33,15 +33,15 @@ public class MsgPackSerializerBuilder extends SerializerBuilder { /** * Constructor. * - * @param propertyStore The initial configuration settings for this builder. + * @param ps The initial configuration settings for this builder. */ - public MsgPackSerializerBuilder(PropertyStore propertyStore) { - super(propertyStore); + public MsgPackSerializerBuilder(PropertyStore2 ps) { + super(ps); } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializer build() { - return new MsgPackSerializer(propertyStore); + return build(MsgPackSerializer.class); } @@ -175,416 +175,410 @@ public class MsgPackSerializerBuilder extends SerializerBuilder { return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beansRequireSerializable(boolean value) { super.beansRequireSerializable(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beansRequireSettersForGetters(boolean value) { super.beansRequireSettersForGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beansRequireSomeProperties(boolean value) { super.beansRequireSomeProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanMapPutReturnsOldValue(boolean value) { super.beanMapPutReturnsOldValue(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanConstructorVisibility(Visibility value) { super.beanConstructorVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanClassVisibility(Visibility value) { super.beanClassVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanFieldVisibility(Visibility value) { super.beanFieldVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder methodVisibility(Visibility value) { super.methodVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder useJavaBeanIntrospector(boolean value) { super.useJavaBeanIntrospector(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder useInterfaceProxies(boolean value) { super.useInterfaceProxies(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder ignoreUnknownBeanProperties(boolean value) { super.ignoreUnknownBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) { super.ignoreUnknownNullBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder ignorePropertiesWithoutSetters(boolean value) { super.ignorePropertiesWithoutSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) { super.ignoreInvocationExceptionsOnGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) { super.ignoreInvocationExceptionsOnSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder sortProperties(boolean value) { super.sortProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder notBeanPackages(String...values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder notBeanPackages(Collection values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setNotBeanPackages(String...values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setNotBeanPackages(Collection values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeNotBeanPackages(String...values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeNotBeanPackages(Collection values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder notBeanClasses(Class...values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder notBeanClasses(Collection> values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setNotBeanClasses(Class...values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setNotBeanClasses(Collection> values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeNotBeanClasses(Class...values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeNotBeanClasses(Collection> values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanFilters(Class...values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanFilters(Collection> values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setBeanFilters(Class...values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setBeanFilters(Collection> values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeBeanFilters(Class...values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeBeanFilters(Collection> values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder pojoSwaps(Class...values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder pojoSwaps(Collection> values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setPojoSwaps(Class...values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setPojoSwaps(Collection> values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removePojoSwaps(Class...values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removePojoSwaps(Collection> values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder implClasses(Map,Class> values) { + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder implClasses(Map> values) { super.implClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder implClass(Class interfaceClass, Class implClass) { super.implClass(interfaceClass, implClass); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder includeProperties(Map values) { super.includeProperties(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder includeProperties(String beanClassName, String properties) { super.includeProperties(beanClassName, properties); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder includeProperties(Class beanClass, String properties) { super.includeProperties(beanClass, properties); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder excludeProperties(Map values) { super.excludeProperties(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder excludeProperties(String beanClassName, String properties) { super.excludeProperties(beanClassName, properties); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder excludeProperties(Class beanClass, String properties) { super.excludeProperties(beanClass, properties); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanDictionary(Class...values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanDictionary(Collection> values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setBeanDictionary(Class...values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder setBeanDictionary(Collection> values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeFromBeanDictionary(Class...values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder removeFromBeanDictionary(Collection> values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder beanTypePropertyName(String value) { super.beanTypePropertyName(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder defaultParser(Class value) { super.defaultParser(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder locale(Locale value) { super.locale(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder timeZone(TimeZone value) { super.timeZone(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder mediaType(MediaType value) { super.mediaType(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public MsgPackSerializerBuilder debug() { super.debug(); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder property(String name, Object value) { - super.property(name, value); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder set(String name, Object value) { + super.set(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder properties(Map properties) { - super.properties(properties); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder set(Map properties) { + super.set(properties); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder addToProperty(String name, Object value) { - super.addToProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder add(Map properties) { + super.add(properties); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder putToProperty(String name, Object key, Object value) { - super.putToProperty(name, key, value); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder addTo(String name, Object value) { + super.addTo(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder putToProperty(String name, Object value) { - super.putToProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder addTo(String name, String key, Object value) { + super.addTo(name, key, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder removeFromProperty(String name, Object value) { - super.removeFromProperty(name, value); + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder removeFrom(String name, Object value) { + super.removeFrom(name, value); return this; } - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder classLoader(ClassLoader classLoader) { - super.classLoader(classLoader); - return this; - } - - @Override /* CoreObjectBuilder */ - public MsgPackSerializerBuilder apply(PropertyStore copyFrom) { + @Override /* ContextBuilder */ + public MsgPackSerializerBuilder 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/msgpack/MsgPackSerializerContext.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java deleted file mode 100644 index bad4ec8..0000000 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java +++ /dev/null @@ -1,49 +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.msgpack; - -import static org.apache.juneau.msgpack.MsgPackSerializer.*; - -import org.apache.juneau.*; -import org.apache.juneau.serializer.*; - -/** - * Contains a snapshot-in-time read-only copy of the settings on the {@link MsgPackSerializer} class. - */ -public final class MsgPackSerializerContext extends SerializerContext { - - final boolean - addBeanTypeProperties; - - /** - * Constructor. - * - *

    - * Typically only called from {@link PropertyStore#getContext(Class)}. - * - * @param ps The property store that created this context. - */ - public MsgPackSerializerContext(PropertyStore ps) { - super(ps); - addBeanTypeProperties = ps.getProperty(MSGPACK_addBeanTypeProperties, boolean.class, - ps.getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, true)); - } - - @Override /* Context */ - public ObjectMap asMap() { - return super.asMap() - .append("MsgPackSerializerContext", new ObjectMap() - .append("addBeanTypeProperties", addBeanTypeProperties) - ); - } -} http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java index 2205aa8..13b542a 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java @@ -45,10 +45,9 @@ public final class MsgPackSerializerSession extends OutputStreamSerializerSessio * It also include session-level properties that override the properties defined on the bean and * serializer contexts. */ - protected MsgPackSerializerSession(MsgPackSerializerContext ctx, SerializerSessionArgs args) { + protected MsgPackSerializerSession(MsgPackSerializer ctx, SerializerSessionArgs args) { super(ctx, args); - ObjectMap p = getProperties(); - addBeanTypeProperties = p.getBoolean(MSGPACK_addBeanTypeProperties, ctx.addBeanTypeProperties); + addBeanTypeProperties = getProperty(MSGPACK_addBeanTypeProperties, boolean.class, ctx.addBeanTypeProperties); } @Override /* Session */ http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java index 29b11ce..423985b 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java @@ -30,11 +30,11 @@ public abstract class InputStreamParser extends Parser { /** * 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. * @param consumes The list of media types that this parser consumes (e.g. "application/json"). */ - protected InputStreamParser(PropertyStore propertyStore, String...consumes) { - super(propertyStore, consumes); + protected InputStreamParser(PropertyStore2 ps, String...consumes) { + super(ps, consumes); } @Override /* Parser */ http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java index 3d061a5..7497193 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java @@ -29,7 +29,7 @@ public abstract class InputStreamParserSession extends ParserSession { * @param args * Runtime session arguments. */ - protected InputStreamParserSession(ParserContext ctx, ParserSessionArgs args) { + protected InputStreamParserSession(Parser ctx, ParserSessionArgs args) { super(ctx, args); } @@ -40,7 +40,7 @@ public abstract class InputStreamParserSession extends ParserSession { * Runtime session arguments. */ protected InputStreamParserSession(ParserSessionArgs args) { - this(null, args); + super(args); } @Override /* ParserSession */ http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java index 6cf30aa..420f730 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java @@ -88,7 +88,7 @@ import org.apache.juneau.utils.*; * *

    * In addition, any class types with {@link PojoSwap PojoSwaps} associated with them on the registered - * {@link #getBeanContext() beanContext} can also be passed in. + * bean context can also be passed in. * *

    * For example, if the {@link CalendarSwap} transform is used to generalize {@code Calendar} objects to {@code String} @@ -131,7 +131,7 @@ import org.apache.juneau.utils.*; * Passing in null or Object.class typically signifies that it's up to the parser * to determine what object type is being parsed parsed based on the rules above. */ -public abstract class Parser extends CoreObject { +public abstract class Parser extends BeanContext { //------------------------------------------------------------------------------------------------------------------- // Configurable properties @@ -143,7 +143,7 @@ public abstract class Parser extends CoreObject { * Configuration property: Trim parsed strings. * *

      - *
    • Name: "Parser.trimStrings" + *
    • Name: "Parser.trimStrings.b" *
    • Data type: Boolean *
    • Default: false *
    • Session-overridable: true @@ -153,13 +153,13 @@ public abstract class Parser extends CoreObject { * If true, string values will be trimmed of whitespace using {@link String#trim()} before being added to * the POJO. */ - public static final String PARSER_trimStrings = PREFIX + "trimStrings"; + public static final String PARSER_trimStrings = PREFIX + "trimStrings.b"; /** * Configuration property: Strict mode. * *
        - *
      • Name: "Parser.strict" + *
      • Name: "Parser.strict.b" *
      • Data type: Boolean *
      • Default: false *
      • Session-overridable: true @@ -195,13 +195,13 @@ public abstract class Parser extends CoreObject { * * */ - public static final String PARSER_strict = PREFIX + "strict"; + public static final String PARSER_strict = PREFIX + "strict.b"; /** * Configuration property: Input stream charset. * *
          - *
        • Name: "Parser.inputStreamCharset" + *
        • Name: "Parser.inputStreamCharset.s" *
        • Data type: String *
        • Default: "UTF-8" *
        • Session-overridable: true @@ -213,13 +213,13 @@ public abstract class Parser extends CoreObject { *

          * Used when passing in input streams and byte arrays to {@link Parser#parse(Object, Class)}. */ - public static final String PARSER_inputStreamCharset = PREFIX + "inputStreamCharset"; + public static final String PARSER_inputStreamCharset = PREFIX + "inputStreamCharset.s"; /** * Configuration property: File charset. * *

            - *
          • Name: "Parser.fileCharset" + *
          • Name: "Parser.fileCharset.s" *
          • Data type: String *
          • Default: "default" *
          • Session-overridable: true @@ -234,13 +234,13 @@ public abstract class Parser extends CoreObject { *

            * "default" can be used to indicate the JVM default file system charset. */ - public static final String PARSER_fileCharset = PREFIX + "fileCharset"; + public static final String PARSER_fileCharset = PREFIX + "fileCharset.s"; /** * Configuration property: Parser listener. * *

              - *
            • Name: "Parser.listener" + *
            • Name: "Parser.listener.c" *
            • Data type: Class<? extends ParserListener> *
            • Default: null *
            • Session-overridable: true @@ -249,20 +249,35 @@ public abstract class Parser extends CoreObject { *

              * Class used to listen for errors and warnings that occur during parsing. */ - public static final String PARSER_listener = PREFIX + "listener"; + public static final String PARSER_listener = PREFIX + "listener.c"; + static Parser DEFAULT = new Parser(PropertyStore2.create().build()) { + @Override + public ParserSession createSession(ParserSessionArgs args) { + throw new NoSuchMethodError(); + } + }; //------------------------------------------------------------------------------------------------------------------- // Instance //------------------------------------------------------------------------------------------------------------------- + final boolean trimStrings, strict; + final String inputStreamCharset, fileCharset; + final Class listener; + /** General parser properties currently set on this parser. */ private final MediaType[] consumes; // Hidden constructor to force subclass from InputStreamParser or ReaderParser. - Parser(PropertyStore propertyStore, String...consumes) { - super(propertyStore); - + Parser(PropertyStore2 ps, String...consumes) { + super(ps); + + trimStrings = getProperty(PARSER_trimStrings, boolean.class, false); + strict = getProperty(PARSER_strict, boolean.class, false); + inputStreamCharset = getProperty(PARSER_inputStreamCharset, String.class, "UTF-8"); + fileCharset = getProperty(PARSER_fileCharset, String.class, "default"); + listener = getClassProperty(PARSER_listener, ParserListener.class, null); this.consumes = new MediaType[consumes.length]; for (int i = 0; i < consumes.length; i++) { this.consumes[i] = MediaType.forString(consumes[i]); @@ -271,7 +286,7 @@ public abstract class Parser extends CoreObject { @Override /* CoreObject */ public ParserBuilder builder() { - return new ParserBuilder(propertyStore); + return null; } @@ -284,7 +299,9 @@ public abstract class Parser extends CoreObject { * * @return true if this parser subclasses from {@link ReaderParser}. */ - public abstract boolean isReaderParser(); + public boolean isReaderParser() { + return true; + } /** * Create the session object that will be passed in to the parse method. @@ -443,26 +460,13 @@ public abstract class Parser extends CoreObject { return createSession().parse(input, type); } - /** - * Create a basic session object without overriding properties or specifying javaMethod. - * - *

              - * Equivalent to calling createSession(null, null). - * - * @return The new context. - */ + @Override /* Context */ public final ParserSession createSession() { return createSession(createDefaultSessionArgs()); } - /** - * Creates the session arguments object that gets passed to the {@link #createSession(ParserSessionArgs)} method. - * - * @return - * A new default session arguments object. - *

              The arguments can be modified before passing to the {@link #createSession(ParserSessionArgs)}. - */ - protected final ParserSessionArgs createDefaultSessionArgs() { + @Override /* Context */ + public final ParserSessionArgs createDefaultSessionArgs() { return new ParserSessionArgs(ObjectMap.EMPTY_MAP, null, null, null, getPrimaryMediaType(), null); } @@ -571,4 +575,16 @@ public abstract class Parser extends CoreObject { public final MediaType getPrimaryMediaType() { return consumes == null || consumes.length == 0 ? null : consumes[0]; } + + @Override /* Context */ + public ObjectMap asMap() { + return super.asMap() + .append("Parser", new ObjectMap() + .append("trimStrings", trimStrings) + .append("strict", strict) + .append("inputStreamCharset", inputStreamCharset) + .append("fileCharset", fileCharset) + .append("listener", listener) + ); + } } http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java index 59d5f66..62e725c 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java @@ -23,7 +23,7 @@ import org.apache.juneau.json.*; /** * Builder class for building instances of parsers. */ -public class ParserBuilder extends CoreObjectBuilder { +public class ParserBuilder extends BeanContextBuilder { /** * Constructor, default settings. @@ -35,18 +35,12 @@ public class ParserBuilder extends CoreObjectBuilder { /** * Constructor. * - * @param propertyStore The initial configuration settings for this builder. + * @param ps The initial configuration settings for this builder. */ - public ParserBuilder(PropertyStore propertyStore) { - super(propertyStore); + public ParserBuilder(PropertyStore2 ps) { + super(ps); } - @Override /* CoreObjectBuilder */ - public Parser build() { - return null; - } - - //-------------------------------------------------------------------------------- // Properties //-------------------------------------------------------------------------------- @@ -54,13 +48,6 @@ public class ParserBuilder extends CoreObjectBuilder { /** * Configuration property: Trim parsed strings. * - *

                - *
              • Name: "Parser.trimStrings" - *
              • Data type: Boolean - *
              • Default: false - *
              • Session-overridable: true - *
              - * *

              * If true, string values will be trimmed of whitespace using {@link String#trim()} before being added to * the POJO. @@ -75,19 +62,12 @@ public class ParserBuilder extends CoreObjectBuilder { * @see Parser#PARSER_trimStrings */ public ParserBuilder trimStrings(boolean value) { - return property(PARSER_trimStrings, value); + return set(PARSER_trimStrings, value); } /** * Configuration property: Strict mode. * - *

                - *
              • Name: "Parser.strict" - *
              • Data type: Boolean - *
              • Default: false - *
              • Session-overridable: true - *
              - * *

              * If true, strict mode for the parser is enabled. * @@ -129,7 +109,7 @@ public class ParserBuilder extends CoreObjectBuilder { * @see Parser#PARSER_strict */ public ParserBuilder strict(boolean value) { - return property(PARSER_strict, value); + return set(PARSER_strict, value); } /** @@ -144,13 +124,6 @@ public class ParserBuilder extends CoreObjectBuilder { /** * Configuration property: Input stream charset. * - *

                - *
              • Name: "Parser.inputStreamCharset" - *
              • Data type: String - *
              • Default: "UTF-8" - *
              • Session-overridable: true - *
              - * *

              * The character set to use for converting InputStreams and byte arrays to readers. * @@ -167,19 +140,12 @@ public class ParserBuilder extends CoreObjectBuilder { * @see Parser#PARSER_inputStreamCharset */ public ParserBuilder inputStreamCharset(String value) { - return property(PARSER_inputStreamCharset, value); + return set(PARSER_inputStreamCharset, value); } /** * Configuration property: File charset. * - *

                - *
              • Name: "Parser.fileCharset" - *
              • Data type: String - *
              • Default: "default" - *
              • Session-overridable: true - *
              - * *

              * The character set to use for reading Files from the file system. * @@ -199,19 +165,12 @@ public class ParserBuilder extends CoreObjectBuilder { * @see Parser#PARSER_fileCharset */ public ParserBuilder fileCharset(String value) { - return property(PARSER_fileCharset, value); + return set(PARSER_fileCharset, value); } /** * Configuration property: Parser listener. * - *

                - *
              • Name: "Parser.listener" - *
              • Data type: Class<? extends ParserListener> - *
              • Default: null - *
              • Session-overridable: true - *
              - * *

              * Class used to listen for errors and warnings that occur during parsing. * @@ -220,384 +179,383 @@ public class ParserBuilder extends CoreObjectBuilder { * @see Parser#PARSER_listener */ public ParserBuilder listener(Class value) { - return property(PARSER_listener, value); + return set(PARSER_listener, value); } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beansRequireSerializable(boolean value) { super.beansRequireSerializable(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beansRequireSettersForGetters(boolean value) { super.beansRequireSettersForGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beansRequireSomeProperties(boolean value) { super.beansRequireSomeProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanMapPutReturnsOldValue(boolean value) { super.beanMapPutReturnsOldValue(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanConstructorVisibility(Visibility value) { super.beanConstructorVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanClassVisibility(Visibility value) { super.beanClassVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanFieldVisibility(Visibility value) { super.beanFieldVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder methodVisibility(Visibility value) { super.methodVisibility(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder useJavaBeanIntrospector(boolean value) { super.useJavaBeanIntrospector(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder useInterfaceProxies(boolean value) { super.useInterfaceProxies(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder ignoreUnknownBeanProperties(boolean value) { super.ignoreUnknownBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder ignoreUnknownNullBeanProperties(boolean value) { super.ignoreUnknownNullBeanProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder ignorePropertiesWithoutSetters(boolean value) { super.ignorePropertiesWithoutSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) { super.ignoreInvocationExceptionsOnGetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) { super.ignoreInvocationExceptionsOnSetters(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder sortProperties(boolean value) { super.sortProperties(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder notBeanPackages(String...values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder notBeanPackages(Collection values) { super.notBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setNotBeanPackages(String...values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setNotBeanPackages(Collection values) { super.setNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeNotBeanPackages(String...values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeNotBeanPackages(Collection values) { super.removeNotBeanPackages(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder notBeanClasses(Class...values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder notBeanClasses(Collection> values) { super.notBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setNotBeanClasses(Class...values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setNotBeanClasses(Collection> values) { super.setNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeNotBeanClasses(Class...values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeNotBeanClasses(Collection> values) { super.removeNotBeanClasses(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanFilters(Class...values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanFilters(Collection> values) { super.beanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setBeanFilters(Class...values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setBeanFilters(Collection> values) { super.setBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeBeanFilters(Class...values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeBeanFilters(Collection> values) { super.removeBeanFilters(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder pojoSwaps(Class...values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder pojoSwaps(Collection> values) { super.pojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setPojoSwaps(Class...values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setPojoSwaps(Collection> values) { super.setPojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removePojoSwaps(Class...values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removePojoSwaps(Collection> values) { super.removePojoSwaps(values); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder implClasses(Map,Class> values) { + @Override /* ContextBuilder */ + public ParserBuilder implClasses(Map> values) { super.implClasses(values); return this; } - @Override /* CoreObjectBuilder */ - public CoreObjectBuilder implClass(Class interfaceClass, Class implClass) { + @Override /* ContextBuilder */ + public ParserBuilder implClass(Class interfaceClass, Class implClass) { super.implClass(interfaceClass, implClass); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanDictionary(Class...values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanDictionary(Collection> values) { super.beanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setBeanDictionary(Class...values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder setBeanDictionary(Collection> values) { super.setBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeFromBeanDictionary(Class...values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder removeFromBeanDictionary(Collection> values) { super.removeFromBeanDictionary(values); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder beanTypePropertyName(String value) { super.beanTypePropertyName(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder defaultParser(Class value) { super.defaultParser(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder locale(Locale value) { super.locale(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder timeZone(TimeZone value) { super.timeZone(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder mediaType(MediaType value) { super.mediaType(value); return this; } - @Override /* CoreObjectBuilder */ + @Override /* ContextBuilder */ public ParserBuilder debug() { super.debug(); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder property(String name, Object value) { - super.property(name, value); + @Override /* ContextBuilder */ + public ParserBuilder set(String name, Object value) { + super.set(name, value); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder properties(Map properties) { - super.properties(properties); + @Override /* ContextBuilder */ + public ParserBuilder set(Map properties) { + super.set(properties); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder addToProperty(String name, Object value) { - super.addToProperty(name, value); + @Override /* ContextBuilder */ + public ParserBuilder add(Map properties) { + super.add(properties); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder putToProperty(String name, Object key, Object value) { - super.putToProperty(name, key, value); + @Override /* ContextBuilder */ + public ParserBuilder addTo(String name, Object value) { + super.addTo(name, value); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder putToProperty(String name, Object value) { - super.putToProperty(name, value); + @Override /* ContextBuilder */ + public ParserBuilder addTo(String name, String key, Object value) { + super.addTo(name, key, value); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder removeFromProperty(String name, Object value) { - super.removeFromProperty(name, value); + @Override /* ContextBuilder */ + public ParserBuilder removeFrom(String name, Object value) { + super.removeFrom(name, value); return this; } - @Override /* CoreObjectBuilder */ - public ParserBuilder classLoader(ClassLoader classLoader) { - super.classLoader(classLoader); - return this; - } - - @Override /* CoreObjectBuilder */ - public ParserBuilder apply(PropertyStore copyFrom) { + @Override /* ContextBuilder */ + public ParserBuilder apply(PropertyStore2 copyFrom) { super.apply(copyFrom); return this; } + + @Override /* Context */ + public Parser build() { + return null; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java deleted file mode 100644 index fe82d59..0000000 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java +++ /dev/null @@ -1,59 +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.parser; - -import static org.apache.juneau.parser.Parser.*; - -import org.apache.juneau.*; - -/** - * Contains a snapshot-in-time read-only copy of the settings on the {@link Parser} class. - */ -public class ParserContext extends BeanContext { - - /** - * Default context with all default values. - */ - static final ParserContext DEFAULT = new ParserContext(PropertyStore.create()); - - - final boolean trimStrings, strict; - final String inputStreamCharset, fileCharset; - final Class listener; - - /** - * Constructor. - * - * @param ps The property store that created this context. - */ - public ParserContext(PropertyStore ps) { - super(ps); - this.trimStrings = ps.getProperty(PARSER_trimStrings, boolean.class, false); - this.strict = ps.getProperty(PARSER_strict, boolean.class, false); - this.inputStreamCharset = ps.getProperty(PARSER_inputStreamCharset, String.class, "UTF-8"); - this.fileCharset = ps.getProperty(PARSER_fileCharset, String.class, "default"); - this.listener = ps.getProperty(PARSER_listener, Class.class, null); - } - - @Override /* Context */ - public ObjectMap asMap() { - return super.asMap() - .append("ParserContext", new ObjectMap() - .append("trimStrings", trimStrings) - .append("strict", strict) - .append("inputStreamCharset", inputStreamCharset) - .append("fileCharset", fileCharset) - .append("listener", listener) - ); - } -} http://git-wip-us.apache.org/repos/asf/juneau/blob/227719b2/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java ---------------------------------------------------------------------- diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java index ff699e3..da1a2ad 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java @@ -78,7 +78,7 @@ public final class ParserGroup { private final List mediaTypesList; private final Parser[] mediaTypeParsers; private final List parsers; - private final PropertyStore propertyStore; + private final PropertyStore2 propertyStore; /** * Instantiates a new clean-slate {@link ParserGroupBuilder} object. @@ -104,7 +104,7 @@ public final class ParserGroup { /** * Constructor. * - * @param propertyStore + * @param ps * The modifiable properties that were used to initialize the parsers. * A snapshot of these will be made so that we can clone and modify this group. * @param parsers @@ -112,8 +112,8 @@ public final class ParserGroup { * The order is important because they will be tried in reverse order (e.g. newer first) in which they will be * tried to match against media types. */ - public ParserGroup(PropertyStore propertyStore, Parser[] parsers) { - this.propertyStore = propertyStore.copy(); + public ParserGroup(PropertyStore2 ps, Parser[] parsers) { + this.propertyStore = ps; this.parsers = Collections.unmodifiableList(new ArrayList<>(Arrays.asList(parsers))); List lmt = new ArrayList<>(); @@ -207,8 +207,8 @@ public final class ParserGroup { * * @return A new copy of the property store passed in to the constructor. */ - public PropertyStore createPropertyStore() { - return propertyStore.copy(); + public PropertyStore2 getPropertyStore() { + return propertyStore; } /**