All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.odpi.openmetadata.accessservices.governanceprogram.api.GovernanceClassificationLevelInterface Maven / Gradle / Ivy

/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Contributors to the ODPi Egeria project. */
package org.odpi.openmetadata.accessservices.governanceprogram.api;


import org.odpi.openmetadata.accessservices.governanceprogram.metadataelements.GovernanceLevelIdentifierElement;
import org.odpi.openmetadata.accessservices.governanceprogram.metadataelements.GovernanceLevelIdentifierSetElement;
import org.odpi.openmetadata.accessservices.governanceprogram.properties.GovernanceLevelIdentifierProperties;
import org.odpi.openmetadata.accessservices.governanceprogram.properties.GovernanceLevelIdentifierSetProperties;
import org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException;


import java.util.List;

/**
 * GovernanceClassificationLevelInterface defines the levels of the standard governance classifications of Impact, Criticality,
 * Retention, Confidence and Confidentiality.
 */
public interface GovernanceClassificationLevelInterface
{
    /* =====================================================================================================================
     * Egeria defines a default set of classification levels for each governance classification.  The method below sets them up.
     */

    /**
     * Create a governance level identifier set for a specific governance classification:
     *
     * 
    *
  • Impact - classification used to document the impact of an issue or situation.
  • *
  • Criticality - classification used to document how critical an asset or activity is.
  • *
  • Retention - classification used to identify the basis that an asset should be retained.
  • *
  • Confidence - classification use to document an assessment of the quality of an asset or element with an asset.
  • *
  • Confidentiality - classification use to define how much access to an asset should be restricted.
  • *
* * @param userId calling user * @param classificationName name of the classification level to set up * * @return unique identifier of the governance level identifier set * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ String createStandardGovernanceClassificationLevels(String userId, String classificationName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /* ===================================================================================================================== * The GovernanceLevelIdentifierSet entity is the top level element in a collection of related governance classification level identifiers. */ /** * Create a new metadata element to represent the root of a Governance Classification Level Identifier Sets. * * @param userId calling user * @param properties properties to store * * @return unique identifier of the new metadata element * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ String createGovernanceLevelIdentifierSet(String userId, GovernanceLevelIdentifierSetProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Update the metadata element representing a Governance Classification Level Identifier Sets. * * @param userId calling user * @param setGUID unique identifier of the metadata element to remove * @param properties new properties for this element * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ void updateGovernanceLevelIdentifierSet(String userId, String setGUID, GovernanceLevelIdentifierSetProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Remove the metadata element representing a Governance Classification Level Identifier Sets and all linked level identifiers. * * @param userId calling user * @param setGUID unique identifier of the metadata element to remove * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ void removeGovernanceLevelIdentifierSet(String userId, String setGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Retrieve the list of Governance Classification Level Identifier Sets. * * @param userId calling user * * @return list of matching metadata elements * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ List getGovernanceLevelIdentifierSets(String userId) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Retrieve the Governance Level Identifier Set for a requested governance classification. * * @param userId calling user * @param classificationName classificationName to search for * * @return list of matching metadata elements * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ GovernanceLevelIdentifierSetElement getGovernanceLevelIdentifierSet(String userId, String classificationName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Retrieve the Governance Level Identifier Set metadata element with the supplied unique identifier. * * @param userId calling user * @param setGUID unique identifier of the requested metadata element * * @return matching metadata element * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ GovernanceLevelIdentifierSetElement getGovernanceLevelIdentifierSetByGUID(String userId, String setGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /* ===================================================================================================================== * A GovernanceLevelIdentifier describes an area of focus in the governance program. */ /** * Create a new metadata element to represent a governance classification level identifier. * * @param userId calling user * @param properties properties about the Governance LevelIdentifier to store * @param setGUID unique identifier of the set that this identifier belongs * * @return unique identifier of the new Governance LevelIdentifier * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ String createGovernanceLevelIdentifier(String userId, String setGUID, GovernanceLevelIdentifierProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Update the metadata element representing a governance classification level identifier. * * @param userId calling user * @param identifierGUID unique identifier of the metadata element to update * @param properties new properties for the metadata element * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ void updateGovernanceLevelIdentifier(String userId, String identifierGUID, GovernanceLevelIdentifierProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Remove the metadata element representing a governance classification level identifier. * * @param userId calling user * @param identifierGUID unique identifier of the metadata element to remove * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ void removeGovernanceLevelIdentifier(String userId, String identifierGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; /** * Retrieve the governance classification level identifier metadata element for the requested level within a specific governance classification. * * @param userId calling user * @param classificationName string to find in the properties * @param levelIdentifier level value to retrieve * * @return list of matching metadata elements * * @throws InvalidParameterException one of the parameters is invalid * @throws UserNotAuthorizedException the user is not authorized to issue this request * @throws PropertyServerException there is a problem reported in the open metadata server(s) */ GovernanceLevelIdentifierElement getGovernanceLevelIdentifier(String userId, String classificationName, int levelIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy