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

# Interface AttributeApi

public interface AttributeApi
Contains all api operations for handling attributes.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Attribute`
  `addAttribute(AddAttributeRequest addAttributeRequest)`
  Adds a new attribute.
  `List<Attribute>`
  `addAttributes(List<AddAttributeRequest> addAttributeRequests)`
  Adds multiple attributes.
  `Attribute`
  `changeAttribute(ChangeAttributeRequest changeAttributeRequest)`
  Changes the attribute with the information that is present in the request.
  `List<Attribute>`
  `changeAttributes(List<ChangeAttributeRequest> changeAttributeRequests)`
  Changes multiple attributes with the information that is present in the request.
  `boolean`
  `exists(UUID attributeId)`
  Returns true if an attribute with given ID exists.
  `CursorPagedResponse<Attribute>`
  `findAttributes(FindAttributesRequest findAttributesRequest)`
  Returns attributes matching the given input.
  `Attribute`
  `getAttribute(UUID attributeId)`
  Returns an attribute by id.
  `void`
  `removeAttribute(UUID attributeId)`
  Removes an attribute by id.
  `void`
  `removeAttributes(List<UUID> attributeIds)`
  Removes multiple attributes identified by given ids.

- ## Method Details

  - ### addAttribute

    Attribute addAttribute(AddAttributeRequest addAttributeRequest)
    Adds a new attribute.
    Parameters:
      `addAttributeRequest` - the properties of the attribute to be added
    Returns:
      the newly added attribute

  - ### addAttributes

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<Attribute> addAttributes(List<AddAttributeRequest> addAttributeRequests)
    Adds multiple attributes.
    Parameters:
      `addAttributeRequests` - the list of the properties of the attributes to be added
    Returns:
      the newly added attributes

  - ### changeAttribute

    Attribute changeAttribute(ChangeAttributeRequest changeAttributeRequest)
    Changes the attribute with the information that is present in the request.
    Parameters:
      `changeAttributeRequest` - changes that to be performed on the attribute
    Returns:
      the changed attribute

  - ### changeAttributes

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<Attribute> changeAttributes(List<ChangeAttributeRequest> changeAttributeRequests)
    Changes multiple attributes with the information that is present in the request.
    Parameters:
      `changeAttributeRequests` - changes that to be performed on the attribute
    Returns:
      the changed attribute

  - ### getAttribute

    Attribute getAttribute(UUID attributeId)
    Returns an attribute by id.
    Parameters:
      `attributeId` - the UUID of the attribute to retrieve
    Returns:
      the attribute

  - ### findAttributes

    @SecurityAuditMethod(resultFormatter=com.collibra.dgc.core.api.internal.security.audit.formatter.PagedResponseFormatter.class) CursorPagedResponse<Attribute> findAttributes(FindAttributesRequest findAttributesRequest)
    Returns attributes matching the given input.
    Parameters:
      `findAttributesRequest` - specified inputs in order to search for attributes
    Returns:
      the found attributes

  - ### exists

    boolean exists(UUID attributeId)
    Returns true if an attribute with given ID exists.
    Parameters:
      `attributeId` - the ID of the attribute
    Returns:
      true if an attribute with given ID exists, `false` otherwise

  - ### removeAttribute

    void removeAttribute(UUID attributeId)
    Removes an attribute by id.
    Parameters:
      `attributeId` - the ID of the attribute to remove

  - ### removeAttributes

    void removeAttributes(List<UUID> attributeIds)
    Removes multiple attributes identified by given ids.
    Parameters:
      `attributeIds` - the IDs of the attributes to remove