Class OData

java.lang.Object
org.apache.olingo.server.api.OData
Direct Known Subclasses:
ODataNetty

public abstract class OData extends Object
Root object for serving factory tasks and support loose coupling of implementation (core) from the API. This is not a singleton (static variables) to avoid issues with synchronization, OSGi, hot deployment and so on. Each thread (request) should keep its own instance.
  • Constructor Details

    • OData

      public OData()
  • Method Details

    • newInstance

      public static OData newInstance()
      Use this method to create a new OData instance. Each thread/request should keep its own instance.
      Returns:
      a new OData instance
    • createSerializer

      public abstract ODataSerializer createSerializer(ContentType contentType) throws SerializerException
      Creates a new serializer object for rendering content in the specified format. Serializers are used in Processor implementations.
      Parameters:
      contentType - any format supported by Olingo (XML, JSON ...)
      Throws:
      SerializerException
    • createSerializer

      public abstract ODataSerializer createSerializer(ContentType contentType, List<String> versions) throws SerializerException
      Creates a new serializer object for rendering content in the specified format. Serializers are used in Processor implementations.
      Parameters:
      contentType - any format supported by Olingo (XML, JSON ...)
      versions - any v4 version supported by Olingo (4.0, 4.01 ...)
      Throws:
      SerializerException
    • createFixedFormatSerializer

      public abstract FixedFormatSerializer createFixedFormatSerializer()
      Creates a new serializer object for rendering content in a fixed format, e.g., for binary output or multipart/mixed outpu. Serializers are used in Processor implementations.
    • createFixedFormatDeserializer

      public abstract FixedFormatDeserializer createFixedFormatDeserializer()
      Creates a new deserializer object for reading content in a fixed format, e.g., for binary input. Deserializers are used in Processor implementations.
    • createHandler

      public abstract ODataHttpHandler createHandler(ServiceMetadata serviceMetadata)
      Creates a new ODataHttpHandler for handling OData requests in an HTTP context.
      Parameters:
      serviceMetadata - - metadata object required to handle an OData request
    • createRawHandler

      public abstract ODataHandler createRawHandler(ServiceMetadata serviceMetadata)
      Creates a new ODataHandler for handling OData requests.
      Parameters:
      serviceMetadata - - metadata object required to handle an OData request
    • createServiceMetadata

      public abstract ServiceMetadata createServiceMetadata(CsdlEdmProvider edmProvider, List<EdmxReference> references)
      Creates a metadata object for this service.
      Parameters:
      edmProvider - a custom or default implementation for creating metadata
      references - list of edmx references
      Returns:
      a service metadata implementation
    • createServiceMetadata

      public abstract ServiceMetadata createServiceMetadata(CsdlEdmProvider edmProvider, List<EdmxReference> references, ServiceMetadataETagSupport serviceMetadataETagSupport)
      Creates a metadata object for this service.
      Parameters:
      edmProvider - a custom or default implementation for creating metadata
      references - list of edmx references
      serviceMetadataETagSupport -
      Returns:
      a service metadata implementation
    • createUriHelper

      public abstract UriHelper createUriHelper()
      Creates a new URI helper object for performing URI-related tasks. It can be used in Processor implementations.
    • createDeserializer

      public abstract ODataDeserializer createDeserializer(ContentType contentType) throws DeserializerException
      Creates a new deserializer object for reading content in the specified format. Deserializers are used in Processor implementations.
      Parameters:
      contentType - any content type supported by Olingo (XML, JSON ...)
      Throws:
      DeserializerException
    • createDeserializer

      public abstract ODataDeserializer createDeserializer(ContentType contentType, ServiceMetadata metadata) throws DeserializerException
      Creates a new deserializer object for reading content in the specified format. Deserializers are used in Processor implementations.
      Parameters:
      contentType - any content type supported by Olingo (XML, JSON ...)
      metadata - ServiceMetada of the service
      Throws:
      DeserializerException
    • createDeserializer

      public abstract ODataDeserializer createDeserializer(ContentType contentType, List<String> versions) throws DeserializerException
      Creates a new deserializer object for reading content in the specified format. Deserializers are used in Processor implementations.
      Parameters:
      contentType - any content type supported by Olingo (XML, JSON ...)
      service - version
      Throws:
      DeserializerException
    • createDeserializer

      public abstract ODataDeserializer createDeserializer(ContentType contentType, ServiceMetadata metadata, List<String> versions) throws DeserializerException
      Creates a new deserializer object for reading content in the specified format. Deserializers are used in Processor implementations.
      Parameters:
      contentType - any content type supported by Olingo (XML, JSON ...)
      metadata - ServiceMetada of the service
      service - version
      Throws:
      DeserializerException
    • createPrimitiveTypeInstance

      public abstract EdmPrimitiveType createPrimitiveTypeInstance(EdmPrimitiveTypeKind kind)
      Creates a primitive-type instance.
      Parameters:
      kind - the kind of the primitive type
      Returns:
      an EdmPrimitiveType instance for the type kind
    • createETagHelper

      public abstract ETagHelper createETagHelper()
      Creates a new ETag helper object for performing ETag-related tasks. It can be used in Processor implementations.
    • createPreferences

      public abstract Preferences createPreferences(Collection<String> preferHeaders)
      Creates a new Preferences object out of Prefer HTTP request headers. It can be used in Processor implementations.
    • createDebugResponseHelper

      public abstract DebugResponseHelper createDebugResponseHelper(String debugFormat)
      Creates a DebugResponseHelper for the given debugFormat. If the format is not supported no exception is thrown. Instead we give back the implementation for the JSON format.
      Parameters:
      debugFormat - format to be used
      Returns:
      a debug-response helper
    • createEdmAssistedSerializer

      public abstract EdmAssistedSerializer createEdmAssistedSerializer(ContentType contentType) throws SerializerException
      Creates a new serializer object capable of working without EDM information for rendering content in the specified format.
      Parameters:
      contentType - a content type supported by Olingo
      Throws:
      SerializerException
    • createEdmAssistedSerializer

      public abstract EdmAssistedSerializer createEdmAssistedSerializer(ContentType contentType, List<String> versions) throws SerializerException
      Creates a new serializer object capable of working without EDM information for rendering content in the specified format.
      Parameters:
      contentType - a content type supported by Olingo
      versions - Odata Version v4 or v4.01
      Throws:
      SerializerException
    • createEdmDeltaSerializer

      public abstract EdmDeltaSerializer createEdmDeltaSerializer(ContentType contentType, List<String> versions) throws SerializerException
      Creates a new serializer object capable of working without EDM information for rendering delta content in the specified format.
      Parameters:
      contentType - a content type supported by Olingo
      version - versions supported by Olingo
      Throws:
      SerializerException