Package com.collibra.dgc.core.api.component.meta

# Interface ComplexRelationTypeApi

public interface ComplexRelationTypeApi
Provides functionality for the Complex Relation Types.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ComplexRelationType`
  `addComplexRelationType(AddComplexRelationTypeRequest request)`
  Adds a new Complex Relation Type.
  `ComplexRelationType`
  `changeComplexRelationType(ChangeComplexRelationTypeRequest request)`
  Changes the Complex Relation Type with the information that is present in the request.
  `boolean`
  `exists(UUID complexRelationTypeId)`
  Returns true if a Complex Relation Type with given `id` exists.
  `PagedResponse<ComplexRelationType>`
  `findComplexRelationTypes(FindComplexRelationTypesRequest request)`
  Finds the Complex Relation Types matching the given criteria.
  `List<ComplexRelationType>`
  `getAllComplexRelationTypes()`
  Deprecated.
  use `findComplexRelationTypes(FindComplexRelationTypesRequest)`
  `ComplexRelationType`
  `getComplexRelationType(UUID complexRelationTypeId)`
  Returns the Complex Relation Type identified by the given UUID.
  `ComplexRelationType`
  `getComplexRelationTypeByPublicId(String publicId)`
  Returns the complex relation type identified by the given public id.
  `void`
  `removeComplexRelationType(UUID complexRelationTypeId)`
  Removes the Complex Relation Type identified by given id.

- ## Method Details

  - ### addComplexRelationType

    ComplexRelationType addComplexRelationType(AddComplexRelationTypeRequest request)
    Adds a new Complex Relation Type.
    Parameters:
      `request` - parameters of the Complex Relation
    Returns:
      the created Complex Relation Type

  - ### changeComplexRelationType

    ComplexRelationType changeComplexRelationType(ChangeComplexRelationTypeRequest request)
    Changes the Complex Relation Type with the information that is present in the request. Only properties that are specified in this request and do not have `null` values are updated. All other properties are ignored.
    Parameters:
      `request` - the properties of the Complex Relation Type to be changed
    Returns:
      the changed Complex Relation Type

  - ### getComplexRelationType

    ComplexRelationType getComplexRelationType(UUID complexRelationTypeId)
    Returns the Complex Relation Type identified by the given UUID.
    Parameters:
      `complexRelationTypeId` - the UUID of the Complex Relation Type
    Returns:
      the Complex Relation Type

  - ### getComplexRelationTypeByPublicId

    ComplexRelationType getComplexRelationTypeByPublicId(String publicId)
    Returns the complex relation type identified by the given public id.
    Parameters:
      `publicId` - the public Id of the complex relation type
    Returns:
      the found complex relation type

  - ### findComplexRelationTypes

    @SecurityAuditMethod(resultFormatter=com.collibra.dgc.core.api.internal.security.audit.formatter.PagedResponseFormatter.class) PagedResponse<ComplexRelationType> findComplexRelationTypes(FindComplexRelationTypesRequest request)
    Finds the Complex Relation Types matching the given criteria.
    Parameters:
      `request` - the request object containing the criteria
    Returns:
      a pagedResponse of Complex Relation Types

  - ### getAllComplexRelationTypes

    @Deprecated @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<ComplexRelationType> getAllComplexRelationTypes()
    Deprecated.
    use `findComplexRelationTypes(FindComplexRelationTypesRequest)`
    Returns all Complex Relation Types.
    Returns:
      all the Complex Relation Types

  - ### exists

    boolean exists(UUID complexRelationTypeId)
    Returns true if a Complex Relation Type with given `id` exists.
    Parameters:
      `complexRelationTypeId` - the `id` of the Complex Relation Type
    Returns:
      true if a Complex Relation Type with given `id` exists, `false` otherwise

  - ### removeComplexRelationType

    void removeComplexRelationType(UUID complexRelationTypeId)
    Removes the Complex Relation Type identified by given id.
    Parameters:
      `complexRelationTypeId` - the `id` of the Complex Relation Type