org.apache.olingo.odata2.jpa.processor.api

## Interface ODataJPAContext

-     public interface ODataJPAContext

  This class does the compilation of context objects required for OData JPA Runtime. The context object should be properly initialized with values else the behavior of processor and EDM provider can result in exception. Following are the mandatory parameter to be set into the context object
  1. Persistence Unit Name
  2. An instance of Java Persistence Entity Manager Factory
  See Also:
    `ODataJPAFactory`, `ODataJPAAccessFactory`
  Do not implement this interface or derive from class.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `getDefaultNaming()` The method returns whether the library should consider default naming for EdmProperty EdmComplexProperty EdmNavigationProperty
    `EdmProvider` | `getEdmProvider()` The method gets the EDM provider for JPA from the context.
    `javax.persistence.EntityManager` | `getEntityManager()` The method returns an instance of type entity manager.
    `javax.persistence.EntityManagerFactory` | `getEntityManagerFactory()` The method gets the Java Persistence Entity Manager factory from the context.
    `JPAEdmExtension` | `getJPAEdmExtension()` The method returns the JPA Edm Extension instance set into the context.
    `String` | `getJPAEdmMappingModel()` The method gets the JPA EDM mapping model name from the context.
    `ODataContext` | `getODataContext()` The method gets OData Context into the context.
    `ODataJPATransaction` | `getODataJPATransaction()` The method returns the ODataJPATransaction.
    `ODataProcessor` | `getODataProcessor()` The method gets the OData Processor for JPA from the context.
    `int` | `getPageSize()` The method gets the server side page size to the context
    `JPAPaging` | `getPaging()` The method returns the server side paging object
    `String` | `getPersistenceUnitName()` The method gets the Java Persistence Unit Name set into the context.
    `boolean` | `isContainerManaged()` The method returns `true` if the underlying entity manager is container managed.
    `void` | `setContainerManaged(boolean containerManaged)` Set the state whether the underlying entity manager is container managed (or not).
    `void` | `setDefaultNaming(boolean defaultNaming)` The method sets into the context whether the library should consider default naming for EdmProperty EdmComplexProperty EdmNavigationProperty
    `void` | `setEdmProvider(EdmProvider edmProvider)` The method sets EDM provider into the context
    `void` | `setEntityManager(javax.persistence.EntityManager em)` The method sets the Entity Manager into the Context
    `void` | `setEntityManagerFactory(javax.persistence.EntityManagerFactory emf)` The method sets the Java Persistence Entity Manager factory into the context.
    `void` | `setJPAEdmExtension(JPAEdmExtension jpaEdmExtension)` The method sets the JPA Edm Extension instance into the context.
    `void` | `setJPAEdmMappingModel(String name)` The method sets the JPA EDM mapping model name into the context.
    `void` | `setODataContext(ODataContext ctx)` The method sets OData context into the context.
    `void` | `setODataProcessor(ODataProcessor processor)` The method sets the OData Processor for JPA into the context.
    `void` | `setPageSize(int size)` The method sets the server side page size to the context
    `void` | `setPaging(JPAPaging paging)` The method sets the server side paging object
    `void` | `setPersistenceUnitName(String pUnitName)` The method sets the Java Persistence Unit Name into the context.

