Package org.apache.synapse.commons.staxon.core.json

# Class JsonXMLConfigImpl

java.lang.Object
org.apache.synapse.commons.staxon.core.json.JsonXMLConfigImpl

All Implemented Interfaces:
  `Cloneable`, `JsonXMLConfig`

public class JsonXMLConfigImpl extends Object implements JsonXMLConfig, Cloneable

Simple JSON XML configuration.

Initially, values are set according to `JsonXMLConfig.DEFAULT`.

See Also:
  - `JsonXMLConfig`

- ## Field Summary

  ### Fields inherited from interface org.apache.synapse.commons.staxon.core.json.JsonXMLConfig

  `DEFAULT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JsonXMLConfigImpl()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected JsonXMLConfigImpl`
  `clone()`
  `String`
  `getCustomRegex()`
  Format output ignoring scientific numbers
  `String`
  `getCustomReplaceRegex()`
  `String`
  `getCustomReplaceSequence()`
  `char`
  `getNamespaceSeparator()`
  Namespace prefix separator.
  `QName`
  `getVirtualRoot()`
  JSON documents may have have multiple root properties.
  `boolean`
  `isAutoArray()`
  Trigger arrays automatically?
  `boolean`
  `isAutoPrimitive()`
  Convert element text to number/boolean/null primitives automatically?
  `boolean`
  `isMultiplePI()`
  Whether to use the `JsonXMLStreamConstants.MULTIPLE_PI_TARGET` processing instruction to indicate an array start.
  `boolean`
  `isNamespaceDeclarations()`
  Whether to write namespace declarations.
  `boolean`
  `isPreserverNamespacesForJson()`
  Preserves the namespace declarations in the JSON output in XML to JSON transformations.
  `boolean`
  `isPrettyPrint()`
  Format output for better readability?
  `boolean`
  `isProcessNCNames()`
  Builds valid XML NCNames when building XML element names in XML to JSON transformations.
  `boolean`
  `isReadWriteXmlNil()`
  `boolean`
  `isRepairingNamespaces()`
  Repair namespaces when writinginvalid input: '<'/+>
  `boolean`
  `isWriteNullForEmptyElements()`
  Used in XML->JSON conversion.
  `void`
  `setAutoArray(boolean autoArray)`
  `void`
  `setAutoPrimitive(boolean autoPrimitive)`
  `void`
  `setCustomRegex(String customRegex)`
  `void`
  `setCustomReplaceRegex(String customReplaceRegex)`
  `void`
  `setCustomReplaceSequence(String customReplaceSequence)`
  `void`
  `setMultiplePI(boolean multiplePI)`
  `void`
  `setNamespaceDeclarations(boolean namespaceDeclarations)`
  `void`
  `setNamespaceSeparator(char namespaceSeparator)`
  `void`
  `setPreserverNamespacesForJson(boolean preserverNamespacesForJson)`
  `void`
  `setPrettyPrint(boolean prettyPrint)`
  `void`
  `setProcessNCNames(boolean processNCNames)`
  `void`
  `setReadWriteXmlNil(boolean readWriteXmlNil)`
  `void`
  `setRepairingNamespaces(boolean repairingNamespaces)`
  `void`
  `setVirtualRoot(QName virtualRoot)`
  `void`
  `setWriteNullForEmptyElement(boolean writeNullForEmptyElement)`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### JsonXMLConfigImpl

    public JsonXMLConfigImpl()

