Class ValidValuesHandler<B>

Direct Known Subclasses:
ReferenceDataHandler

public class ValidValuesHandler<B> extends ReferenceableHandler<B>
ValidValuesHandler provides the methods to create and maintain lists of valid value definitions grouped into a valid value set. Both valid value definitions and valid value sets have the same attributes and so inherit from ValidValue where all the attributes are defined.

A set is just grouping of valid values. Valid value definitions and set can be nested many times in other valid value sets.

  • Constructor Details

    • ValidValuesHandler

      public ValidValuesHandler(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 information needed to interact with the repository services
      Parameters:
      converter - specific converter for the B 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 Asset instances from.
      defaultZones - list of zones that the access service should set in all new Asset instances.
      publishZones - list of zones that the access service sets up in published Asset instances.
      auditLog - destination for audit log events.
  • Method Details

    • createValidValue

      public String createValidValue(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String category, String usage, String scope, boolean isDeprecated, boolean isCaseSensitive, String preferredValue, String dataType, Map<String,String> additionalProperties, String suppliedTypeName, Map<String,Object> extendedProperties, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new valid value set/definition.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      qualifiedName - unique name.
      displayName - displayable descriptive name.
      description - further information.
      category - what is the category of reference data does this fall into?
      usage - how/when should this set be used.
      scope - what is the scope of this set's values.
      isDeprecated - is the valid value deprecated
      isCaseSensitive - is the valid value case-sensitive
      preferredValue - value to use to represent this option.
      dataType - the data type of the preferred value.
      additionalProperties - additional properties for this set.
      suppliedTypeName - optional type name (default is ValidValueSet since it is the most flexible)
      extendedProperties - properties that need to be populated into a subtype.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 for the new set
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • createValidValueSet

      public String createValidValueSet(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String category, String usage, String scope, boolean isDeprecated, boolean isCaseSensitive, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new valid value set. This just creates the Set itself. Members are added either as they are created, or they can be attached to a set after they are created.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      qualifiedName - unique name.
      displayName - displayable descriptive name.
      description - further information.
      category - what is the category of reference data does this fall into?
      usage - how/when should this set be used.
      scope - what is the scope of this set's values.
      isDeprecated - is the valid value deprecated
      isCaseSensitive - is the valid value case-sensitive
      additionalProperties - additional properties for this set.
      extendedProperties - properties that need to be populated into a subtype.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 for the new set
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • createValidValueDefinition

      public String createValidValueDefinition(String userId, String externalSourceGUID, String externalSourceName, String setGUID, boolean isDefaultValue, String qualifiedName, String displayName, String description, String category, String usage, String scope, String preferredValue, String dataType, boolean isDeprecated, boolean isCaseSensitive, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new valid value definition.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      setGUID - unique identifier of the set to attach this to.
      isDefaultValue - is this the default value for the set?
      qualifiedName - unique name.
      displayName - displayable descriptive name.
      description - further information.
      category - what is the category of reference data does this fall into?
      usage - how/when should this value be used.
      scope - what is the scope of the values.
      preferredValue - the value that should be used in an implementation if possible.
      dataType - the data type of the preferred value.
      isDeprecated - is the valid value deprecated
      isCaseSensitive - is the valid value case-sensitive
      additionalProperties - additional properties for this definition.
      extendedProperties - properties that need to be populated into a subtype.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 for the new definition
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • createValidValue

      public String createValidValue(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, String setGUID, String suppliedTypeName, boolean isDefaultValue, String qualifiedName, String displayName, String description, String category, String usage, String scope, String preferredValue, String dataType, boolean isDeprecated, boolean isCaseSensitive, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new valid value definition.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      anchorGUID - unique identifier of the anchor for this valid value
      setGUID - unique identifier of the set to attach this to
      suppliedTypeName - name of the type to create
      isDefaultValue - is this the default value for the set?
      qualifiedName - unique name
      displayName - displayable descriptive name.
      description - further information.
      category - what is the category of reference data does this fall into?
      usage - how/when should this value be used.
      scope - what is the scope of the values.
      preferredValue - the value that should be used in an implementation if possible.
      dataType - the data type of the preferred value.
      isDeprecated - is the valid value deprecated
      isCaseSensitive - is the valid value case-sensitive
      additionalProperties - additional properties for this definition.
      extendedProperties - properties that need to be populated into a subtype.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 for the new definition
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • updateValidValue

      public void updateValidValue(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String qualifiedName, String displayName, String description, String category, String usage, String scope, boolean isDeprecated, boolean isCaseSensitive, String preferredValue, String dataType, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of the valid value. All properties are updated. If only changing some if the properties, retrieve the current values from the repository and pass existing values back on this call if they are not to change.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the valid value.
      qualifiedName - unique name.
      displayName - displayable descriptive name.
      description - further information.
      category - what is the category of reference data does this fall into?
      usage - how/when should this value be used.
      scope - what is the scope of the values.
      preferredValue - the value that should be used in an implementation if possible.
      dataType - the data type of the preferred value.
      isDeprecated - is the valid value deprecated
      isCaseSensitive - is the valid value case-sensitive
      additionalProperties - additional properties for this valid value.
      extendedProperties - properties that need to be populated into a subtype.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • deleteValidValue

      public void deleteValidValue(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String qualifiedName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the valid value form the repository. All links to it are deleted too.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the value to delete
      qualifiedName - unique name of the value to delete. This is used to verify that the correct valid value is being deleted.
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • attachValidValueToSet

      public void attachValidValueToSet(String userId, String externalSourceGUID, String externalSourceName, String setGUID, String validValueGUID, boolean isDefaultValue, Date effectiveFrom, Date effectiveTo, List<String> suppliedSupportedZones, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a link between a valid value set or definition and a set. This means the valid value is a member of the set.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      setGUID - unique identifier of the set.
      validValueGUID - unique identifier of the valid value to add to the set.
      isDefaultValue - is this the default value for the set?
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • detachValidValueFromSet

      public void detachValidValueFromSet(String userId, String externalSourceGUID, String externalSourceName, String setGUID, String validValueGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the link between a valid value and a set it is a member of.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      setGUID - owning set
      validValueGUID - unique identifier of the member to be 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 - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • attachConsistentValidValues

      public void attachConsistentValidValues(String userId, String externalSourceGUID, String externalSourceName, String validValue1GUID, String validValue2GUID, Date effectiveFrom, Date effectiveTo, List<String> suppliedSupportedZones, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a link between two valid values that should be used together to populate or validate elements for consistency.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValue1GUID - unique identifier of first valid value
      validValue2GUID - unique identifier of second valid value
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • detachConsistentValidValues

      public void detachConsistentValidValues(String userId, String externalSourceGUID, String externalSourceName, String validValue1GUID, String validValue2GUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the link between a valid value and its consistent value.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValue1GUID - unique identifier of first valid value
      validValue2GUID - unique identifier of second valid value
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • assignValidValueToConsumer

      public void assignValidValueToConsumer(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String consumerGUID, boolean strictRequirement, Date effectiveFrom, Date effectiveTo, List<String> suppliedSupportedZones, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a valid value typically to a schema element or glossary term to show that it uses the valid values.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the valid value.
      consumerGUID - unique identifier of the element to link to.
      strictRequirement - the valid values defines the only values that are permitted.
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • unassignValidValueFromConsumer

      public void unassignValidValueFromConsumer(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String consumerGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the link between a valid value and a consumer.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the valid value.
      consumerGUID - unique identifier of the element to remove the link from.
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • assignReferenceValueToItem

      public void assignReferenceValueToItem(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String referenceableGUID, String attributeName, int confidence, String steward, String stewardTypeName, String stewardPropertyName, String notes, List<String> suppliedSupportedZones, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a valid value as a reference value to a referencable to act as a tag/classification to help with locating and grouping the referenceable.
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the valid value.
      referenceableGUID - unique identifier of the element to link to.
      attributeName - name of the attribute that this relationship represents
      confidence - how confident is the steward that this mapping is correct (0-100).
      steward - identifier of steward
      stewardTypeName - type of element that represents steward
      stewardPropertyName - property name of steward identifier
      notes - additional notes from the steward
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • unassignReferenceValueFromItem

      public void unassignReferenceValueFromItem(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String referenceableGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the reference value link between a valid value and a referenceable (item).
      Parameters:
      userId - calling user.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      validValueGUID - unique identifier of the valid value.
      referenceableGUID - unique identifier of the element to remove the link from.
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getValidValueByGUID

      public B getValidValueByGUID(String userId, String validValueGUID, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve a specific valid value from the repository.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of the valid value.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      Valid value bean
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getValidValueByName

      public List<B> getValidValueByName(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve a specific valid value from the repository. Duplicates may be returned if multiple valid values have been assigned the same qualified name.
      Parameters:
      userId - calling user
      name - name to search for - this must be an exact match on the display name or qualified name
      nameParameterName - property that provided the name
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      Valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • findValidValues

      public List<B> findValidValues(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Locate valid values that match the search string. It considers the names, description, scope, usage and preferred value.
      Parameters:
      userId - calling user
      searchString - string value to look for - may contain RegEx characters.
      searchStringParameterName - name of parameter providing search string
      startFrom - paging starting point
      pageSize - maximum number of return values.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getValidValueSetMembers

      public List<B> getValidValueSetMembers(String userId, String validValueSetGUID, String validValueSetGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the members of a valid value set.
      Parameters:
      userId - calling user
      validValueSetGUID - unique identifier of the valid value set
      validValueSetGUIDParameter - name of parameter providing the validValueSetGUID
      startFrom - paging starting point
      pageSize - maximum number of return values.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getConsistentValidValues

      public List<B> getConsistentValidValues(String userId, String validValueGUID, String validValueGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the consistent values from different valid value sets.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of the valid value set
      validValueGUIDParameter - name of parameter providing the validValueGUID
      startFrom - paging starting point
      pageSize - maximum number of return values.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getSetsForValidValue

      public List<B> getSetsForValidValue(String userId, String validValueGUID, String validValueGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of valid value sets that a valid value definition/set belongs to.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of valid value to query
      validValueGUIDParameter - parameter name providing the validValueGUID
      startFrom - paging starting point
      pageSize - maximum number of return values.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getAssignedValidValues

      public B getAssignedValidValues(String userId, String referenceableGUID, String referenceableGUIDParameter, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of valid values assigned to referenceable element.
      Parameters:
      userId - calling user
      referenceableGUID - unique identifier of anchoring referenceable
      referenceableGUIDParameter - name of parameter for referenceableGUID
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value consumer beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getReferenceValues

      public List<B> getReferenceValues(String userId, String referenceableGUID, String referenceableGUIDParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of assigned reference values for a referenceable.
      Parameters:
      userId - calling user
      referenceableGUID - unique identifier of assigned item
      referenceableGUIDParameterName - name of parameter for referenceableGUID
      startFrom - paging starting point
      pageSize - maximum number of return values.
      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
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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 valid value beans
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getValidValues

      public List<B> getValidValues(String userId, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> suppliedSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of valid values metadata elements.
      Parameters:
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
      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)