- - ### Method Detail

    - #### getPersistenceUnitName

          String getPersistenceUnitName()

      The method gets the Java Persistence Unit Name set into the context.
      Returns:
        Java Persistence Unit Name

    - #### setPersistenceUnitName

          void setPersistenceUnitName(String pUnitName)

      The method sets the Java Persistence Unit Name into the context.
      Parameters:
        `pUnitName` - is the Java Persistence Unit Name.

    - #### getODataProcessor

          ODataProcessor getODataProcessor()

      The method gets the OData Processor for JPA from the context.
      Returns:
        OData JPA Processor

    - #### setODataProcessor

          void setODataProcessor(ODataProcessor processor)

      The method sets the OData Processor for JPA into the context.
      Parameters:
        `processor` - is the specific implementation of `ODataJPAProcessor` for processing OData service requests.

    - #### getEdmProvider

          EdmProvider getEdmProvider()

      The method gets the EDM provider for JPA from the context.
      Returns:
        EDM provider

    - #### setEdmProvider

          void setEdmProvider(EdmProvider edmProvider)

      The method sets EDM provider into the context
      Parameters:
        `edmProvider` - is the specific implementation of `EdmProvider` for transforming Java persistence models to Entity Data Model

    - #### getEntityManagerFactory

          javax.persistence.EntityManagerFactory getEntityManagerFactory()

      The method gets the Java Persistence Entity Manager factory from the context.
      CAUTION:- Don't use the Entity Manager Factory to instantiate Entity Managers. Instead get reference to Entity Manager using `getEntityManager()`
      Returns:
        an instance of Java Persistence Entity Manager Factory

    - #### setEntityManagerFactory

          void setEntityManagerFactory(javax.persistence.EntityManagerFactory emf)

      The method sets the Java Persistence Entity Manager factory into the context.
      Parameters:
        `emf` - is of type `EntityManagerFactory`

    - #### getODataContext

          ODataContext getODataContext()

      The method gets OData Context into the context.
      Returns:
        OData Context

    - #### setODataContext

          void setODataContext(ODataContext ctx)

      The method sets OData context into the context.
      Parameters:
        `ctx` - is an OData context of type `ODataContext`

    - #### setJPAEdmMappingModel

          void setJPAEdmMappingModel(String name)

      The method sets the JPA EDM mapping model name into the context. JPA EDM mapping model is an XML document based on JPAEDMMappingModel.xsd
      Parameters:
        `name` - is the name of JPA EDM mapping model

    - #### getJPAEdmMappingModel

          String getJPAEdmMappingModel()

      The method gets the JPA EDM mapping model name from the context.
      Returns:
        name of JPA EDM mapping model

    - #### setEntityManager

          void setEntityManager(javax.persistence.EntityManager em)

      The method sets the Entity Manager into the Context
      Parameters:
        `em` -

    - #### getEntityManager

          javax.persistence.EntityManager getEntityManager()

      The method returns an instance of type entity manager. The entity manager thus returns a single persistence context for the current OData request. Hence all entities that are accessed within JPA processor are managed by single entity manager.
      Returns:
        an instance of type `EntityManager`

    - #### setJPAEdmExtension

          void setJPAEdmExtension(JPAEdmExtension jpaEdmExtension)

      The method sets the JPA Edm Extension instance into the context. There can be at most only one extension for a context. Invoking the method several times overwrites already set extension instance in the context.
      Parameters:
        `jpaEdmExtension` - is an instance of type `JPAEdmExtension`

    - #### getJPAEdmExtension

          JPAEdmExtension getJPAEdmExtension()

      The method returns the JPA Edm Extension instance set into the context.
      Returns:
        an instance of type `JPAEmbeddableTypeMapType`

    - #### setDefaultNaming

          void setDefaultNaming(boolean defaultNaming)

      The method sets into the context whether the library should consider default naming for
      - EdmProperty
      - EdmComplexProperty
      - EdmNavigationProperty
      Parameters:
        `defaultNaming` - is a boolean value that indicates if set to
        - true - default naming is considered in case no mapping is provided.
        - false - default naming is not considered in case no mapping is provided. The name provided in JPA Entity Model is considered.

    - #### getDefaultNaming

          boolean getDefaultNaming()

      The method returns whether the library should consider default naming for
      - EdmProperty
      - EdmComplexProperty
      - EdmNavigationProperty
      Returns:
        - true - default naming is considered in case no mapping is provided.
        - false - default naming is not considered in case no mapping is provided. The name provided in JPA Entity Model is considered.

    - #### getPageSize

          int getPageSize()

      The method gets the server side page size to the context
      Returns:
        the page size

    - #### setPageSize

          void setPageSize(int size)

      The method sets the server side page size to the context
      Parameters:
        `size` -

    - #### setPaging

          void setPaging(JPAPaging paging)

      The method sets the server side paging object
      Parameters:
        `paging` - an instance of type `JPAPaging`

    - #### getPaging

          JPAPaging getPaging()

      The method returns the server side paging object
      Returns:
        an instance of type `JPAPaging`

    - #### getODataJPATransaction

          ODataJPATransaction getODataJPATransaction()

      The method returns the ODataJPATransaction.
      Returns:
        ODataJPATransaction

    - #### setContainerManaged

          void setContainerManaged(boolean containerManaged)

      Set the state whether the underlying entity manager is container managed (or not). (Default is `false`)
      Parameters:
        `containerManaged` - `true` for container managed entity manager

    - #### isContainerManaged

          boolean isContainerManaged()

      The method returns `true` if the underlying entity manager is container managed. (Default is `false`)
      Returns:
        `true` if the underlying entity manger is container manged.

Copyright © 2013-2023 The Apache Software Foundation. All Rights Reserved.