Class JsonProvider



  • public abstract class JsonProvider
    extends java.lang.Object
    Service provider for JSON processing objects.

    All the methods in this class are safe for use by multiple concurrent threads.

    See Also:
    ServiceLoader
    • Constructor Detail

      • JsonProvider

        protected JsonProvider​()
    • Method Detail

      • provider

        public static JsonProvider provider​()
        Creates a JSON provider object. The provider is loaded using the ServiceLoader.load(Class) method. If there are no available service providers, this method returns the default service provider.
        Returns:
        a JSON provider
        See Also:
        ServiceLoader
      • createParser

        public abstract JsonParser createParser​(java.io.Reader reader)
        Creates a JSON parser from a character stream.
        Parameters:
        reader - i/o reader from which JSON is to be read
        Returns:
        a JSON parser
      • createParser

        public abstract JsonParser createParser​(java.io.InputStream in)
        Creates a JSON parser from the specified byte stream. The character encoding of the stream is determined as defined in RFC 4627 .
        Parameters:
        in - i/o stream from which JSON is to be read
        Returns:
        a JSON parser
        Throws:
        JsonException - if encoding cannot be determined or i/o error (IOException would be cause of JsonException)
      • createParserFactory

        public abstract JsonParserFactory createParserFactory​(java.util.Map<java.lang.String,?> config)
        Creates a parser factory for creating JsonParser instances. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.
        Parameters:
        config - a map of provider specific properties to configure the JSON parsers. The map may be empty or null
        Returns:
        a JSON parser factory
      • createGenerator

        public abstract JsonGenerator createGenerator​(java.io.Writer writer)
        Creates a JSON generator for writing JSON text to a character stream.
        Parameters:
        writer - a i/o writer to which JSON is written
        Returns:
        a JSON generator
      • createGenerator

        public abstract JsonGenerator createGenerator​(java.io.OutputStream out)
        Creates a JSON generator for writing JSON text to a byte stream.
        Parameters:
        out - i/o stream to which JSON is written
        Returns:
        a JSON generator
      • createGeneratorFactory

        public abstract JsonGeneratorFactory createGeneratorFactory​(java.util.Map<java.lang.String,?> config)
        Creates a generator factory for creating JsonGenerator instances. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.
        Parameters:
        config - a map of provider specific properties to configure the JSON generators. The map may be empty or null
        Returns:
        a JSON generator factory
      • createReader

        public abstract JsonReader createReader​(java.io.Reader reader)
        Creates a JSON reader from a character stream.
        Parameters:
        reader - a reader from which JSON is to be read
        Returns:
        a JSON reader
      • createReader

        public abstract JsonReader createReader​(java.io.InputStream in)
        Creates a JSON reader from a byte stream. The character encoding of the stream is determined as described in RFC 4627.
        Parameters:
        in - a byte stream from which JSON is to be read
        Returns:
        a JSON reader
      • createWriter

        public abstract JsonWriter createWriter​(java.io.Writer writer)
        Creates a JSON writer to write a JSON object or array structure to the specified character stream.
        Parameters:
        writer - to which JSON object or array is written
        Returns:
        a JSON writer
      • createWriter

        public abstract JsonWriter createWriter​(java.io.OutputStream out)
        Creates a JSON writer to write a JSON object or array structure to the specified byte stream. Characters written to the stream are encoded into bytes using UTF-8 encoding.
        Parameters:
        out - to which JSON object or array is written
        Returns:
        a JSON writer
      • createWriterFactory

        public abstract JsonWriterFactory createWriterFactory​(java.util.Map<java.lang.String,?> config)
        Creates a writer factory for creating JsonWriter objects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.
        Parameters:
        config - a map of provider specific properties to configure the JSON writers. The map may be empty or null
        Returns:
        a JSON writer factory
      • createReaderFactory

        public abstract JsonReaderFactory createReaderFactory​(java.util.Map<java.lang.String,?> config)
        Creates a reader factory for creating JsonReader objects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.
        Parameters:
        config - a map of provider specific properties to configure the JSON readers. The map may be empty or null
        Returns:
        a JSON reader factory
      • createObjectBuilder

        public abstract JsonObjectBuilder createObjectBuilder​()
        Creates a JSON object builder
        Returns:
        a JSON object builder
      • createArrayBuilder

        public abstract JsonArrayBuilder createArrayBuilder​()
        Creates a JSON array builder
        Returns:
        a JSON array builder
      • createBuilderFactory

        public abstract JsonBuilderFactory createBuilderFactory​(java.util.Map<java.lang.String,?> config)
        Creates a builder factory for creating JsonArrayBuilder and JsonObjectBuilder objects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.
        Parameters:
        config - a map of provider specific properties to configure the JSON builders. The map may be empty or null
        Returns:
        a JSON builder factory