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 Details

    • 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 Details

    • 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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create the API parameter list object.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software 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 an API parameter list
      suppliedTypeName - type name from the caller (enables creation of subtypes)
      extendedProperties - properties for an API parameter list subtype
      relationshipTypeName - which relationship should connect the APIOperation and the APIParameterList?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an API parameter list from a template.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software 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?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the API parameter list.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software 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
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      isMergeUpdate - are unspecified properties unchanged (true) or removed?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing an API parameter lists.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      apiParameterListGUID - unique identifier of the metadata element to remove
      apiParameterListGUIDParameterName - parameter for apiParameterListGUID
      qualifiedName - validating property
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, 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
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, 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
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, 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
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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)
    • getAPIParameterListByGUID

      public B getAPIParameterListByGUID(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the API parameter list metadata element with the supplied unique identifier.
      Parameters:
      userId - calling user
      guid - unique identifier of the requested metadata element
      guidParameterName - parameter name of guid
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      matching 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)