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

# Class JsonXMLOutputFactory

java.lang.Object
javax.xml.stream.XMLOutputFactory
org.apache.synapse.commons.staxon.core.base.AbstractXMLOutputFactory
org.apache.synapse.commons.staxon.core.json.JsonXMLOutputFactory

public class JsonXMLOutputFactory extends AbstractXMLOutputFactory
XML output factory for streaming to JSON.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PROP_AUTO_ARRAY`
  Start/end arrays automatically?
  `static final String`
  `PROP_AUTO_PRIMITIVE`
  Convert element text to JSON primitives (number, boolean, null) automatically?
  `static final String`
  `PROP_CUSTOM_REGEX`
  Convert element text to JSON primitives with ignore given regex (number, boolean, null) automatically?
  `static final String`
  `PROP_CUSTOM_REPLACE_REGEX`
  `static final String`
  `PROP_CUSTOM_REPLACE_SEQUENCE`
  `static final String`
  `PROP_MULTIPLE_PI`
  Whether to use the `JsonXMLStreamConstants.MULTIPLE_PI_TARGET` processing instruction target to trigger an array start.
  `static final String`
  `PROP_NAMESPACE_DECLARATIONS`
  Whether to write namespace declarations.
  `static final String`
  `PROP_NAMESPACE_SEPARATOR`
  Namespace prefix separator.
  `static final String`
  `PROP_PRETTY_PRINT`
  Format output for better readability?
  `static final String`
  `PROP_VIRTUAL_ROOT`
  JSON documents may have have multiple root properties.

  ### Fields inherited from class javax.xml.stream.XMLOutputFactory

  `IS_REPAIRING_NAMESPACES`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JsonXMLOutputFactory()`
  `JsonXMLOutputFactory(JsonXMLConfig config)`
  `JsonXMLOutputFactory(JsonXMLConfig config, JsonStreamFactory streamFactory)`
  `JsonXMLOutputFactory(JsonStreamFactory streamFactory)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `XMLEventWriter`
  `createXMLEventWriter(XMLStreamWriter writer)`
  `JsonXMLStreamWriter`
  `createXMLStreamWriter(OutputStream stream)`
  `JsonXMLStreamWriter`
  `createXMLStreamWriter(OutputStream stream, String encoding)`
  `JsonXMLStreamWriter`
  `createXMLStreamWriter(Writer stream)`
  `JsonXMLConfig`
  `getConfig()`
  `Object`
  `getProperty(String name)`
  `boolean`
  `isPropertySupported(String name)`
  `void`
  `setProperty(String name, Object value)`

  ### Methods inherited from class org.apache.synapse.commons.staxon.core.base.AbstractXMLOutputFactory

  `createXMLEventWriter, createXMLEventWriter, createXMLEventWriter, createXMLEventWriter, createXMLStreamWriter`

  ### Methods inherited from class javax.xml.stream.XMLOutputFactory

  `newDefaultFactory, newFactory, newFactory, newInstance, newInstance`

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

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

- ## Field Details

  - ### PROP_AUTO_ARRAY

    public static final String PROP_AUTO_ARRAY

    Start/end arrays automatically?

    The default value is `false`.

    See Also:
      - Constant Field Values

  - ### PROP_AUTO_PRIMITIVE

    public static final String PROP_AUTO_PRIMITIVE

    Convert element text to JSON primitives (number, boolean, null) automatically?

    The default value is `false`.

    See Also:
      - Constant Field Values

  - ### PROP_MULTIPLE_PI

    public static final String PROP_MULTIPLE_PI

    Whether to use the `JsonXMLStreamConstants.MULTIPLE_PI_TARGET` processing instruction target to trigger 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.

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

    The default value is true.

    See Also:
      - Constant Field Values

  - ### PROP_VIRTUAL_ROOT

    public static final String PROP_VIRTUAL_ROOT

    JSON documents may have have multiple root properties. However, XML requires a single root element. This property takes the name of a "virtual" root element, which will be removed from the stream when writing.

    The default value is `null`.

    See Also:
      - Constant Field Values

  - ### PROP_NAMESPACE_SEPARATOR

    public static final String PROP_NAMESPACE_SEPARATOR

    Namespace prefix separator.

    The default value is `':'`.

    See Also:
      - Constant Field Values

  - ### PROP_NAMESPACE_DECLARATIONS

    public static final String PROP_NAMESPACE_DECLARATIONS

    Whether to write namespace declarations.

    The default value is `true`.

    See Also:
      - Constant Field Values

  - ### PROP_PRETTY_PRINT

    public static final String PROP_PRETTY_PRINT

    Format output for better readability?

    The default value is `false`.

    See Also:
      - Constant Field Values

  - ### PROP_CUSTOM_REGEX

    public static final String PROP_CUSTOM_REGEX

    Convert element text to JSON primitives with ignore given regex (number, boolean, null) automatically?

    The default value is `null`.

    See Also:
      - Constant Field Values

  - ### PROP_CUSTOM_REPLACE_REGEX

    public static final String PROP_CUSTOM_REPLACE_REGEX
    See Also:
      - Constant Field Values

  - ### PROP_CUSTOM_REPLACE_SEQUENCE

    public static final String PROP_CUSTOM_REPLACE_SEQUENCE
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### JsonXMLOutputFactory

    public JsonXMLOutputFactory() throws FactoryConfigurationError
    Throws:
      `FactoryConfigurationError`

  - ### JsonXMLOutputFactory

    public JsonXMLOutputFactory(JsonStreamFactory streamFactory)

  - ### JsonXMLOutputFactory

    public JsonXMLOutputFactory(JsonXMLConfig config) throws FactoryConfigurationError
    Throws:
      `FactoryConfigurationError`

  - ### JsonXMLOutputFactory

    public JsonXMLOutputFactory(JsonXMLConfig config, JsonStreamFactory streamFactory)

- ## Method Details

  - ### createXMLStreamWriter

    public JsonXMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding) throws XMLStreamException
    Specified by:
      `createXMLStreamWriter` in class `XMLOutputFactory`
    Throws:
      `XMLStreamException`

  - ### createXMLStreamWriter

    public JsonXMLStreamWriter createXMLStreamWriter(Writer stream) throws XMLStreamException
    Specified by:
      `createXMLStreamWriter` in class `XMLOutputFactory`
    Throws:
      `XMLStreamException`

  - ### createXMLStreamWriter

    public JsonXMLStreamWriter createXMLStreamWriter(OutputStream stream) throws XMLStreamException
    Specified by:
      `createXMLStreamWriter` in class `XMLOutputFactory`
    Throws:
      `XMLStreamException`

  - ### createXMLEventWriter

    public XMLEventWriter createXMLEventWriter(XMLStreamWriter writer) throws XMLStreamException
    Specified by:
      `createXMLEventWriter` in class `AbstractXMLOutputFactory`
    Throws:
      `XMLStreamException`

  - ### isPropertySupported

    public boolean isPropertySupported(String name)
    Overrides:
      `isPropertySupported` in class `AbstractXMLOutputFactory`

  - ### getProperty

    public Object getProperty(String name) throws IllegalArgumentException
    Overrides:
      `getProperty` in class `AbstractXMLOutputFactory`
    Throws:
      `IllegalArgumentException`

  - ### setProperty

    public void setProperty(String name, Object value) throws IllegalArgumentException
    Overrides:
      `setProperty` in class `AbstractXMLOutputFactory`
    Throws:
      `IllegalArgumentException`

  - ### getConfig

    public JsonXMLConfig getConfig()