Class TagRepository

java.lang.Object
org.openmetadata.service.jdbi3.EntityRepository<Tag>
org.openmetadata.service.jdbi3.TagRepository

public class TagRepository extends EntityRepository<Tag>
  • Constructor Details

    • TagRepository

      public TagRepository()
  • Method Details

    • prepare

      public void prepare(Tag entity, boolean update)
      Description copied from class: EntityRepository
      This method is used for validating an entity to be created during POST, PUT, and PATCH operations and prepare the entity with all the required attributes and relationships.

      The implementation of this method must perform the following:

      1. Prepare the values for attributes that are not required in the request but can be derived on the server side. Example - >FullyQualifiedNames of an entity can be derived from the hierarchy that an entity belongs to .
      2. Validate all the attributes of an entity.
      3. Validate all the relationships of an entity. As an example - during table creation, relationships such as Tags, Owner, Databasea table belongs to are validated. During validation additional information that is not required in the create/update request are set up in the corresponding relationship fields.
      At the end of this operation, entity is expected to be valid and fully constructed with all the fields that will be sent as payload in the POST, PUT, and PATCH operations response.
      Specified by:
      prepare in class EntityRepository<Tag>
      See Also:
    • storeEntity

      public void storeEntity(Tag tag, boolean update)
      Description copied from class: EntityRepository
      An entity is stored in the backend database as JSON document. The JSON includes some attributes of the entity and does not include attributes such as href. The relationship fields of an entity is never stored in the JSON document. It is always reconstructed based on relationship edges from the backend database.

      As an example, when table entity is stored, the attributes such as href and the relationships such as owner, database, and tags are set to null. These attributes are restored back after the JSON document is stored to be sent as response.
      Specified by:
      storeEntity in class EntityRepository<Tag>
      See Also:
    • restorePatchAttributes

      public void restorePatchAttributes(Tag original, Tag updated)
      Description copied from class: EntityRepository
      PATCH operations can't overwrite certain fields, such as entity ID, fullyQualifiedNames etc. Instead of throwing an error, we take lenient approach of ignoring the user error and restore those attributes based on what is already stored in the original entity.
      Overrides:
      restorePatchAttributes in class EntityRepository<Tag>
    • storeRelationships

      public void storeRelationships(Tag entity)
      Description copied from class: EntityRepository
      This method is called to store all the relationships of an entity. It is expected that all relationships are already validated and completely setup before this method is called and no validation of relationships is required.
      Specified by:
      storeRelationships in class EntityRepository<Tag>
      See Also:
    • setFullyQualifiedName

      public void setFullyQualifiedName(Tag tag)
      Description copied from class: EntityRepository
      Set fullyQualifiedName of an entity
      Overrides:
      setFullyQualifiedName in class EntityRepository<Tag>
    • getUpdater

      public EntityRepository<Tag>.EntityUpdater getUpdater(Tag original, Tag updated, EntityRepository.Operation operation)
      Overrides:
      getUpdater in class EntityRepository<Tag>
    • postDelete

      protected void postDelete(Tag entity)
      Overrides:
      postDelete in class EntityRepository<Tag>
    • setFields

      public void setFields(Tag tag, EntityUtil.Fields fields)
      Description copied from class: EntityRepository
      Set the requested fields in an entity. This is used for requesting specific fields in the object during GET operations. It is also used during PUT and PATCH operations to set up fields that can be updated.
      Specified by:
      setFields in class EntityRepository<Tag>
    • clearFields

      public void clearFields(Tag tag, EntityUtil.Fields fields)
      Description copied from class: EntityRepository
      Set the requested fields in an entity. This is used for requesting specific fields in the object during GET operations. It is also used during PUT and PATCH operations to set up fields that can be updated.
      Specified by:
      clearFields in class EntityRepository<Tag>