Interface OpenMetadataStore

  • All Known Implementing Classes:
    OpenMetadataClient

    public interface OpenMetadataStore
    OpenMetadataStore provides access to metadata elements stored in the metadata repositories. It is implemented by the abstract class OpenMetadataClient and used by all the governance action services to retrieve metadata. The concrete class for OpenMetadataClient is implemented by a metadata repository provider. In Egeria, this class is implemented in the Governance Engine OMAS client.
    • Method Detail

      • getMetadataElementByGUID

        OpenMetadataElement getMetadataElementByGUID​(String elementGUID,
                                                     boolean forLineage,
                                                     boolean forDuplicateProcessing,
                                                     Date effectiveTime)
                                              throws InvalidParameterException,
                                                     UserNotAuthorizedException,
                                                     PropertyServerException
        Retrieve the metadata element using its unique identifier.
        Parameters:
        elementGUID - unique identifier for the metadata element
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        Returns:
        metadata element properties
        Throws:
        InvalidParameterException - the unique identifier is null or not known.
        UserNotAuthorizedException - the governance action service is not able to access the element
        PropertyServerException - there is a problem accessing the metadata store
      • getMetadataElementByUniqueName

        OpenMetadataElement getMetadataElementByUniqueName​(String uniqueName,
                                                           String uniquePropertyName,
                                                           boolean forLineage,
                                                           boolean forDuplicateProcessing,
                                                           Date effectiveTime)
                                                    throws InvalidParameterException,
                                                           UserNotAuthorizedException,
                                                           PropertyServerException
        Retrieve the metadata element using its unique name (typically the qualified name).
        Parameters:
        uniqueName - unique name for the metadata element
        uniquePropertyName - name of property name to test in the open metadata element - if null "qualifiedName" is used
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        Returns:
        metadata element properties
        Throws:
        InvalidParameterException - the unique identifier is null or not known.
        UserNotAuthorizedException - the governance action service is not able to access the element
        PropertyServerException - there is a problem accessing the metadata store
      • getMetadataElementGUIDByUniqueName

        String getMetadataElementGUIDByUniqueName​(String uniqueName,
                                                  String uniquePropertyName,
                                                  boolean forLineage,
                                                  boolean forDuplicateProcessing,
                                                  Date effectiveTime)
                                           throws InvalidParameterException,
                                                  UserNotAuthorizedException,
                                                  PropertyServerException
        Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).
        Parameters:
        uniqueName - unique name for the metadata element
        uniquePropertyName - name of property name to test in the open metadata element - if null "qualifiedName" is used
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        Returns:
        metadata element unique identifier (guid)
        Throws:
        InvalidParameterException - the unique identifier is null or not known.
        UserNotAuthorizedException - the governance action service is not able to access the element
        PropertyServerException - there is a problem accessing the metadata store
      • findMetadataElementsWithString

        List<OpenMetadataElement> findMetadataElementsWithString​(String searchString,
                                                                 boolean forLineage,
                                                                 boolean forDuplicateProcessing,
                                                                 Date effectiveTime,
                                                                 int startFrom,
                                                                 int pageSize)
                                                          throws InvalidParameterException,
                                                                 UserNotAuthorizedException,
                                                                 PropertyServerException
        Retrieve the metadata elements that contain the requested string.
        Parameters:
        searchString - name to retrieve
        forLineage - the retrieved elements are for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved elements are for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements (or null if no elements match the name)
        Throws:
        InvalidParameterException - the qualified name is null
        UserNotAuthorizedException - the governance action service is not able to access the element
        PropertyServerException - there is a problem accessing the metadata store
      • getRelatedMetadataElements

        List<RelatedMetadataElement> getRelatedMetadataElements​(String elementGUID,
                                                                int startingAtEnd,
                                                                String relationshipTypeName,
                                                                boolean forLineage,
                                                                boolean forDuplicateProcessing,
                                                                Date effectiveTime,
                                                                int startFrom,
                                                                int pageSize)
                                                         throws InvalidParameterException,
                                                                UserNotAuthorizedException,
                                                                PropertyServerException
        Retrieve the metadata elements connected to the supplied element.
        Parameters:
        elementGUID - unique identifier for the starting metadata element
        startingAtEnd - indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)
        relationshipTypeName - type name of relationships to follow (or null for all)
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved elements are for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of related elements
        Throws:
        InvalidParameterException - the unique identifier is null or not known; the relationship type is invalid
        UserNotAuthorizedException - the governance action service is not able to access the elements
        PropertyServerException - there is a problem accessing the metadata store
      • findMetadataElements

        List<OpenMetadataElement> findMetadataElements​(String metadataElementTypeName,
                                                       List<String> metadataElementSubtypeName,
                                                       SearchProperties searchProperties,
                                                       List<ElementStatus> limitResultsByStatus,
                                                       SearchClassifications matchClassifications,
                                                       String sequencingProperty,
                                                       SequencingOrder sequencingOrder,
                                                       boolean forLineage,
                                                       boolean forDuplicateProcessing,
                                                       Date effectiveTime,
                                                       int startFrom,
                                                       int pageSize)
                                                throws InvalidParameterException,
                                                       UserNotAuthorizedException,
                                                       PropertyServerException
        Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.
        Parameters:
        metadataElementTypeName - type of interest (null means any element type)
        metadataElementSubtypeName - optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.
        searchProperties - Optional list of entity property conditions to match.
        limitResultsByStatus - By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
        matchClassifications - Optional list of classifications to match.
        sequencingProperty - String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).
        sequencingOrder - Enum defining how the results should be ordered.
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
        Throws:
        InvalidParameterException - one of the search parameters are is invalid
        UserNotAuthorizedException - the governance action service is not able to access the elements
        PropertyServerException - there is a problem accessing the metadata store
      • findRelationshipsBetweenMetadataElements

        List<RelatedMetadataElements> findRelationshipsBetweenMetadataElements​(String relationshipTypeName,
                                                                               SearchProperties searchProperties,
                                                                               String sequencingProperty,
                                                                               SequencingOrder sequencingOrder,
                                                                               boolean forLineage,
                                                                               boolean forDuplicateProcessing,
                                                                               Date effectiveTime,
                                                                               int startFrom,
                                                                               int pageSize)
                                                                        throws InvalidParameterException,
                                                                               UserNotAuthorizedException,
                                                                               PropertyServerException
        Return a list of relationships that match the requested conditions. The results can be received as a series of pages.
        Parameters:
        relationshipTypeName - relationship's type. Null means all types (but may be slow so not recommended).
        searchProperties - Optional list of relationship property conditions to match.
        sequencingProperty - String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).
        sequencingOrder - Enum defining how the results should be ordered.
        forLineage - the retrieved elements are for lineage processing so include archived elements
        forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
        effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        a list of relationships. Null means no matching relationships.
        Throws:
        InvalidParameterException - one of the search parameters are is invalid
        UserNotAuthorizedException - the governance action service is not able to access the elements
        PropertyServerException - there is a problem accessing the metadata store