Class ValidMetadataValuesContext

java.lang.Object
org.odpi.openmetadata.frameworks.integration.context.ValidMetadataValuesContext

public class ValidMetadataValuesContext extends Object
ValidMetadataValues maintains valid value sets for the properties found in open metadata elements. Valid values can be set up for a property name within a specific type - or for all types that use that property name. The named property may be a string type, and array of string or a map of names to string values.
  • Constructor Details

    • ValidMetadataValuesContext

      public ValidMetadataValuesContext(OpenMetadataClient openMetadataStore, String userId)
      The constructor needs an implementation of the open metadata store.
      Parameters:
      openMetadataStore - client implementation
      userId - calling user
  • Method Details

    • setUpValidMetadataValue

      public void setUpValidMetadataValue(String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create or update the valid value for a particular open metadata property. This property may be of type string or an array of strings. The valid value is stored in the preferredValue property of validMetadataValue. If the property is of type string, this property can be stored as the property value. If the property is an array of strings, an element in the array can be of this value. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      validMetadataValue - preferred value to use in the open metadata types plus additional descriptive values.
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • setUpValidMetadataMapName

      public void setUpValidMetadataMapName(String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      validMetadataValue - preferred value to use in the open metadata types plus additional descriptive values.
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • setUpValidMetadataMapValue

      public void setUpValidMetadataMapValue(String typeName, String propertyName, String mapName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      validMetadataValue - preferred value to use in the open metadata types plus additional descriptive values.
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • clearValidMetadataValue

      public void clearValidMetadataValue(String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a valid value for a property. The match is done on preferred name.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - specific valid value to remove
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • clearValidMetadataMapName

      public void clearValidMetadataMapName(String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a valid map name value for a property. The match is done on preferred name.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - specific valid value to remove
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • clearValidMetadataMapValue

      public void clearValidMetadataMapValue(String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a valid map name value for a property. The match is done on preferred name.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      preferredValue - specific valid value to remove
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • validateMetadataValue

      public boolean validateMetadataValue(String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Validate whether the value found in an open metadata property is valid.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • validateMetadataMapName

      public boolean validateMetadataMapName(String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Validate whether the name found in an open metadata map property is valid.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • validateMetadataMapValue

      public boolean validateMetadataMapValue(String typeName, String propertyName, String mapName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Validate whether the name found in an open metadata map property is valid.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • getValidMetadataValue

      public ValidMetadataValue getValidMetadataValue(String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve details of a specific valid value for a property.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • getValidMetadataMapName

      public ValidMetadataValue getValidMetadataMapName(String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve details of a specific valid name for a map property.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • getValidMetadataMapValue

      public ValidMetadataValue getValidMetadataMapValue(String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve details of a specific valid value for a map name.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • getValidMetadataValues

      public List<ValidMetadataValueDetail> getValidMetadataValues(String typeName, String propertyName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve all the valid values for the requested property.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of valid values defined for the property
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store
    • getConsistentMetadataValues

      public List<ValidMetadataValue> getConsistentMetadataValues(String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve all the consistent valid values for the requested property.
      Parameters:
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - optional name of map key that this valid value applies
      preferredValue - the value to match against
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of valid values defined for the property
      Throws:
      InvalidParameterException - the property name is null or not known.
      UserNotAuthorizedException - the service is not able to create/access the element
      PropertyServerException - there is a problem accessing the metadata store