Class JsonbProvider

java.lang.Object
jakarta.json.bind.spi.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:
  • Constructor Details

    • JsonbProvider

      protected JsonbProvider()
      Protected constructor.
  • Method Details

    • 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:
    • 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:
    • create

      public abstract JsonbBuilder create()
      Returns a new instance of JsonbBuilder class. JsonbBuilder provides necessary getter methods to access required parameters.
      Returns:
      JsonbBuilder A new instance of class implementing JsonbBuilder. Always a non-null valid object.
      Throws:
      JsonbException - If an error was encountered while creating the JsonbBuilder instance.
      See Also: