Class SimpleCatalogArchiveHelper

  • Direct Known Subclasses:
    GovernanceArchiveHelper

    public class SimpleCatalogArchiveHelper
    extends Object
    SimpleCatalogArchiveHelper creates elements used when creating a simple catalog. This includes assets, their schemas and connections, design models.
    • Constructor Detail

      • SimpleCatalogArchiveHelper

        public SimpleCatalogArchiveHelper​(OpenMetadataArchiveBuilder archiveBuilder,
                                          String archiveGUID,
                                          String archiveRootName,
                                          String originatorName,
                                          Date creationDate,
                                          long versionNumber,
                                          String versionName)
        Typical constructor passes parameters used to build the open metadata archive's property header.
        Parameters:
        archiveBuilder - builder where content is cached
        archiveGUID - unique identifier for this open metadata archive.
        archiveRootName - non-spaced root name of the open metadata archive elements.
        originatorName - name of the originator (person or organization) of the archive.
        creationDate - data that this archive was created.
        versionNumber - version number of the archive.
        versionName - version name for the archive.
    • Method Detail

      • getGUID

        public String getGUID​(String qualifiedName)
        Return the guid of an element based on its qualified name. This is a look up in the GUID map not the archive. This means if the qualified name is not known, a new GUID is generated.
        Parameters:
        qualifiedName - qualified name ot look up
        Returns:
        guid.
      • saveGUIDs

        public void saveGUIDs()
        Save the GUIDs so that the GUIDs of the elements inside the archive are consistent each time the archive runs.
      • addExternalReference

        public String addExternalReference​(String typeName,
                                           String qualifiedName,
                                           String displayName,
                                           String referenceTitle,
                                           String referenceAbstract,
                                           String description,
                                           List<String> authors,
                                           int numberOfPages,
                                           String pageRange,
                                           String authorOrganization,
                                           String publicationSeries,
                                           String publicationSeriesVolume,
                                           String edition,
                                           String versionNumber,
                                           String referenceURL,
                                           String publisher,
                                           Date firstPublicationDate,
                                           Date publicationDate,
                                           String publicationCity,
                                           String publicationYear,
                                           List<String> publicationNumbers,
                                           String license,
                                           String copyright,
                                           String attribution,
                                           List<String> searchKeywords,
                                           Map<String,​String> additionalProperties,
                                           Map<String,​Object> extendedProperties)
        Create an external reference entity. This typically describes a publication, webpage book or reference source of information that is from an external organization.
        Parameters:
        typeName - name of element subtype to use - default is ExternalReference
        qualifiedName - unique name for the element
        displayName - display name for the element
        referenceTitle - full title from the publication
        referenceAbstract - full abstract from the publication
        description - description about the element
        authors - authors of the element
        numberOfPages - number of pages in the external source
        pageRange - range of pages that is significant
        authorOrganization - organization that the information is from
        publicationSeries - publication series or journal that the external source is from.
        publicationSeriesVolume - volume of the publication series where the external source is found
        edition - edition where the external source is from
        versionNumber - version number for the element
        referenceURL - link to the external source
        publisher - publisher of the external source
        firstPublicationDate - date this material was first published (ie first version's publication date)
        publicationDate - date that this version was published
        publicationCity - city that the publisher operates from
        publicationYear - year that this version was published
        publicationNumbers - list of ISBNs for this external source
        license - name of the license associated with this external source
        copyright - copyright statement associated with this external source
        attribution - attribution statement to use when consuming this external source
        searchKeywords - list of keywords
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the subtype
        Returns:
        unique identifier for new external reference (externalReferenceGUID)
      • addExternalReferenceLink

        public void addExternalReferenceLink​(String referenceableGUID,
                                             String externalReferenceGUID,
                                             String referenceId,
                                             String description,
                                             String pages)
        Create the relationship between a design mode group and one of its members.
        Parameters:
        referenceableGUID - unique identifier of the element making the reference
        externalReferenceGUID - unique identifier of the external reference
        referenceId - unique reference id for this referenceable
        description - description of the relevance of the external reference
        pages - relevant pages in the external reference
      • addSubjectAreaDefinition

        public String addSubjectAreaDefinition​(String qualifiedName,
                                               String displayName,
                                               String description,
                                               String scope,
                                               String usage,
                                               int domainIdentifier,
                                               Map<String,​String> additionalProperties,
                                               Map<String,​Object> extendedProperties)
        Create a subject area entity.
        Parameters:
        qualifiedName - unique name for the subject area
        displayName - display name for the subject area
        description - description about the subject area
        scope - scope where the subject area is used
        usage - how is the subject area used
        domainIdentifier - unique identifier of the governance domain
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the subtype
        Returns:
        unique identifier for subject area (subjectAreaGUID)
      • addSubjectAreaHierarchy

        public void addSubjectAreaHierarchy​(String broaderSubjectAreaGUID,
                                            String nestedSubjectAreaGUID)
        Create the relationship between a design mode group and one of its members.
        Parameters:
        broaderSubjectAreaGUID - unique identifier of the broader subject area
        nestedSubjectAreaGUID - unique identifier of the nested (narrower) subject area
      • addSubjectAreaClassification

        public void addSubjectAreaClassification​(String referenceableGUID,
                                                 String subjectAreaQualifiedName)
        Add the subject area classification to the requested element.
        Parameters:
        referenceableGUID - unique identifier of the element to classify
        subjectAreaQualifiedName - name of the subject area. The suggestion is that the name used is the qualified name.
      • addDesignModel

        public String addDesignModel​(String typeName,
                                     String classificationName,
                                     String qualifiedName,
                                     String displayName,
                                     String technicalName,
                                     String description,
                                     String versionNumber,
                                     String author,
                                     Map<String,​String> additionalProperties,
                                     Map<String,​Object> extendedProperties)
        Create a design model entity.
        Parameters:
        typeName - name of element subtype to use - default is DesignModel
        classificationName - name of classification the identifies the type of design model
        qualifiedName - unique name for the element
        displayName - display name for the element
        technicalName - technical name for the element
        description - description about the element
        versionNumber - version number for the element
        author - author of the element
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the subtype
        Returns:
        unique identifier for new design model (designModelGUID)
      • addDesignModelElement

        public String addDesignModelElement​(String designModelGUID,
                                            String typeName,
                                            String qualifiedName,
                                            String displayName,
                                            String technicalName,
                                            String description,
                                            String versionNumber,
                                            String author,
                                            Map<String,​String> additionalProperties,
                                            Map<String,​Object> extendedProperties,
                                            List<Classification> classifications)
        Create a design model element entity. This may be a group or an element in the model.
        Parameters:
        designModelGUID - unique identifier of model that owns this element
        typeName - name of element subtype to use - default is DesignModelElement
        qualifiedName - unique name for the element
        displayName - display name for the element
        technicalName - technical name for the element
        description - description about the element
        versionNumber - version number for the element
        author - author of the element
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the subtype
        classifications - list of classifications (if any)
        Returns:
        unique identifier for the new model element
      • addDesignModelGroupMembership

        public void addDesignModelGroupMembership​(String groupGUID,
                                                  String memberGUID)
        Create the relationship between a design model group and one of its members.
        Parameters:
        groupGUID - unique identifier of the design model group
        memberGUID - unique identifier of the member
      • addConceptBeadRelationshipEnd

        public void addConceptBeadRelationshipEnd​(String conceptBeadLinkGUID,
                                                  String conceptBeadGUID,
                                                  String attributeName,
                                                  int conceptModelDecoration,
                                                  int position,
                                                  int minCardinality,
                                                  int maxCardinality,
                                                  boolean uniqueValues,
                                                  boolean orderedValues,
                                                  boolean navigable)
        Create the relationship between a concept bead link and the concept bead at one of its ends.
        Parameters:
        conceptBeadLinkGUID - unique identifier of the concept bead link entity
        conceptBeadGUID - unique identifier of the concept bead
        attributeName - name of the attribute for this end
        conceptModelDecoration - what type of relationship end
        position - in the attributes for the bead
        minCardinality - minimum number of the relationships
        maxCardinality - maximum number of the relationships
        uniqueValues - are the relationship values unique
        orderedValues - are the relationship values in any order (using position)
        navigable - is it possible to navigate to the concept bead
      • addConceptBeadAttributeLink

        public void addConceptBeadAttributeLink​(String conceptBeadGUID,
                                                String conceptBeadAttributeGUID,
                                                int position,
                                                int minCardinality,
                                                int maxCardinality,
                                                boolean uniqueValues,
                                                boolean orderedValues)
        Create the relationship between a concept bead link and the concept bead at one of its ends.
        Parameters:
        conceptBeadGUID - unique identifier of the concept bead entity
        conceptBeadAttributeGUID - unique identifier of the concept bead attribute entity
        position - in the attributes for the bead
        minCardinality - minimum number of the relationships
        maxCardinality - maximum number of the relationships
        uniqueValues - are the relationship values unique
        orderedValues - are the relationship values in any order (using position)
      • addAsset

        public String addAsset​(String typeName,
                               String qualifiedName,
                               String displayName,
                               String description,
                               Map<String,​String> additionalProperties,
                               Map<String,​Object> extendedProperties,
                               List<Classification> classifications)
        Create an asset entity.
        Parameters:
        typeName - name of asset subtype to use - default is Asset
        qualifiedName - unique name for the asset
        displayName - display name for the asset
        description - description about the asset
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the subtype
        classifications - list of classifications (if any)
        Returns:
        id for the asset
      • addAsset

        public String addAsset​(String typeName,
                               String qualifiedName,
                               String displayName,
                               String description,
                               Map<String,​String> additionalProperties,
                               Map<String,​Object> extendedProperties)
        Create an asset entity.
        Parameters:
        typeName - name of asset subtype to use - default is Asset
        qualifiedName - unique name for the asset
        displayName - display name for the asset
        description - description about the asset
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the sub type
        Returns:
        id for the asset
      • addAsset

        public String addAsset​(String typeName,
                               String qualifiedName,
                               String displayName,
                               String description,
                               List<String> governanceZones,
                               Map<String,​String> additionalProperties,
                               Map<String,​Object> extendedProperties)
        Create an asset entity.
        Parameters:
        typeName - name of asset subtype to use - default is Asset
        qualifiedName - unique name for the asset
        displayName - display name for the asset
        description - description about the asset
        governanceZones - list of zones to add to the asset
        additionalProperties - any other properties
        extendedProperties - additional properties defined in the sub type
        Returns:
        id for the asset
      • addSoftwareCapability

        public String addSoftwareCapability​(String typeName,
                                            String qualifiedName,
                                            String displayName,
                                            String description,
                                            String capabilityType,
                                            String capabilityVersion,
                                            String patchLevel,
                                            String source,
                                            Map<String,​String> additionalProperties,
                                            Map<String,​Object> extendedProperties)
        Create a software capability entity.
        Parameters:
        typeName - name of software capability subtype to use - default is SoftwareCapability
        qualifiedName - unique name for the capability
        displayName - display name for the capability
        description - description about the capability
        capabilityType - type
        capabilityVersion - version
        patchLevel - patch level
        source - source
        additionalProperties - any other properties
        extendedProperties - properties for subtype
        Returns:
        id for the capability
      • addConnectionForAsset

        public void addConnectionForAsset​(String assetGUID,
                                          String assetSummary,
                                          String connectionGUID)
        Create the relationship between an asset and its connection.
        Parameters:
        assetGUID - unique identifier of the asset
        assetSummary - summary of the asset from the connection perspective
        connectionGUID - unique identifier of the connection to its content
      • addDataContentForDataSet

        public void addDataContentForDataSet​(String dataContentGUID,
                                             String dataSetGUID)
        Create the relationship between a data set and an asset that is providing all or part of its content.
        Parameters:
        dataContentGUID - unique identifier of the data store
        dataSetGUID - unique identifier of the consuming data set
      • addTopLevelSchemaType

        public String addTopLevelSchemaType​(String assetGUID,
                                            String typeName,
                                            String qualifiedName,
                                            String displayName,
                                            String description,
                                            Map<String,​String> additionalProperties)
        Create the top level schema type for an asset.
        Parameters:
        assetGUID - unique identifier of asset
        typeName - name of asset subtype to use - default is SchemaType
        qualifiedName - unique name for the schema type
        displayName - display name for the schema type
        description - description about the schema type
        additionalProperties - any other properties
        Returns:
        id for the schemaType
      • addAPIOperation

        public String addAPIOperation​(String apiSchemaTypeGUID,
                                      String qualifiedName,
                                      String displayName,
                                      String description,
                                      String path,
                                      String command,
                                      Map<String,​String> additionalProperties)
        Create the schema type for an API operation.
        Parameters:
        apiSchemaTypeGUID - unique identifier of top level schemaType
        qualifiedName - unique name for the schema type
        displayName - display name for the schema type
        description - description about the schema type
        path - the path name for the operation
        command - the command to issue eg GET, POST
        additionalProperties - any other properties
        Returns:
        id for the schemaType
      • addAPIParameterList

        public String addAPIParameterList​(String apiOperationGUID,
                                          String relationshipTypeName,
                                          String qualifiedName,
                                          String displayName,
                                          String description,
                                          boolean required,
                                          Map<String,​String> additionalProperties)
        Create a parameter list schema type for an API operation.
        Parameters:
        apiOperationGUID - unique identifier of top level schemaType
        relationshipTypeName - name of relationship type - default is APIRequest
        qualifiedName - unique name for the schema type
        displayName - display name for the schema type
        description - description about the schema type
        required - is this parameter list required
        additionalProperties - any other properties
        Returns:
        id for the schemaType
      • addSchemaTypeOption

        public void addSchemaTypeOption​(String schemaTypeChoiceGUID,
                                        String schemaTypeOptionGUID)
        Create the relationship between a SchemaTypeChoice element and a child element using the SchemaTypeOption relationship.
        Parameters:
        schemaTypeChoiceGUID - unique identifier of the parent element
        schemaTypeOptionGUID - unique identifier of the child element
      • addAttributeForSchemaType

        public void addAttributeForSchemaType​(String schemaTypeGUID,
                                              String schemaAttributeGUID)
        Create the relationship between a SchemaType element and a child SchemaAttribute element using the AttributeForSchema relationship.
        Parameters:
        schemaTypeGUID - unique identifier of the parent element
        schemaAttributeGUID - unique identifier of the child element
      • addNestedSchemaAttribute

        public void addNestedSchemaAttribute​(String parentSchemaAttributeGUID,
                                             String childSchemaAttributeGUID)
        Create the relationship between a SchemaAttribute element and a child SchemaAttribute element using the NestedSchemaAttribute relationship.
        Parameters:
        parentSchemaAttributeGUID - unique identifier of the parent element
        childSchemaAttributeGUID - unique identifier of the child element
      • addSchemaAttribute

        public String addSchemaAttribute​(String typeName,
                                         String schemaTypeName,
                                         String qualifiedName,
                                         String displayName,
                                         String description,
                                         String dataType,
                                         int length,
                                         int position,
                                         Map<String,​String> additionalProperties)
        Create a schema attribute with a TypeEmbeddedAttribute classification.
        Parameters:
        typeName - name of schema attribute subtype to use - default is SchemaAttribute
        schemaTypeName - name of schema type subtype to use - default is PrimitiveSchemaType
        qualifiedName - unique name for the schema attribute
        displayName - display name for the schema attribute
        description - description about the schema attribute
        dataType - data type for the schema attribute
        length - length of the storage used by the schema attribute
        position - position in the schema at this level
        additionalProperties - any other properties.
        Returns:
        id for the schema attribute
      • addConnection

        public String addConnection​(String qualifiedName,
                                    String displayName,
                                    String description,
                                    String userId,
                                    String clearPassword,
                                    String encryptedPassword,
                                    Map<String,​String> securedProperties,
                                    Map<String,​Object> configurationProperties,
                                    Map<String,​String> additionalProperties,
                                    String connectorTypeGUID,
                                    String endpointGUID)
        Create a connection entity.
        Parameters:
        qualifiedName - unique name for the connection
        displayName - display name for the connection
        description - description about the connection
        userId - userId that the connector should use to connect to the platform that hosts the asset.
        clearPassword - possible password for the connector
        encryptedPassword - possible password for the connector
        securedProperties - properties hidden from the client
        configurationProperties - properties used to configure the connector
        additionalProperties - any other properties.
        connectorTypeGUID - unique identifier for the connector type
        endpointGUID - unique identifier for the endpoint of the asset
        Returns:
        id for the connection
      • addConnectorType

        public String addConnectorType​(String connectorCategoryGUID,
                                       String connectorTypeGUID,
                                       String qualifiedName,
                                       String displayName,
                                       String description,
                                       String supportedAssetTypeName,
                                       String expectedDataFormat,
                                       String connectorProviderClassName,
                                       String connectorFrameworkName,
                                       String connectorInterfaceLanguage,
                                       List<String> connectorInterfaces,
                                       String targetTechnologySource,
                                       String targetTechnologyName,
                                       List<String> targetTechnologyInterfaces,
                                       List<String> targetTechnologyVersions,
                                       List<String> recognizedSecuredProperties,
                                       List<String> recognizedConfigurationProperties,
                                       List<String> recognizedAdditionalProperties,
                                       Map<String,​String> additionalProperties)
        Create a connector type entity.
        Parameters:
        connectorCategoryGUID - unique identifier of connector category - or null is not categorized
        connectorTypeGUID - fixed unique identifier for connector type - comes from the Connector Provider
        qualifiedName - unique name for the connector type
        displayName - display name for the connector type
        description - description about the connector type
        supportedAssetTypeName - type of asset supported by this connector
        expectedDataFormat - format of the data stored in the resource
        connectorProviderClassName - code for this type of connector
        connectorFrameworkName - name of the framework that the connector implements - default "Open Connector Framework (OCF)"
        connectorInterfaceLanguage - programming language of the connector's interface
        connectorInterfaces - the interfaces that the connector implements
        targetTechnologySource - organization implementing the target technology
        targetTechnologyName - name of the target technology
        targetTechnologyInterfaces - called interfaces the target technology
        targetTechnologyVersions - supported versions of the target technology
        recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
        recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
        recognizedAdditionalProperties - names of any other properties for connection object.
        additionalProperties - any other properties.
        Returns:
        id for the connector type
      • addConnectorType

        protected String addConnectorType​(String connectorCategoryGUID,
                                          String qualifiedName,
                                          String displayName,
                                          String description,
                                          String supportedAssetTypeName,
                                          String expectedDataFormat,
                                          String connectorProviderClassName,
                                          String connectorFrameworkName,
                                          String connectorInterfaceLanguage,
                                          List<String> connectorInterfaces,
                                          String targetTechnologySource,
                                          String targetTechnologyName,
                                          List<String> targetTechnologyInterfaces,
                                          List<String> targetTechnologyVersions,
                                          List<String> recognizedSecuredProperties,
                                          List<String> recognizedConfigurationProperties,
                                          List<String> recognizedAdditionalProperties,
                                          Map<String,​String> additionalProperties)
        Create a connector type entity.
        Parameters:
        connectorCategoryGUID - unique identifier of connector category - or null is not categorized
        qualifiedName - unique name for the connector type
        displayName - display name for the connector type
        description - description about the connector type
        supportedAssetTypeName - type of asset supported by this connector
        expectedDataFormat - format of the data stored in the resource
        connectorProviderClassName - code for this type of connector
        connectorFrameworkName - name of the framework that the connector implements - default "Open Connector Framework (OCF)"
        connectorInterfaceLanguage - programming language of the connector's interface
        connectorInterfaces - the interfaces that the connector implements
        targetTechnologySource - organization implementing the target technology
        targetTechnologyName - name of the target technology
        targetTechnologyInterfaces - called interfaces the target technology
        targetTechnologyVersions - supported versions of the target technology
        recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
        recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
        recognizedAdditionalProperties - names of any other properties for connection object.
        additionalProperties - any other properties.
        Returns:
        id for the connector type
      • addConnectorCategory

        public String addConnectorCategory​(String connectorTypeDirectoryGUID,
                                           String qualifiedName,
                                           String displayName,
                                           String description,
                                           String targetTechnologySource,
                                           String targetTechnologyName,
                                           Map<String,​Boolean> recognizedSecuredProperties,
                                           Map<String,​Boolean> recognizedConfigurationProperties,
                                           Map<String,​Boolean> recognizedAdditionalProperties,
                                           Map<String,​String> additionalProperties)
        Create a connector category entity.
        Parameters:
        connectorTypeDirectoryGUID - unique identifier of connector type directory that this connector connector belongs to - or null for an independent connector category
        qualifiedName - unique name for the connector category
        displayName - display name for the connector category
        description - description about the connector category
        targetTechnologySource - organization implementing the target technology
        targetTechnologyName - name of the target technology
        recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
        recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
        recognizedAdditionalProperties - names of any other properties for connection object.
        additionalProperties - any other properties.
        Returns:
        id for the connector type
      • addConnectorTypeDirectory

        public String addConnectorTypeDirectory​(String qualifiedName,
                                                String displayName,
                                                String description,
                                                Map<String,​String> additionalProperties)
        Create a connector category entity.
        Parameters:
        qualifiedName - unique name for the connector type directory
        displayName - display name for the connector type directory
        description - description about the connector type directory
        additionalProperties - any other properties.
        Returns:
        id for the connector type
      • addEndpoint

        public String addEndpoint​(String qualifiedName,
                                  String displayName,
                                  String description,
                                  String networkAddress,
                                  String protocol,
                                  Map<String,​String> additionalProperties)
        Create a endpoint entity.
        Parameters:
        qualifiedName - unique name for the endpoint
        displayName - display name for the endpoint
        description - description about the endpoint
        networkAddress - location of the asset
        protocol - protocol to use to connect to the asset
        additionalProperties - any other properties.
        Returns:
        id for the endpoint
      • addGlossary

        public String addGlossary​(String qualifiedName,
                                  String displayName,
                                  String description,
                                  String language,
                                  String usage,
                                  String externalLink,
                                  String scope)
        Create a glossary entity. If the external link is specified, the glossary entity is linked to an ExternalGlossaryLink entity. If the scope is specified, the glossary entity is classified as a CanonicalGlossary.
        Parameters:
        qualifiedName - unique name for the glossary
        displayName - display name for the glossary
        description - description about the glossary
        language - language that the glossary is written in
        usage - how the glossary should be used
        externalLink - link to material
        scope - scope of the content.
        Returns:
        id for the glossary
      • addCategory

        public String addCategory​(String glossaryGUID,
                                  String qualifiedName,
                                  String displayName,
                                  String description,
                                  String subjectArea)
        Add a glossary category to the archive and connect it to glossary.
        Parameters:
        glossaryGUID - identifier of the glossary.
        qualifiedName - unique name for the category.
        displayName - display name for the category.
        description - description of the category.
        subjectArea - name of the subject area if this category contains terms for the subject area.
        Returns:
        identifier of the category
      • addTerm

        public String addTerm​(String glossaryGUID,
                              List<String> categoryGUIDs,
                              String qualifiedName,
                              String displayName,
                              String description)
        Add a term and link it to the glossary and an arbitrary number of categories.
        Parameters:
        glossaryGUID - unique identifier of the glossary
        categoryGUIDs - unique identifiers of the categories
        qualifiedName - unique name of the term
        displayName - display name of the term
        description - description of the term
        Returns:
        unique identifier of the term
      • addTerm

        public String addTerm​(String glossaryGUID,
                              List<String> categoryIds,
                              String qualifiedName,
                              String displayName,
                              String description,
                              String examples,
                              boolean isSpineObject,
                              boolean isSpineAttribute,
                              boolean categoriesAsNames)
        Add a term and link it to the glossary and an arbitrary number of categories.
        Parameters:
        glossaryGUID - unique identifier of the glossary
        categoryIds - unique identifiers of the categories
        qualifiedName - unique name of the term
        displayName - display name of the term
        description - description of the term
        examples - examples of the term
        isSpineObject - term is a spine object
        isSpineAttribute - term is a spine attribute
        categoriesAsNames - when true the categories are specified as qualified names, otherwise they are guids.
        Returns:
        unique identifier of the term
      • addTerm

        public String addTerm​(String glossaryGUID,
                              List<String> categoryIds,
                              boolean categoriesAsNames,
                              String qualifiedName,
                              String displayName,
                              String description,
                              String examples,
                              boolean isSpineObject,
                              boolean isSpineAttribute,
                              boolean isContext,
                              String contextDescription,
                              String contextScope)
        Add a term and link it to the glossary and an arbitrary number of categories. Add requested classifications
        Parameters:
        glossaryGUID - unique identifier of the glossary
        categoryIds - unique identifiers of the categories
        categoriesAsNames - when true the categories are specified as qualified names, otherwise they are guids.
        qualifiedName - unique name of the term
        displayName - display name of the term
        description - description of the term
        examples - examples of the term
        isSpineObject - term is a spine object
        isSpineAttribute - term is a spine attribute
        isContext - is this term a context definition?
        contextDescription - description to add to the ContextDefinition classification
        contextScope - scope to add to the context classification
        Returns:
        unique identifier of the term
      • addCategoryToCategory

        public void addCategoryToCategory​(String parentCategoryGUID,
                                          String childCategoryGUID)
        Link two categories together as part of the parent child hierarchy.
        Parameters:
        parentCategoryGUID - unique identifier for the parent category
        childCategoryGUID - unique identifier for the child category
      • addTermToContext

        public void addTermToContext​(String categoryGUID,
                                     String termGUID,
                                     int status,
                                     String description)
        Link two categories together as part of the parent child hierarchy.
        Parameters:
        categoryGUID - unique identifier for the parent category
        termGUID - unique identifier for the child category
        status - ordinal for the relationship status
        description - description of the relationship between the term and the category.
      • addTermToCategory

        public void addTermToCategory​(String categoryGUID,
                                      String termGUID,
                                      int status,
                                      String description)
        Link two categories together as part of the parent child hierarchy.
        Parameters:
        categoryGUID - unique identifier for the parent category
        termGUID - unique identifier for the child category
        status - ordinal for the relationship status
        description - description of the relationship between the term and the category.
      • addLibraryCategoryReference

        public void addLibraryCategoryReference​(String categoryGUID,
                                                String externalGlossaryLinkGUID,
                                                String identifier,
                                                String description,
                                                String steward,
                                                Date lastVerified)
        Link a category to an external glossary link with information on which category in the external glossary it corresponds to.
        Parameters:
        categoryGUID - unique identifier for the category
        externalGlossaryLinkGUID - unique identifier for the description of the external glossary (a type of external reference)
      • addLibraryTermReference

        public void addLibraryTermReference​(String termGUID,
                                            String externalGlossaryLinkGUID,
                                            String identifier,
                                            String description,
                                            String steward,
                                            Date lastVerified)
        Link a glossary term to an external glossary link with information on which term in the external glossary it corresponds to.
        Parameters:
        termGUID - unique identifier for the term
        externalGlossaryLinkGUID - unique identifier for the description of the external glossary (a type of external reference)
      • addMoreInformationLink

        public void addMoreInformationLink​(String describedElementId,
                                           String describerElementId)
        Create a navigation link from one referenceable to another to show they provide more information.
        Parameters:
        describedElementId - unique identifier for the element that is referencing the other.
        describerElementId - unique identifier for the element being pointed to.
      • linkTermToReferenceable

        public void linkTermToReferenceable​(String termId,
                                            String referenceableId)
        Create a semantic assignment between a term and a Referenceable - for example a model element.
        Parameters:
        termId - identifier of term
        referenceableId - identifier of referenceable
      • addIsATypeOfRelationship

        public void addIsATypeOfRelationship​(String specialTermQName,
                                             String generalizedTermQName)
        Add an is-a-type-of relationship
        Parameters:
        specialTermQName - qualified name of the specialized term
        generalizedTermQName - qualified name of the generalized term
      • addHasARelationship

        public void addHasARelationship​(String conceptQName,
                                        String propertyQName)
      • addRelatedTermRelationship

        public void addRelatedTermRelationship​(String conceptQName,
                                               String propertyQName)