Module org.eclipse.yasson
Class JsonbComponentInstanceCreatorFactory
java.lang.Object
org.eclipse.yasson.internal.components.JsonbComponentInstanceCreatorFactory
Factory method for default Jsonb component instance creators.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
Provides CDI bean manager instance, declares all exceptions thrown with reflective calls. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
LOGGER
-
BEAN_MANAGER_NAME
JNDI bean manager name.- See Also:
-
INITIAL_CONTEXT_CLASS
Initial context class.- See Also:
-
CDI_SPI_CLASS
- See Also:
-
-
Constructor Details
-
JsonbComponentInstanceCreatorFactory
private JsonbComponentInstanceCreatorFactory()
-
-
Method Details
-
getComponentInstanceCreator
First check a CDI provider, if available use those. Try to lookup in a JNDI if no provider is registered. If one of the above is foundBeanManagerInstanceCreator
is returned, orDefaultConstructorCreator
otherwise.- Returns:
- Component instance creator, either CDI or default constructor.
-
getCdiBeanManager
Get bean manager with CDI api.- Returns:
- bean manager instance or null if CDI API dependency is not available.
-
getJndiBeanManager
Get bean manager from JNDI context.- Returns:
- bean manager instance or null if javax.naming is not available.
-
getBeanManager
private static Object getBeanManager(JsonbComponentInstanceCreatorFactory.BeanManagerProvider command) throws ClassNotFoundException Handles common invocation exceptions for getting bean manager reflectively.- Returns:
- bean manager instance or null if javax.naming is not available or insufficient permissions.
- Throws:
ClassNotFoundException
-