org.odpi.openmetadata.accessservices.assetowner.api.AssetDuplicateManagementInterface Maven / Gradle / Ivy
/* SPDX-License-Identifier: Apache 2.0 */
/* Copyright Contributors to the ODPi Egeria project. */
package org.odpi.openmetadata.accessservices.assetowner.api;
import org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException;
/**
* AssetDuplicateManagementInterface defines the operations to manage the linking of elements that are duplicates of one another.
* It is possible to link assets as well as schema elements for the assets.
*/
public interface AssetDuplicateManagementInterface
{
/**
* Create a simple relationship between two elements in an Asset description (typically the asset itself or
* attributes in their schema).
*
* @param userId calling user
* @param element1GUID unique identifier of first element
* @param element2GUID unique identifier of second element
* @throws InvalidParameterException one of the parameters is null or invalid
* @throws PropertyServerException problem accessing property server
* @throws UserNotAuthorizedException security access problem
*/
void linkElementsAsDuplicates(String userId,
String element1GUID,
String element2GUID) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
/**
* Remove the relationship between two elements that marks them as duplicates.
*
* @param userId calling user
* @param element1GUID unique identifier of first element
* @param element2GUID unique identifier of second element
*
* @throws InvalidParameterException one of the parameters is null or invalid or the elements are not linked as duplicates
* @throws PropertyServerException problem accessing property server
* @throws UserNotAuthorizedException security access problem
*/
void unlinkElementsAsDuplicates(String userId,
String element1GUID,
String element2GUID) throws InvalidParameterException,
UserNotAuthorizedException,
PropertyServerException;
}