- ## Method Details

  - ### clone

    protected JsonXMLConfigImpl clone()
    Overrides:
      `clone` in class `Object`

  - ### isAutoArray

    public boolean isAutoArray()
    Description copied from interface: `JsonXMLConfig`

    Trigger arrays automatically?

    Specified by:
      `isAutoArray` in interface `JsonXMLConfig`
    Returns:
      auto array flag
    See Also:
      - `JsonXMLOutputFactory.PROP_AUTO_ARRAY`

  - ### setAutoArray

    public void setAutoArray(boolean autoArray)

  - ### isAutoPrimitive

    public boolean isAutoPrimitive()
    Description copied from interface: `JsonXMLConfig`

    Convert element text to number/boolean/null primitives automatically?

    Specified by:
      `isAutoPrimitive` in interface `JsonXMLConfig`
    Returns:
      auto primitive flag
    See Also:
      - `JsonXMLOutputFactory.PROP_AUTO_ARRAY`

  - ### setAutoPrimitive

    public void setAutoPrimitive(boolean autoPrimitive)

  - ### isMultiplePI

    public boolean isMultiplePI()
    Description copied from interface: `JsonXMLConfig`

    Whether to use the `JsonXMLStreamConstants.MULTIPLE_PI_TARGET` processing instruction to indicate an array start. If `true`, a PI is used to inform the writer to begin an array, passing the name of following multiple elements as data. The writer will close arrays automatically.

    If `true`, this reader will insert a PI with the field name as PI data.

    Note that the element given in the PI may occur zero times, indicating an "empty array".

    Specified by:
      `isMultiplePI` in interface `JsonXMLConfig`
    Returns:
      multiple PI flag
    See Also:
      - `JsonXMLInputFactory.PROP_MULTIPLE_PI`
      - `JsonXMLOutputFactory.PROP_MULTIPLE_PI`

  - ### setMultiplePI

    public void setMultiplePI(boolean multiplePI)

  - ### isNamespaceDeclarations

    public boolean isNamespaceDeclarations()
    Description copied from interface: `JsonXMLConfig`

    Whether to write namespace declarations.

    Specified by:
      `isNamespaceDeclarations` in interface `JsonXMLConfig`
    Returns:
      namespace declarations flag
    See Also:
      - `JsonXMLOutputFactory.PROP_NAMESPACE_DECLARATIONS`

  - ### setNamespaceDeclarations

    public void setNamespaceDeclarations(boolean namespaceDeclarations)

  - ### getNamespaceSeparator

    public char getNamespaceSeparator()
    Description copied from interface: `JsonXMLConfig`

    Namespace prefix separator.

    Specified by:
      `getNamespaceSeparator` in interface `JsonXMLConfig`
    Returns:
      namespace separator
    See Also:
      - `JsonXMLInputFactory.PROP_NAMESPACE_SEPARATOR`
      - `JsonXMLOutputFactory.PROP_NAMESPACE_SEPARATOR`

  - ### setNamespaceSeparator

    public void setNamespaceSeparator(char namespaceSeparator)

  - ### isPrettyPrint

    public boolean isPrettyPrint()
    Description copied from interface: `JsonXMLConfig`

    Format output for better readability?

    Specified by:
      `isPrettyPrint` in interface `JsonXMLConfig`
    Returns:
      pretty print flag
    See Also:
      - `JsonXMLOutputFactory.PROP_PRETTY_PRINT`

  - ### setPrettyPrint

    public void setPrettyPrint(boolean prettyPrint)

  - ### getVirtualRoot

    public QName getVirtualRoot()
    Description copied from interface: `JsonXMLConfig`

    JSON documents may have have multiple root properties. However, XML requires a single root element. This property specifies the root as a "virtual" element, which will be removed from the stream when writing and added to the stream when reading.

    Specified by:
      `getVirtualRoot` in interface `JsonXMLConfig`
    Returns:
      virtual root
    See Also:
      - `JsonXMLInputFactory.PROP_VIRTUAL_ROOT`
      - `JsonXMLOutputFactory.PROP_VIRTUAL_ROOT`

  - ### setVirtualRoot

    public void setVirtualRoot(QName virtualRoot)

  - ### isRepairingNamespaces

    public boolean isRepairingNamespaces()
    Description copied from interface: `JsonXMLConfig`

    Repair namespaces when writinginvalid input: '<'/+>

    Specified by:
      `isRepairingNamespaces` in interface `JsonXMLConfig`
    Returns:
      namespace-repairing flag
    See Also:
      - `XMLOutputFactory.IS_REPAIRING_NAMESPACES`

  - ### setRepairingNamespaces

    public void setRepairingNamespaces(boolean repairingNamespaces)

  - ### getCustomRegex

    public String getCustomRegex()
    Description copied from interface: `JsonXMLConfig`

    Format output ignoring scientific numbers

    Specified by:
      `getCustomRegex` in interface `JsonXMLConfig`
    Returns:
      autoprimitive enabled with scientific Number Ignore flag
    See Also:
      - `JsonXMLOutputFactory.PROP_CUSTOM_REGEX`

  - ### setCustomRegex

    public void setCustomRegex(String customRegex)

  - ### getCustomReplaceRegex

    public String getCustomReplaceRegex()
    Specified by:
      `getCustomReplaceRegex` in interface `JsonXMLConfig`

  - ### setCustomReplaceRegex

    public void setCustomReplaceRegex(String customReplaceRegex)

  - ### getCustomReplaceSequence

    public String getCustomReplaceSequence()
    Specified by:
      `getCustomReplaceSequence` in interface `JsonXMLConfig`

  - ### setCustomReplaceSequence

    public void setCustomReplaceSequence(String customReplaceSequence)

  - ### setReadWriteXmlNil

    public void setReadWriteXmlNil(boolean readWriteXmlNil)

  - ### setWriteNullForEmptyElement

    public void setWriteNullForEmptyElement(boolean writeNullForEmptyElement)

  - ### isReadWriteXmlNil

    public boolean isReadWriteXmlNil()
    Specified by:
      `isReadWriteXmlNil` in interface `JsonXMLConfig`

  - ### isWriteNullForEmptyElements

    public boolean isWriteNullForEmptyElements()
    Description copied from interface: `JsonXMLConfig`
    Used in XML->JSON conversion. Decides whether to set null or "" for an empty XML element without nil attribute
    Specified by:
      `isWriteNullForEmptyElements` in interface `JsonXMLConfig`
    Returns:
      true if null is written, false if "" is written

  - ### isPreserverNamespacesForJson

    public boolean isPreserverNamespacesForJson()
    Description copied from interface: `JsonXMLConfig`
    Preserves the namespace declarations in the JSON output in XML to JSON transformations.
    Specified by:
      `isPreserverNamespacesForJson` in interface `JsonXMLConfig`
    Returns:
      preserveNamespacesForJson

  - ### setPreserverNamespacesForJson

    public void setPreserverNamespacesForJson(boolean preserverNamespacesForJson)

  - ### isProcessNCNames

    public boolean isProcessNCNames()
    Description copied from interface: `JsonXMLConfig`
    Builds valid XML NCNames when building XML element names in XML to JSON transformations.
    Specified by:
      `isProcessNCNames` in interface `JsonXMLConfig`
    Returns:
      processNCNames

  - ### setProcessNCNames

    public void setProcessNCNames(boolean processNCNames)