public class

DefaultODataProducerProvider

extends Object
implements ContextResolver<T>
java.lang.Object
   ↳ org.odata4j.producer.resources.DefaultODataProducerProvider
Known Direct Subclasses

Class Overview

Default OData producer provider.

OData producer instances can either be set statically (method setInstance) or created by a factory (ODataProducerFactory) specified by the corresponding system property (constant FACTORY_PROPNAME).

To introduce an additional container-specific setting, it is required to extend this class and override method createInstanceFromFactoryInContainerSpecificSetting. Furthermore a subclass of AbstractODataApplication has to be created to make the new provider available to the JAX-RS runtime.

Summary

Constants
String FACTORY_PROPNAME Constant used as system property name.
Fields
private static ODataProducer STATIC
private ODataProducer instance
private final Logger log
Public Constructors
DefaultODataProducerProvider()
Public Methods
final ODataProducer getContext(Class<?> type)
static void setInstance(ODataProducer producer)
Sets the given OData producer as a static singleton.
Protected Methods
ODataProducer createInstanceFromFactoryInContainerSpecificSetting()
Creates an OData producer instance using a factory specified in a container-specific setting.
final void log(String msg)
Helper method to log an INFO message.
final ODataProducer newProducerFromFactory(String factoryTypeName, Properties props)
Helper method to create an OData producer instance from a given producer factory (ODataProducerFactory).
[Expand]
Inherited Methods
From class java.lang.Object
From interface javax.ws.rs.ext.ContextResolver

Constants

public static final String FACTORY_PROPNAME

Constant used as system property name.

Constant Value: "odata4j.producerfactory"

Fields

private static ODataProducer STATIC

private ODataProducer instance

private final Logger log

Public Constructors

public DefaultODataProducerProvider ()

Public Methods

public final ODataProducer getContext (Class<?> type)

Parameters
type

public static void setInstance (ODataProducer producer)

Sets the given OData producer as a static singleton.

Parameters
producer The OData producer

Protected Methods

protected ODataProducer createInstanceFromFactoryInContainerSpecificSetting ()

Creates an OData producer instance using a factory specified in a container-specific setting.

The default implementation returns null. Implementers can use the helper methods newProducerFromFactory and log.

Returns
  • the OData producer or null if no container-specific setting exists

protected final void log (String msg)

Helper method to log an INFO message.

Parameters
msg The log message

protected final ODataProducer newProducerFromFactory (String factoryTypeName, Properties props)

Helper method to create an OData producer instance from a given producer factory (ODataProducerFactory).

Parameters
factoryTypeName The factory's type name (fully qualified)
props The properties to use when constructing the producer
Returns
  • the new producer