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

# Interface DomainTypeApi

public interface DomainTypeApi
Contains all API operations for handling Domain Types.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DomainType`
  `addDomainType(AddDomainTypeRequest addDomainTypeRequest)`
  Adds a new Domain Type.
  `List<DomainType>`
  `addDomainTypes(List<AddDomainTypeRequest> addDomainTypeRequests)`
  Adds multiple Domain Types.
  `DomainType`
  `changeDomainType(ChangeDomainTypeRequest changeDomainTypeRequest)`
  Changes the Domain Type with the information that is present in the request.
  `List<DomainType>`
  `changeDomainTypes(List<ChangeDomainTypeRequest> changeDomainTypeRequests)`
  Changes multiple Domain Types.
  `boolean`
  `exists(UUID domainTypeId)`
  Returns true if a Domain Type with given `id` exists.
  `PagedResponse<DomainType>`
  `findDomainTypes(FindDomainTypesRequest request)`
  Returns Domain Types matching the given search criteria.
  `List<DomainType>`
  `findSubTypes(FindSubDomainTypesRequest findSubDomainTypesRequest)`
  Finds all the subtypes of the Domain Type as described in the request object.
  `DomainType`
  `getDomainType(UUID domainTypeId)`
  Returns the Domain Type identified by the given id.
  `DomainType`
  `getDomainTypeByName(String domainTypeName)`
  Returns the Domain Type with the given name.
  `DomainType`
  `getDomainTypeByPublicId(String publicId)`
  Returns the domain type identified by the given public id.
  `void`
  `removeDomainType(UUID domainTypeId)`
  Removes Domain Type identified by given id.
  `void`
  `removeDomainTypes(List<UUID> domainTypeIds)`
  Removes multiple Domain Types.

- ## Method Details

  - ### addDomainType

    DomainType addDomainType(AddDomainTypeRequest addDomainTypeRequest)
    Adds a new Domain Type.
    Parameters:
      `addDomainTypeRequest` - the properties of the Domain Type to be added
    Returns:
      the newly added Domain Type

  - ### addDomainTypes

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<DomainType> addDomainTypes(List<AddDomainTypeRequest> addDomainTypeRequests)
    Adds multiple Domain Types.
    Parameters:
      `addDomainTypeRequests` - the properties of the Domain Types to be added
    Returns:
      the newly added Domain Types

  - ### changeDomainType

    DomainType changeDomainType(ChangeDomainTypeRequest changeDomainTypeRequest)
    Changes the Domain 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:
      `changeDomainTypeRequest` - the properties of the Domain Type to be changed
    Returns:
      the changed Domain Type

  - ### changeDomainTypes

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<DomainType> changeDomainTypes(List<ChangeDomainTypeRequest> changeDomainTypeRequests)
    Changes multiple Domain Types.
    Parameters:
      `changeDomainTypeRequests` - the properties of the Domain Types to be changed
    Returns:
      the changed Domain Types

  - ### getDomainType

    DomainType getDomainType(UUID domainTypeId)
    Returns the Domain Type identified by the given id.
    Parameters:
      `domainTypeId` - the identifier of the Domain Type
    Returns:
      the found Domain Type

  - ### getDomainTypeByPublicId

    DomainType getDomainTypeByPublicId(String publicId)
    Returns the domain type identified by the given public id.
    Parameters:
      `publicId` - the public id of the domain type
    Returns:
      the found domain type

  - ### getDomainTypeByName

    DomainType getDomainTypeByName(String domainTypeName)
    Returns the Domain Type with the given name.
    Parameters:
      `domainTypeName` - the name of the Domain Type
    Returns:
      the found Domain Type

  - ### findDomainTypes

    @SecurityAuditMethod(resultFormatter=com.collibra.dgc.core.api.internal.security.audit.formatter.PagedResponseFormatter.class) PagedResponse<DomainType> findDomainTypes(FindDomainTypesRequest request)
    Returns Domain Types matching the given search criteria. Only parameters that are specified in this request and do not have `null` values are used for filtering. All other parameters are ignored. The returned Domain Types satisfy all constraints that are specified in this search criteria. By default, a result containing 1000 Domain Types is returned.
    Parameters:
      `request` - the search criteria
    Returns:
      the found Domain Types

  - ### findSubTypes

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<DomainType> findSubTypes(FindSubDomainTypesRequest findSubDomainTypesRequest)
    Finds all the subtypes of the Domain Type as described in the request object.
    Parameters:
      `findSubDomainTypesRequest` - the request for sub Domain Types search
    Returns:
      the list of found sub Domain Types

  - ### exists

    boolean exists(UUID domainTypeId)
    Returns true if a Domain Type with given `id` exists.
    Parameters:
      `domainTypeId` - the `id` of the asset type
    Returns:
      true if a Domain Type with given `id` exists, `false` otherwise

  - ### removeDomainType

    void removeDomainType(UUID domainTypeId)
    Removes Domain Type identified by given id.
    Parameters:
      `domainTypeId` - the `id` of the Domain Type

  - ### removeDomainTypes

    void removeDomainTypes(List<UUID> domainTypeIds)
    Removes multiple Domain Types.
    Parameters:
      `domainTypeIds` - the `id`s of the Domain Types to be removed, i.e. [“6f685f90-1036-4d30-983a-a9bbcdd7b8f6”,"174b6334-9804-495d-b659-43f53a5de8b8"]