Class APIParameterListHandler<B>

  • Type Parameters:
    B - class that represents the API parameter list

    public class APIParameterListHandler<B>
    extends ReferenceableHandler<B>
    APIParameterListHandler provides the exchange of metadata about APIParameterList schema types between the repository and the OMAS.
    • Constructor Detail

      • APIParameterListHandler

        public APIParameterListHandler​(OpenMetadataAPIGenericConverter<B> converter,
                                       Class<B> beanClass,
                                       String serviceName,
                                       String serverName,
                                       InvalidParameterHandler invalidParameterHandler,
                                       RepositoryHandler repositoryHandler,
                                       OMRSRepositoryHelper repositoryHelper,
                                       String localServerUserId,
                                       OpenMetadataServerSecurityVerifier securityVerifier,
                                       List<String> supportedZones,
                                       List<String> defaultZones,
                                       List<String> publishZones,
                                       AuditLog auditLog)
        Construct the handler with information needed to work with B objects.
        Parameters:
        converter - specific converter for this bean class
        beanClass - name of bean class that is represented by the generic class B
        serviceName - name of this service
        serverName - name of the local server
        invalidParameterHandler - handler for managing parameter errors
        repositoryHandler - manages calls to the repository services
        repositoryHelper - provides utilities for manipulating the repository services objects
        localServerUserId - userId for this server
        securityVerifier - open metadata security services verifier
        supportedZones - list of zones that the access service is allowed to serve B instances from
        defaultZones - list of zones that the access service should set in all new B instances
        publishZones - list of zones that the access service sets up in published B instances
        auditLog - destination for audit log events
    • Method Detail

      • createAPIParameterList

        public String createAPIParameterList​(String userId,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String apiOperationGUID,
                                             String apiOperationGUIDParameterName,
                                             String qualifiedName,
                                             String displayName,
                                             String description,
                                             String versionNumber,
                                             boolean isDeprecated,
                                             String author,
                                             String usage,
                                             String encodingStandard,
                                             String namespace,
                                             boolean required,
                                             Map<String,​String> additionalProperties,
                                             String suppliedTypeName,
                                             Map<String,​Object> extendedProperties,
                                             String relationshipTypeName,
                                             String methodName)
                                      throws InvalidParameterException,
                                             UserNotAuthorizedException,
                                             PropertyServerException
        Create the API parameter list object.
        Parameters:
        userId - calling user
        externalSourceGUID - unique identifier of software server capability representing the caller
        externalSourceName - unique name of software server capability representing the caller
        apiOperationGUID - unique identifier of the owning API operation
        apiOperationGUIDParameterName - parameter supplying apiOperationGUID
        qualifiedName - unique name for the API parameter list - used in other configuration
        displayName - short display name for the API parameter list
        description - description of the API parameter list
        versionNumber - version of the schema type.
        isDeprecated - is the schema type deprecated
        author - name of the author
        usage - guidance on how the schema should be used.
        encodingStandard - format of the schema
        namespace - namespace where the schema is defined.
        required - is this parameter list required when the API is called?
        additionalProperties - additional properties for a API parameter list
        suppliedTypeName - type name from the caller (enables creation of subtypes)
        extendedProperties - properties for a API parameter list subtype
        relationshipTypeName - which relationship should connect the APIOperation and the APIParameterList?
        methodName - calling method
        Returns:
        unique identifier of the new API parameter list object
        Throws:
        InvalidParameterException - qualifiedName or userId is null
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • createAPIParameterListFromTemplate

        public String createAPIParameterListFromTemplate​(String userId,
                                                         String externalSourceGUID,
                                                         String externalSourceName,
                                                         String apiOperationGUID,
                                                         String apiOperationGUIDParameterName,
                                                         String templateGUID,
                                                         String qualifiedName,
                                                         String displayName,
                                                         String description,
                                                         String relationshipTypeName,
                                                         String methodName)
                                                  throws InvalidParameterException,
                                                         UserNotAuthorizedException,
                                                         PropertyServerException
        Create a API parameter list from a template.
        Parameters:
        userId - calling user
        externalSourceGUID - unique identifier of software server capability representing the caller
        externalSourceName - unique name of software server capability representing the caller
        apiOperationGUID - unique identifier of the owning API operation
        apiOperationGUIDParameterName - parameter supplying apiOperationGUID
        templateGUID - unique identifier of the metadata element to copy
        qualifiedName - unique name for the API parameter list - used in other configuration
        displayName - short display name for the API parameter list
        description - description of the API parameter list
        relationshipTypeName - which relationship should connect the APIOperation and the APIParameterList?
        methodName - calling method
        Returns:
        unique identifier of the new metadata element
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • updateAPIParameterList

        public void updateAPIParameterList​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String apiParameterListGUID,
                                           String apiParameterListGUIDParameterName,
                                           String qualifiedName,
                                           String displayName,
                                           String description,
                                           String versionNumber,
                                           boolean isDeprecated,
                                           String author,
                                           String usage,
                                           String encodingStandard,
                                           String namespace,
                                           boolean required,
                                           Map<String,​String> additionalProperties,
                                           String suppliedTypeName,
                                           Map<String,​Object> extendedProperties,
                                           boolean isMergeUpdate,
                                           String methodName)
                                    throws InvalidParameterException,
                                           UserNotAuthorizedException,
                                           PropertyServerException
        Update the API parameter list.
        Parameters:
        userId - calling user
        externalSourceGUID - unique identifier of software server capability representing the caller
        externalSourceName - unique name of software server capability representing the caller
        apiParameterListGUID - unique identifier for the API parameter list to update
        apiParameterListGUIDParameterName - parameter supplying the API parameter list
        qualifiedName - unique name for the API parameter list - used in other configuration
        displayName - short display name for the API parameter list
        description - description of the governance API parameter list
        versionNumber - version of the schema type
        isDeprecated - is the schema type deprecated
        author - name of the author
        usage - guidance on how the schema should be used
        encodingStandard - format of the schema
        namespace - namespace where the schema is defined
        required - is this parameter required when the API is invoked
        additionalProperties - additional properties for an API parameter list
        suppliedTypeName - type of term
        extendedProperties - properties for a governance API parameter list subtype
        isMergeUpdate - are unspecified properties unchanged (true) or removed?
        methodName - calling method
        Throws:
        InvalidParameterException - qualifiedName or userId is null
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • removeAPIParameterList

        public void removeAPIParameterList​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String apiParameterListGUID,
                                           String apiParameterListGUIDParameterName,
                                           String qualifiedName,
                                           String methodName)
                                    throws InvalidParameterException,
                                           UserNotAuthorizedException,
                                           PropertyServerException
        Remove the metadata element representing a API parameter lists.
        Parameters:
        userId - calling user
        externalSourceGUID - unique identifier of software server capability representing the caller
        externalSourceName - unique name of software server capability representing the caller
        apiParameterListGUID - unique identifier of the metadata element to remove
        apiParameterListGUIDParameterName - parameter for apiParameterListGUID
        qualifiedName - validating property
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • findAPIParameterLists

        public List<B> findAPIParameterLists​(String userId,
                                             String searchString,
                                             String searchStringParameterName,
                                             int startFrom,
                                             int pageSize,
                                             String methodName)
                                      throws InvalidParameterException,
                                             UserNotAuthorizedException,
                                             PropertyServerException
        Retrieve the list of API parameter lists metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        userId - calling user
        searchString - string to find in the properties
        searchStringParameterName - name of parameter supplying the search string
        startFrom - paging start point
        pageSize - maximum results that can be returned
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getAPIParameterListsByName

        public List<B> getAPIParameterListsByName​(String userId,
                                                  String name,
                                                  String nameParameterName,
                                                  int startFrom,
                                                  int pageSize,
                                                  String methodName)
                                           throws InvalidParameterException,
                                                  UserNotAuthorizedException,
                                                  PropertyServerException
        Retrieve the list of API parameter list metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        userId - calling user
        name - name to search for
        nameParameterName - parameter supplying name
        startFrom - paging start point
        pageSize - maximum results that can be returned
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getAPIParameterListsForOperation

        public List<B> getAPIParameterListsForOperation​(String userId,
                                                        String apiOperationGUID,
                                                        String apiOperationGUIDParameterName,
                                                        int startFrom,
                                                        int pageSize,
                                                        String methodName)
                                                 throws InvalidParameterException,
                                                        UserNotAuthorizedException,
                                                        PropertyServerException
        Retrieve the API parameter lists metadata element with the supplied unique identifier.
        Parameters:
        userId - calling user
        apiOperationGUID - unique identifier of the requested metadata element
        apiOperationGUIDParameterName - parameter name of the apiOperationGUID
        startFrom - paging start point
        pageSize - maximum results that can be returned
        methodName - calling method
        Returns:
        list of API parameter lists element
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)