Class ReferenceDataHandler<VALID_VALUE,VALID_VALUE_ASSIGNMENT,VALID_VALUE_ASSIGNMENT_DEF,VALID_VALUE_IMPLEMENTATION,VALID_VALUE_IMPLEMENTATION_DEF,VALID_VALUE_MAPPING,REFERENCE_VALUE_ASSIGNMENT,REFERENCE_VALUE_ASSIGNED_ITEM>

java.lang.Object
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPITemplateHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.ValidValuesHandler<VALID_VALUE>
org.odpi.openmetadata.commonservices.generichandlers.ReferenceDataHandler<VALID_VALUE,VALID_VALUE_ASSIGNMENT,VALID_VALUE_ASSIGNMENT_DEF,VALID_VALUE_IMPLEMENTATION,VALID_VALUE_IMPLEMENTATION_DEF,VALID_VALUE_MAPPING,REFERENCE_VALUE_ASSIGNMENT,REFERENCE_VALUE_ASSIGNED_ITEM>

public class ReferenceDataHandler<VALID_VALUE,VALID_VALUE_ASSIGNMENT,VALID_VALUE_ASSIGNMENT_DEF,VALID_VALUE_IMPLEMENTATION,VALID_VALUE_IMPLEMENTATION_DEF,VALID_VALUE_MAPPING,REFERENCE_VALUE_ASSIGNMENT,REFERENCE_VALUE_ASSIGNED_ITEM> extends ValidValuesHandler<VALID_VALUE>
ReferenceDataHandler 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

  • Method Details

    • linkValidValueToImplementation

      public void linkValidValueToImplementation(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String assetGUID, String symbolicName, String implementationValue, Map<String,String> additionalValues, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a valid value to an asset that provides the implementation. Typically, this method is used to link a valid value set to a code table.
      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.
      assetGUID - unique identifier of the asset that implements the valid value.
      symbolicName - lookup name for valid value
      implementationValue - value used in implementation
      additionalValues - additional values stored under the symbolic name
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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.
    • unlinkValidValueFromImplementation

      public void unlinkValidValueFromImplementation(String userId, String externalSourceGUID, String externalSourceName, String validValueGUID, String assetGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the link between a valid value and an implementing asset.
      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.
      assetGUID - unique identifier of the asset that used to implement 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
      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.
    • mapValidValues

      public void mapValidValues(String userId, String externalSourceGUID, String externalSourceName, String validValue1GUID, String validValue2GUID, String associationDescription, int confidence, String steward, String stewardTypeName, String stewardPropertyName, String notes, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link together 2 valid values from different sets that have equivalent values/meanings.
      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 the valid value.
      validValue2GUID - unique identifier of the other valid value to link to.
      associationDescription - how are the valid values related?
      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
      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.
    • unmapValidValues

      public void unmapValidValues(String userId, String externalSourceGUID, String externalSourceName, String validValue1GUID, String validValue2GUID, 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
      validValue1GUID - unique identifier of the valid value.
      validValue2GUID - unique identifier of the other valid value 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.
    • getValidValuesAssignmentConsumers

      public List<VALID_VALUE_ASSIGNMENT> getValidValuesAssignmentConsumers(String userId, String validValueGUID, String validValueGUIDParameter, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of consumers for a valid value.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of valid value to query
      validValueGUIDParameter - parameter name for validValueGUID
      serviceSupportedZones - list of zones that define which assets can be retrieved.
      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
      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.
    • getValidValuesAssignmentDefinition

      public List<VALID_VALUE_ASSIGNMENT_DEF> getValidValuesAssignmentDefinition(String userId, String referenceableGUID, String referenceableGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, 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
      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
      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.
    • getValidValuesImplementationAssets

      public List<VALID_VALUE_IMPLEMENTATION> getValidValuesImplementationAssets(String userId, String validValueGUID, String validValueGUIDParameter, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of implementations for a valid value.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of valid value to query
      validValueGUIDParameter - parameter supplying the validValueGUID value
      serviceSupportedZones - list of zones that define which assets can be retrieved.
      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
      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.
    • getValidValuesImplementationDefinitions

      public List<VALID_VALUE_IMPLEMENTATION_DEF> getValidValuesImplementationDefinitions(String userId, String assetGUID, String assetGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of valid values defining the content of a reference data asset. This is always called from the assetHandler after it has checked that the asset is in the right zone.
      Parameters:
      userId - calling user
      assetGUID - unique identifier of asset to query
      assetGUIDParameter - parameter providing the assetGUID value
      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
      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.
    • getValidValueMappings

      public List<VALID_VALUE_MAPPING> getValidValueMappings(String userId, String validValueGUID, String validValueGUIDParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of mappings for a valid value. These are other valid values from different valid value sets that are equivalent in some way. The association description covers the type of association.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of valid value to query
      validValueGUIDParameter - name of parameter supplying 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
      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 mappings to other 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.
    • getReferenceValueAssignedItems

      public List<REFERENCE_VALUE_ASSIGNED_ITEM> getReferenceValueAssignedItems(String userId, String validValueGUID, String validValueGUIDParameter, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of referenceables that have this valid value as a reference value.
      Parameters:
      userId - calling user
      validValueGUID - unique identifier of valid value to query
      validValueGUIDParameter - name of parameter that provides the validValueGUID value
      serviceSupportedZones - list of zones that define which assets can be retrieved
      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
      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 referenceable 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
    • getReferenceValueAssignments

      public List<REFERENCE_VALUE_ASSIGNMENT> getReferenceValueAssignments(String userId, String referenceableGUID, String referenceableGUIDParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, 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
      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.