in integrations/cxf-jettison/cxf-jettison-jaxrs/src/main/java/org/apache/aries/jax/rs/jaxb/json/activator/JsonProviderPrototypeServiceFactory.java [83:199]
private JSONProvider<?> createJsonProvider(
Dictionary<String, ?> properties) {
PropertyWrapper wrapper = new PropertyWrapper(properties);
JSONProvider<Object> jsonProvider = new JSONProvider<>();
_typeConverter.ifPresent(jsonProvider::setTypeConverter);
_marshallerListener.ifPresent(jsonProvider::setMarshallerListener);
_unmarshallerListener.ifPresent(jsonProvider::setUnmarshallerListener);
_schemaHandler.ifPresent(jsonProvider::setSchemaHandler);
wrapper.applyBoolean(
"drop.root.element", jsonProvider::setDropRootElement);
wrapper.applyBoolean(
"attributes.to.elements",
jsonProvider::setAttributesToElements);
wrapper.applyBoolean(
"convert.types.to.strings",
jsonProvider::setConvertTypesToStrings);
wrapper.applyBoolean(
"drop.collection.wrapper.element",
jsonProvider::setDropCollectionWrapperElement);
wrapper.applyBoolean(
"drop.elements.in.xml.stream",
jsonProvider::setDropElementsInXmlStream);
wrapper.applyBoolean(
"enable.buffering", jsonProvider::setEnableBuffering);
wrapper.applyBoolean(
"escape.forward.slashes.always",
jsonProvider::setEscapeForwardSlashesAlways);
wrapper.applyBoolean(
"ignore.empty.array.values",
jsonProvider::setIgnoreEmptyArrayValues);
wrapper.applyBoolean(
"ignore.mixed.content",
jsonProvider::setIgnoreMixedContent);
wrapper.applyBoolean(
"ignore.namespaces", jsonProvider::setIgnoreNamespaces);
wrapper.applyBoolean(
"read.xsi.type", jsonProvider::setReadXsiType);
wrapper.applyBoolean(
"serialize.as.array",
jsonProvider::setSerializeAsArray);
wrapper.applyBoolean(
"support.unwrapped",
jsonProvider::setSupportUnwrapped);
wrapper.applyBoolean(
"write.null.as.string",
jsonProvider::setWriteNullAsString);
wrapper.applyBoolean(
"marshall.as.jaxb.element",
jsonProvider::setMarshallAsJaxbElement);
wrapper.applyBoolean(
"single.jaxb.context",
jsonProvider::setSingleJaxbContext);
wrapper.applyBoolean(
"skip.jaxb.checks",
jsonProvider::setSkipJaxbChecks);
wrapper.applyBoolean(
"unmarshall.as.jaxb.element",
jsonProvider::setUnmarshallAsJaxbElement);
wrapper.applyBoolean(
"use.single.context.for.packages",
jsonProvider::setUseSingleContextForPackages);
wrapper.applyBoolean(
"validate.before.write",
jsonProvider::setValidateBeforeWrite);
wrapper.applyBoolean(
"validate.input",
jsonProvider::setValidateInput);
wrapper.applyBoolean(
"validate.output",
jsonProvider::setValidateOutput);
wrapper.applyBoolean(
"xml.root.as.jaxb.element",
jsonProvider::setXmlRootAsJaxbElement);
wrapper.applyBoolean(
"validate.output",
jsonProvider::setValidateOutput);
wrapper.applyBoolean(
"validate.output",
jsonProvider::setValidateOutput);
wrapper.applyBoolean(
"xml.type.as.jaxb.element.only",
jsonProvider::setXmlTypeAsJaxbElementOnly);
wrapper.applyBoolean(
"write.xsi.type", jsonProvider::setWriteXsiType);
wrapper.applyString(
"array.keys",
s -> jsonProvider.setArrayKeys(
Arrays.asList(s.split(","))));
wrapper.applyString(
"consume.media.types",
s -> jsonProvider.setArrayKeys(
Arrays.asList(s.split(","))));
wrapper.applyString(
"convention", jsonProvider::setConvention);
wrapper.applyString(
"namespace.separator",
jsonProvider::setNamespaceSeparator);
wrapper.applyString(
"produce.media.types",
s -> jsonProvider.setProduceMediaTypes(
Arrays.asList(s.split(","))));
wrapper.applyString(
"out.drop.elements",
s -> jsonProvider.setOutDropElements(
Arrays.asList(s.split(","))));
wrapper.applyString(
"schema.locations",
s -> jsonProvider.setSchemaLocations(
Arrays.asList(s.split(","))));
return jsonProvider;
}