Class RESTMappedObjectsExternalObject

  • All Implemented Interfaces:
    com.simplicite.util.engine.CacheInterface, java.io.Serializable

    public abstract class RESTMappedObjectsExternalObject
    extends RESTServiceExternalObject
    REST service external object dedicated to mapped business object services
    See Also:
    Serialized Form
    • Field Detail

      • DESC_HIDDEN_FROM_SCHEMA

        public static final java.lang.String DESC_HIDDEN_FROM_SCHEMA
        Hidden description, means hiding from the schemas
        See Also:
        Constant Field Values
      • OPERATION_PING

        public static final java.lang.String OPERATION_PING
        Ping operation
        See Also:
        Constant Field Values
      • OPERATION_SEARCH

        public static final java.lang.String OPERATION_SEARCH
        Search operation
        See Also:
        Constant Field Values
      • OPERATION_GET

        public static final java.lang.String OPERATION_GET
        Get operation
        See Also:
        Constant Field Values
      • OPERATION_CREATE

        public static final java.lang.String OPERATION_CREATE
        Create operation
        See Also:
        Constant Field Values
      • OPERATION_UPDATE

        public static final java.lang.String OPERATION_UPDATE
        Update operation
        See Also:
        Constant Field Values
      • OPERATION_DELETE

        public static final java.lang.String OPERATION_DELETE
        Delete operation
        See Also:
        Constant Field Values
    • Constructor Detail

      • RESTMappedObjectsExternalObject

        public RESTMappedObjectsExternalObject()
    • Method Detail

      • error

        public org.json.JSONObject error​(int code,
                                         java.lang.String message)
        Error response
        Overrides:
        error in class RESTServiceExternalObject
        Parameters:
        code - HTTP status
        message - Error message
        Returns:
        JSON object
      • success

        public org.json.JSONObject success​(java.lang.String operation,
                                           java.lang.String objName,
                                           org.json.JSONObject res)
        Success response
        Parameters:
        operation - Operation (one of OPERATION_*)
        objName - Object name
        res - Response
        Returns:
        JSON object
      • addObject

        public void addObject​(java.lang.String name,
                              java.lang.String objName)
        Add an object mapping
        Parameters:
        name - Mapped object name (e.g. users mapped to User)
        objName - Business object name (e.g. User)
      • addObject

        public void addObject​(java.lang.String name,
                              java.lang.String objName,
                              java.lang.String desc)
        Add an object mapping
        Parameters:
        name - Mapped object name (e.g. users mapped to User)
        objName - Business object name (e;g. User)
        desc - Optional description (defaults to configured object description, using DESC_HIDDEN constant hides object from the schemas)
      • addObject

        public void addObject​(java.lang.String name,
                              java.lang.String objName,
                              java.lang.String desc,
                              boolean paginated,
                              int pageSize)
        Add an object mapping
        Parameters:
        name - Mapped object name (e.g. users mapped to User)
        objName - Business object name (e;g. User)
        desc - Optional description (defaults to configured object description, using DESC_HIDDEN constant hides object from the schemas)
        paginated - Paginated by default?
        pageSize - Default page size. Defautls to configured page size if this value is 0
      • addTimestampFields

        public void addTimestampFields​(java.lang.String name)
        Addd timestamp fields
        Parameters:
        name - Mapped objevt name
      • addOperationDesc

        public void addOperationDesc​(java.lang.String name,
                                     java.lang.String op,
                                     java.lang.String desc)
        Add a description for operation
        Parameters:
        name - Object name (may be null)
        op - Operation name (one of OPERATION_* constant)
        desc - Description
      • addField

        public void addField​(java.lang.String name,
                             java.lang.String field,
                             java.lang.String fieldName)
        Add a field mapping
        Parameters:
        name - Mapped object name (e.g. users)
        field - Mapped field name (e.g. login)
        fieldName - Actual business object field name (e.g. usr_login)
      • addField

        public void addField​(java.lang.String name,
                             java.lang.String field,
                             java.lang.String fieldName,
                             java.lang.String desc,
                             java.lang.String example)
        Add a field mapping
        Parameters:
        name - Mapped object name (e.g. users)
        field - Mapped field name (e.g. login)
        fieldName - Actual business object field name (e.g. usr_login)
        desc - Optional description (defaults to configured field description)
        example - Optional example value
      • addRefField

        public void addRefField​(java.lang.String name,
                                java.lang.String refName,
                                java.lang.String refField,
                                java.lang.String refFieldName)
        Add a reference field mapping
        Parameters:
        name - Mapped object name (e.g. resps mapped to Responsability)
        refName - Mapped referenced object name (e.g. users mapped to User), note that this object name is implictly used to name the link
        refField - Mapped reference field name (e.g. userId)
        refFieldName - Actual business object reference field name (e.g. rsp_login_id)
      • addRefField

        public void addRefField​(java.lang.String name,
                                java.lang.String refName,
                                java.lang.String refField,
                                java.lang.String refFieldName,
                                java.lang.String desc)
        Add a reference field mapping
        Parameters:
        name - Mapped object name (e.g. resps mapped to Responsability)
        refName - Mapped referenced object name (e.g. users mapped to User), note that this object name is implictly used to name the link
        refField - Mapped reference field name (e.g. userId)
        refFieldName - Actual business object reference field name (e.g. rsp_login_id)
        desc - Optional description (defaults to configured reference field description)
      • addRefField

        public void addRefField​(java.lang.String name,
                                java.lang.String refName,
                                java.lang.String refField,
                                java.lang.String refFieldName,
                                java.lang.String linkName,
                                boolean embeddedLink,
                                java.lang.String desc)
        Add a reference field mapping
        Parameters:
        name - Mapped object name (e.g. resps mapped to Responsability)
        refName - Mapped referenced object name (e.g. users mapped to User)
        refField - Mapped reference field name (e.g. userId)
        refFieldName - Actual business object reference field name (e.g. rsp_login_id)
        linkName - Optional link name (e.g. userResps), otherwise the referenced object name is used to name the link
        embeddedLink - Embedded link?
        desc - Optional description (defaults to configured reference field description)
      • addRefField

        public void addRefField​(java.lang.String name,
                                java.lang.String refName,
                                java.lang.String refField,
                                java.lang.String refFieldName,
                                java.lang.String linkName,
                                boolean embeddedLink,
                                int embeddingDepth,
                                java.lang.String desc)
        Add a reference field mapping
        Parameters:
        name - Mapped object name (e.g. resps mapped to Responsability)
        refName - Mapped referenced object name (e.g. users mapped to User)
        refField - Mapped reference field name (e.g. userId)
        refFieldName - Actual business object reference field name (e.g. rsp_login_id)
        linkName - Optional link name (e.g. userResps), otherwise the referenced object name is used to name the link
        embeddedLink - Embedded link?
        embeddingDepth - Embedding depth (for reflexive link) <1 means no limit in depth
        desc - Optional description (defaults to configured reference field description)
      • getOpenAPISpec

        public int getOpenAPISpec()
        Get OpenAPI specification
        Returns:
        OpenAPI specification (one of JSONTool.OPENAPI_*)
      • setOpenAPISpec

        public void setOpenAPISpec​(int spec)
        Set OpenAPI specification
        Parameters:
        spec - OpenAPI specification (one of JSONTool.OPENAPI_*)
      • setOpenAPIDesc

        public void setOpenAPIDesc​(java.lang.String desc)
        Set description (defauts to external objet description)
        Parameters:
        desc - OpenAPI description
      • getOpenAPIDesc

        public java.lang.String getOpenAPIDesc()
        Get OpenAPI description
        Returns:
        OpenAPI description
      • setOpenAPIVers

        public void setOpenAPIVers​(java.lang.String version)
        Set version (defauts to external objet name)
        Parameters:
        version - OpenAPI version
      • getOpenAPIVers

        public java.lang.String getOpenAPIVers()
        Get OpenAPI version
        Returns:
        OpenAPI version
      • setOpenAPIBasePath

        public void setOpenAPIBasePath​(java.lang.String basePath)
        Set base path (defauts to /api/<name>)
        Parameters:
        basePath - OpenAPI base path
      • getOpenAPIBasePath

        public java.lang.String getOpenAPIBasePath()
        Get OpenAPI base path
        Returns:
        basePath OpenAPI base path
      • openapi

        public org.json.JSONObject openapi()
        OpenAPI documentation
        Overrides:
        openapi in class RESTServiceExternalObject
        Returns:
        OpenAPI documentation as JSON object
      • getOpenAPIVersion

        @Deprecated(forRemoval=true,
                    since="4.0")
        public int getOpenAPIVersion()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use getOpenAPISpec
      • setOpenAPIVersion

        @Deprecated(forRemoval=true,
                    since="4.0")
        public void setOpenAPIVersion​(int spec)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use setOpenAPISpec