Class JsonbProvider


  • public abstract class JsonbProvider
    extends Object
    Service provider for JSON Binding implementations. Provider implementors must implement all abstract methods. API clients can obtain instance of default provider by calling:
     
     JsonbProvider provider = JsonbProvider.provider();
     }
    Specific provider instance lookup:
     
     JsonbProvider provider;
     try {
       JsonbProvider.provider("foo.bar.ProviderImpl");
     } catch (JsonbException e) {
       // provider not found or could not be instantiated
     }
    where 'foo.bar.ProviderImpl' is a vendor implementation class extending JsonbProvider and identified to service loader as specified in ServiceLoader documentation.
    All the methods in this class are allowed to be called by multiple concurrent threads.
    Since:
    JSON Binding 1.0
    See Also:
    Jsonb, ServiceLoader
    • Constructor Detail

      • JsonbProvider

        protected JsonbProvider()
        Protected constructor.
    • Method Detail

      • provider

        public static JsonbProvider provider()
        Creates a JSON Binding provider object by using the ServiceLoader.load(Class) method. The first provider of JsonbProvider class from list of providers returned by ServiceLoader.load call is returned. If there are no available service providers, this method tries to load the default service provider using Class.forName(String) method.
        Returns:
        JsonbProvider instance
        Throws:
        JsonbException - if there is no provider found, or there is a problem instantiating the provider instance.
        See Also:
        ServiceLoader
      • provider

        public static JsonbProvider provider​(String providerName)
        Creates a JSON Binding provider object by using the ServiceLoader.load(Class) method, matching providerName. The first provider of JsonbProvider class from list of providers returned by ServiceLoader.load call, matching providerName is returned. If no such provider is found, JsonbException is thrown.
        Parameters:
        providerName - Class name (class.getName()) to be chosen from the list of providers returned by ServiceLoader.load(JsonbProvider.class) call.
        Returns:
        JsonbProvider instance
        Throws:
        JsonbException - if there is no provider found, or there is a problem instantiating the provider instance.
        NullPointerException - if providerName is null.
        See Also:
        ServiceLoader