Interface SchemaExchangeInterface

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clearColumnAsPrimaryKey​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the primary key designation from the schema attribute.
      void clearForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the foreign key relationship between two schema elements.
      void clearSchemaElementAsCalculatedValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaElementGUID, java.lang.String schemaElementExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the calculated value designation from the schema element.
      void clearSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the relationship between a schema type and its parent data asset, process or port.
      java.lang.String createSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, ExternalIdentifierProperties externalIdentifierProperties, SchemaAttributeProperties schemaAttributeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a new metadata element to represent a schema attribute.
      java.lang.String createSchemaAttributeFromTemplate​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, java.lang.String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
      java.lang.String createSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, ExternalIdentifierProperties externalIdentifierProperties, boolean forLineage, boolean forDuplicateProcessing, SchemaTypeProperties schemaTypeProperties)
      Create a new metadata element to represent a schema type.
      java.lang.String createSchemaTypeFromTemplate​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties)
      Create a new metadata element to represent a schema type using an existing metadata element as a template.
      java.util.List<SchemaAttributeElement> findSchemaAttributes​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attribute metadata elements that contain the search string.
      java.util.List<SchemaTypeElement> findSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema type metadata elements that contain the search string.
      java.util.List<SchemaAttributeElement> getNestedSchemaAttributes​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String parentSchemaElementGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attributes associated with a schema element.
      SchemaAttributeElement getSchemaAttributeByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the schema attribute metadata element with the supplied unique identifier.
      java.util.List<SchemaAttributeElement> getSchemaAttributesByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attribute metadata elements with a matching qualified or display name.
      SchemaTypeElement getSchemaTypeByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the schema type metadata element with the supplied unique identifier.
      java.util.List<SchemaTypeElement> getSchemaTypeByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema type metadata elements with a matching qualified or display name.
      SchemaTypeElement getSchemaTypeForElement​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Return the schema type associated with a specific open metadata element (data asset, process or port).
      ElementHeader getSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the header of the metadata element connected to a schema type.
      void removeSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a schema attribute.
      void removeSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String schemaTypeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a schema type.
      void setSchemaElementAsCalculatedValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, java.lang.String schemaElementExternalIdentifier, java.lang.String formula, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
      void setupColumnAsPrimaryKey​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.lang.String primaryKeyName, KeyPattern primaryKeyPattern, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Classify the column schema attribute to indicate that it describes a primary key.
      void setupForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two schema attributes together to show a foreign key relationship.
      void setupSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaTypeGUID, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, RelationshipProperties properties)
      Connect a schema type to a data asset, process or port.
      void updateForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the relationship properties for the query target.
      void updateSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, boolean isMergeUpdate, SchemaAttributeProperties schemaAttributeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the properties of the metadata element representing a schema attribute.
      void updateSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String schemaTypeExternalIdentifier, boolean isMergeUpdate, SchemaTypeProperties schemaTypeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the metadata element representing a schema type.
    • Method Detail

      • createSchemaType

        java.lang.String createSchemaType​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          boolean assetManagerIsHome,
                                          ExternalIdentifierProperties externalIdentifierProperties,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing,
                                          SchemaTypeProperties schemaTypeProperties)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Create a new metadata element to represent a schema type.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        externalIdentifierProperties - optional properties used to define an external identifier
        schemaTypeProperties - properties about the schema type to store
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        unique identifier of the new schema type
        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)
      • createSchemaTypeFromTemplate

        java.lang.String createSchemaTypeFromTemplate​(java.lang.String userId,
                                                      java.lang.String assetManagerGUID,
                                                      java.lang.String assetManagerName,
                                                      boolean assetManagerIsHome,
                                                      java.lang.String templateGUID,
                                                      ExternalIdentifierProperties externalIdentifierProperties,
                                                      TemplateProperties templateProperties)
                                               throws InvalidParameterException,
                                                      UserNotAuthorizedException,
                                                      PropertyServerException
        Create a new metadata element to represent a schema type using an existing metadata element as a template.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this schema attribute
        templateGUID - unique identifier of the metadata element to copy
        externalIdentifierProperties - optional properties used to define an external identifier
        templateProperties - properties that override the template
        Returns:
        unique identifier of the new schema type
        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)
      • updateSchemaType

        void updateSchemaType​(java.lang.String userId,
                              java.lang.String assetManagerGUID,
                              java.lang.String assetManagerName,
                              java.lang.String schemaTypeGUID,
                              java.lang.String schemaTypeExternalIdentifier,
                              boolean isMergeUpdate,
                              SchemaTypeProperties schemaTypeProperties,
                              java.util.Date effectiveTime,
                              boolean forLineage,
                              boolean forDuplicateProcessing)
                       throws InvalidParameterException,
                              UserNotAuthorizedException,
                              PropertyServerException
        Update the metadata element representing a schema type.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaTypeGUID - unique identifier of the metadata element to update
        schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        schemaTypeProperties - new properties for the metadata element
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • setupSchemaTypeParent

        void setupSchemaTypeParent​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   boolean assetManagerIsHome,
                                   java.lang.String schemaTypeGUID,
                                   java.lang.String parentElementGUID,
                                   java.lang.String parentElementTypeName,
                                   java.util.Date effectiveTime,
                                   boolean forLineage,
                                   boolean forDuplicateProcessing,
                                   RelationshipProperties properties)
                            throws InvalidParameterException,
                                   UserNotAuthorizedException,
                                   PropertyServerException
        Connect a schema type to a data asset, process or port.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this relationship
        schemaTypeGUID - unique identifier of the schema type to connect
        parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
        parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        properties - properties for the relationship
        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)
      • clearSchemaTypeParent

        void clearSchemaTypeParent​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   java.lang.String schemaTypeGUID,
                                   java.lang.String parentElementGUID,
                                   java.lang.String parentElementTypeName,
                                   java.util.Date effectiveTime,
                                   boolean forLineage,
                                   boolean forDuplicateProcessing)
                            throws InvalidParameterException,
                                   UserNotAuthorizedException,
                                   PropertyServerException
        Remove the relationship between a schema type and its parent data asset, process or port.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaTypeGUID - unique identifier of the schema type to connect
        parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
        parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • removeSchemaType

        void removeSchemaType​(java.lang.String userId,
                              java.lang.String assetManagerGUID,
                              java.lang.String assetManagerName,
                              java.lang.String schemaTypeGUID,
                              java.lang.String schemaTypeExternalIdentifier,
                              java.util.Date effectiveTime,
                              boolean forLineage,
                              boolean forDuplicateProcessing)
                       throws InvalidParameterException,
                              UserNotAuthorizedException,
                              PropertyServerException
        Remove the metadata element representing a schema type.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaTypeGUID - unique identifier of the metadata element to remove
        schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • findSchemaType

        java.util.List<SchemaTypeElement> findSchemaType​(java.lang.String userId,
                                                         java.lang.String assetManagerGUID,
                                                         java.lang.String assetManagerName,
                                                         java.lang.String searchString,
                                                         int startFrom,
                                                         int pageSize,
                                                         java.util.Date effectiveTime,
                                                         boolean forLineage,
                                                         boolean forDuplicateProcessing)
                                                  throws InvalidParameterException,
                                                         UserNotAuthorizedException,
                                                         PropertyServerException
        Retrieve the list of schema type metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        searchString - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • getSchemaTypeForElement

        SchemaTypeElement getSchemaTypeForElement​(java.lang.String userId,
                                                  java.lang.String assetManagerGUID,
                                                  java.lang.String assetManagerName,
                                                  java.lang.String parentElementGUID,
                                                  java.lang.String parentElementTypeName,
                                                  java.util.Date effectiveTime,
                                                  boolean forLineage,
                                                  boolean forDuplicateProcessing)
                                           throws InvalidParameterException,
                                                  UserNotAuthorizedException,
                                                  PropertyServerException
        Return the schema type associated with a specific open metadata element (data asset, process or port).
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
        parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        metadata element describing the schema type associated with the requested parent 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)
      • getSchemaTypeByName

        java.util.List<SchemaTypeElement> getSchemaTypeByName​(java.lang.String userId,
                                                              java.lang.String assetManagerGUID,
                                                              java.lang.String assetManagerName,
                                                              java.lang.String name,
                                                              int startFrom,
                                                              int pageSize,
                                                              java.util.Date effectiveTime,
                                                              boolean forLineage,
                                                              boolean forDuplicateProcessing)
                                                       throws InvalidParameterException,
                                                              UserNotAuthorizedException,
                                                              PropertyServerException
        Retrieve the list of schema type metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        name - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • getSchemaTypeByGUID

        SchemaTypeElement getSchemaTypeByGUID​(java.lang.String userId,
                                              java.lang.String assetManagerGUID,
                                              java.lang.String assetManagerName,
                                              java.lang.String schemaTypeGUID,
                                              java.util.Date effectiveTime,
                                              boolean forLineage,
                                              boolean forDuplicateProcessing)
                                       throws InvalidParameterException,
                                              UserNotAuthorizedException,
                                              PropertyServerException
        Retrieve the schema type metadata element with the supplied unique identifier.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaTypeGUID - unique identifier of the requested metadata element
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        requested 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)
      • getSchemaTypeParent

        ElementHeader getSchemaTypeParent​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String schemaTypeGUID,
                                          java.util.Date effectiveTime,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Retrieve the header of the metadata element connected to a schema type.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaTypeGUID - unique identifier of the requested metadata element
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        header for parent element (data asset, process, port)
        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)
      • createSchemaAttribute

        java.lang.String createSchemaAttribute​(java.lang.String userId,
                                               java.lang.String assetManagerGUID,
                                               java.lang.String assetManagerName,
                                               boolean assetManagerIsHome,
                                               java.lang.String schemaElementGUID,
                                               ExternalIdentifierProperties externalIdentifierProperties,
                                               SchemaAttributeProperties schemaAttributeProperties,
                                               java.util.Date effectiveTime,
                                               boolean forLineage,
                                               boolean forDuplicateProcessing)
                                        throws InvalidParameterException,
                                               UserNotAuthorizedException,
                                               PropertyServerException
        Create a new metadata element to represent a schema attribute.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this schema attribute
        schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is connected to
        externalIdentifierProperties - optional properties used to define an external identifier
        schemaAttributeProperties - properties for the schema attribute
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        unique identifier of the new metadata element for the schema attribute
        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)
      • createSchemaAttributeFromTemplate

        java.lang.String createSchemaAttributeFromTemplate​(java.lang.String userId,
                                                           java.lang.String assetManagerGUID,
                                                           java.lang.String assetManagerName,
                                                           boolean assetManagerIsHome,
                                                           java.lang.String schemaElementGUID,
                                                           java.lang.String templateGUID,
                                                           ExternalIdentifierProperties externalIdentifierProperties,
                                                           TemplateProperties templateProperties,
                                                           java.util.Date effectiveTime,
                                                           boolean forLineage,
                                                           boolean forDuplicateProcessing)
                                                    throws InvalidParameterException,
                                                           UserNotAuthorizedException,
                                                           PropertyServerException
        Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this schema attribute
        schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is connected to
        templateGUID - unique identifier of the metadata element to copy
        externalIdentifierProperties - optional properties used to define an external identifier
        templateProperties - properties that override the template
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        unique identifier of the new metadata element for the schema attribute
        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)
      • updateSchemaAttribute

        void updateSchemaAttribute​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   java.lang.String schemaAttributeGUID,
                                   java.lang.String schemaAttributeExternalIdentifier,
                                   boolean isMergeUpdate,
                                   SchemaAttributeProperties schemaAttributeProperties,
                                   java.util.Date effectiveTime,
                                   boolean forLineage,
                                   boolean forDuplicateProcessing)
                            throws InvalidParameterException,
                                   UserNotAuthorizedException,
                                   PropertyServerException
        Update the properties of the metadata element representing a schema attribute.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaAttributeGUID - unique identifier of the schema attribute to update
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        schemaAttributeProperties - new properties for the schema attribute
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • setSchemaElementAsCalculatedValue

        void setSchemaElementAsCalculatedValue​(java.lang.String userId,
                                               java.lang.String assetManagerGUID,
                                               java.lang.String assetManagerName,
                                               boolean assetManagerIsHome,
                                               java.lang.String schemaElementGUID,
                                               java.lang.String schemaElementExternalIdentifier,
                                               java.lang.String formula,
                                               java.util.Date effectiveTime,
                                               boolean forLineage,
                                               boolean forDuplicateProcessing)
                                        throws InvalidParameterException,
                                               UserNotAuthorizedException,
                                               PropertyServerException
        Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this classification
        schemaElementGUID - unique identifier of the metadata element to update
        schemaElementExternalIdentifier - unique identifier of the schema element in the external asset manager
        formula - description of the logic that maps data values to
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • clearSchemaElementAsCalculatedValue

        void clearSchemaElementAsCalculatedValue​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 java.lang.String schemaElementGUID,
                                                 java.lang.String schemaElementExternalIdentifier,
                                                 java.util.Date effectiveTime,
                                                 boolean forLineage,
                                                 boolean forDuplicateProcessing)
                                          throws InvalidParameterException,
                                                 UserNotAuthorizedException,
                                                 PropertyServerException
        Remove the calculated value designation from the schema element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaElementGUID - unique identifier of the metadata element to update
        schemaElementExternalIdentifier - unique identifier of the schema element in the external asset manager
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • setupColumnAsPrimaryKey

        void setupColumnAsPrimaryKey​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     boolean assetManagerIsHome,
                                     java.lang.String schemaAttributeGUID,
                                     java.lang.String schemaAttributeExternalIdentifier,
                                     java.lang.String primaryKeyName,
                                     KeyPattern primaryKeyPattern,
                                     java.util.Date effectiveTime,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Classify the column schema attribute to indicate that it describes a primary key.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this classification
        schemaAttributeGUID - unique identifier of the metadata element to update
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        primaryKeyName - name of the primary key (if different from the column name)
        primaryKeyPattern - key pattern used to maintain the primary key
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • clearColumnAsPrimaryKey

        void clearColumnAsPrimaryKey​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String schemaAttributeGUID,
                                     java.lang.String schemaAttributeExternalIdentifier,
                                     java.util.Date effectiveTime,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Remove the primary key designation from the schema attribute.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaAttributeGUID - unique identifier of the metadata element to update
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • setupForeignKeyRelationship

        void setupForeignKeyRelationship​(java.lang.String userId,
                                         java.lang.String assetManagerGUID,
                                         java.lang.String assetManagerName,
                                         boolean assetManagerIsHome,
                                         java.lang.String primaryKeyGUID,
                                         java.lang.String foreignKeyGUID,
                                         ForeignKeyProperties foreignKeyProperties,
                                         java.util.Date effectiveTime,
                                         boolean forLineage,
                                         boolean forDuplicateProcessing)
                                  throws InvalidParameterException,
                                         UserNotAuthorizedException,
                                         PropertyServerException
        Link two schema attributes together to show a foreign key relationship.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        assetManagerIsHome - ensure that only the asset manager can update this relationship
        primaryKeyGUID - unique identifier of the derived schema element
        foreignKeyGUID - unique identifier of the query target schema element
        foreignKeyProperties - properties for the foreign key relationship
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • updateForeignKeyRelationship

        void updateForeignKeyRelationship​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String primaryKeyGUID,
                                          java.lang.String foreignKeyGUID,
                                          ForeignKeyProperties foreignKeyProperties,
                                          java.util.Date effectiveTime,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Update the relationship properties for the query target.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        primaryKeyGUID - unique identifier of the derived schema element
        foreignKeyGUID - unique identifier of the query target schema element
        foreignKeyProperties - properties for the foreign key relationship
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • clearForeignKeyRelationship

        void clearForeignKeyRelationship​(java.lang.String userId,
                                         java.lang.String assetManagerGUID,
                                         java.lang.String assetManagerName,
                                         java.lang.String primaryKeyGUID,
                                         java.lang.String foreignKeyGUID,
                                         java.util.Date effectiveTime,
                                         boolean forLineage,
                                         boolean forDuplicateProcessing)
                                  throws InvalidParameterException,
                                         UserNotAuthorizedException,
                                         PropertyServerException
        Remove the foreign key relationship between two schema elements.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        primaryKeyGUID - unique identifier of the derived schema element
        foreignKeyGUID - unique identifier of the query target schema element
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • removeSchemaAttribute

        void removeSchemaAttribute​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   java.lang.String schemaAttributeGUID,
                                   java.lang.String schemaAttributeExternalIdentifier,
                                   java.util.Date effectiveTime,
                                   boolean forLineage,
                                   boolean forDuplicateProcessing)
                            throws InvalidParameterException,
                                   UserNotAuthorizedException,
                                   PropertyServerException
        Remove the metadata element representing a schema attribute.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaAttributeGUID - unique identifier of the metadata element to remove
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • findSchemaAttributes

        java.util.List<SchemaAttributeElement> findSchemaAttributes​(java.lang.String userId,
                                                                    java.lang.String assetManagerGUID,
                                                                    java.lang.String assetManagerName,
                                                                    java.lang.String searchString,
                                                                    int startFrom,
                                                                    int pageSize,
                                                                    java.util.Date effectiveTime,
                                                                    boolean forLineage,
                                                                    boolean forDuplicateProcessing)
                                                             throws InvalidParameterException,
                                                                    UserNotAuthorizedException,
                                                                    PropertyServerException
        Retrieve the list of schema attribute metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        searchString - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • getNestedSchemaAttributes

        java.util.List<SchemaAttributeElement> getNestedSchemaAttributes​(java.lang.String userId,
                                                                         java.lang.String assetManagerGUID,
                                                                         java.lang.String assetManagerName,
                                                                         java.lang.String parentSchemaElementGUID,
                                                                         int startFrom,
                                                                         int pageSize,
                                                                         java.util.Date effectiveTime,
                                                                         boolean forLineage,
                                                                         boolean forDuplicateProcessing)
                                                                  throws InvalidParameterException,
                                                                         UserNotAuthorizedException,
                                                                         PropertyServerException
        Retrieve the list of schema attributes associated with a schema element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        parentSchemaElementGUID - unique identifier of the schema element of interest
        startFrom - paging start point
        pageSize - maximum results that can be returned
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        list of associated 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)
      • getSchemaAttributesByName

        java.util.List<SchemaAttributeElement> getSchemaAttributesByName​(java.lang.String userId,
                                                                         java.lang.String assetManagerGUID,
                                                                         java.lang.String assetManagerName,
                                                                         java.lang.String name,
                                                                         int startFrom,
                                                                         int pageSize,
                                                                         java.util.Date effectiveTime,
                                                                         boolean forLineage,
                                                                         boolean forDuplicateProcessing)
                                                                  throws InvalidParameterException,
                                                                         UserNotAuthorizedException,
                                                                         PropertyServerException
        Retrieve the list of schema attribute metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        name - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)
      • getSchemaAttributeByGUID

        SchemaAttributeElement getSchemaAttributeByGUID​(java.lang.String userId,
                                                        java.lang.String assetManagerGUID,
                                                        java.lang.String assetManagerName,
                                                        java.lang.String schemaAttributeGUID,
                                                        java.util.Date effectiveTime,
                                                        boolean forLineage,
                                                        boolean forDuplicateProcessing)
                                                 throws InvalidParameterException,
                                                        UserNotAuthorizedException,
                                                        PropertyServerException
        Retrieve the schema attribute metadata element with the supplied unique identifier.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        schemaAttributeGUID - unique identifier of the requested metadata element
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        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)