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

## Interface JPAEdmSchemaView

- All Superinterfaces:
    JPAEdmBaseView

      public interface JPAEdmSchemaView
      extends JPAEdmBaseView

  A view on Java Persistence Model and Entity Data Model Schema. Each java persistence unit corresponds to a one EDM schema.

  The implementation of the view provides access to EDM schema created from Java Persistence unit. The implementation acts as a container for schema. The schema is consistent only if following elements are consistent

  1. `JPAEdmAssociationView`
  2. `JPAEdmEntityContainerView`
  3. `JPAEdmComplexTypeView`

  See Also:
    `JPAEdmAssociationView`, `JPAEdmEntityContainerView`, `JPAEdmComplexTypeView`
  Do not implement this interface or derive from class.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Schema` | `getEdmSchema()` The method returns the EDM schema present in the container.
    `JPAEdmAssociationView` | `getJPAEdmAssociationView()` The method returns JPA EDM association view.
    `JPAEdmComplexTypeView` | `getJPAEdmComplexTypeView()` The method returns JPA EDM complex view.
    `JPAEdmEntityContainerView` | `getJPAEdmEntityContainerView()` The method returns JPA EDM container view.
    `HashMap<Class<?>,String[]>` | `getRegisteredOperations()` The method returns an Hash Map containing the registered custom operations.
    `void` | `registerOperations(Class<?> customClass, String[] methodNames)` The method registers custom operations that shall be represented as Edm Function Imports.

    - ### Methods inherited from interface org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmBaseView

      `clean, getBuilder, getJPAEdmExtension, getJPAEdmMappingModelAccess, getJPAMetaModel, getpUnitName, isConsistent, isDefaultNamingSkipped`

- - ### Method Detail

    - #### getEdmSchema

          Schema getEdmSchema()

      The method returns the EDM schema present in the container.
      Returns:
        an instance EDM schema of type `Schema`

    - #### getJPAEdmEntityContainerView

          JPAEdmEntityContainerView getJPAEdmEntityContainerView()

      The method returns JPA EDM container view. The JPA EDM container view can be used to access EDM Entity Container elements.
      Returns:
        an instance of type `JPAEdmEntityContainerView`

    - #### getJPAEdmComplexTypeView

          JPAEdmComplexTypeView getJPAEdmComplexTypeView()

      The method returns JPA EDM complex view. The JPA EDM complex view can be used to access EDM complex types and JPA Embeddable Types.
      Returns:
        an instance of type `JPAEdmComplexTypeView`

    - #### getJPAEdmAssociationView

          JPAEdmAssociationView getJPAEdmAssociationView()

      The method returns JPA EDM association view. The JPA EDM association view can be used to access EDM associations and JPA Relationships.
      Returns:
        an instance of type `JPAEdmAssociationView`

    - #### registerOperations

          void registerOperations(Class<?> customClass,
                                  String[] methodNames)

      The method registers custom operations that shall be represented as Edm Function Imports. Custom operations are created using Edm Annotation `org.apache.olingo.odata2.api.annotation.edm.FunctionImport`.

      Custom Operations can be part of JPA Entity or can be created in a class other than JPA Entity. Such custom operations can be registered using this method.

      The method is a callback.

      Parameters:
        `customClass` - is the class that contains custom operations
        `methodNames` - is the name of the method that needs to be transformed into Function Imports. It is an optional parameter. If null is passed then all annotated methods are transformed into Function Imports.

    - #### getRegisteredOperations

          HashMap<Class<?>,String[]> getRegisteredOperations()

      The method returns an Hash Map containing the registered custom operations.
      Returns:
        a HashMap of Class and the methods in the class

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