Interface EntityWithKeyPropertyService<T extends WithId & WithKey>

All Superinterfaces:
EntityPropertyService<T>
All Known Subinterfaces:
IssuePropertyService, ProjectPropertyService, UserPropertyService
All Known Implementing Classes:
BaseEntityWithKeyPropertyService, DefaultIssueEntityWithKeyPropertyService, DefaultProjectEntityWithKeyPropertyService, DefaultUserPropertyService, DelegatingEntityWithKeyPropertyService

@ExperimentalApi public interface EntityWithKeyPropertyService<T extends WithId & WithKey> extends EntityPropertyService<T>
Extension of the EntityPropertyService specific for entities which are identifiable by key.
Since:
v6.2
See Also:
  • Method Details

    • validateSetProperty

      EntityPropertyService.SetPropertyValidationResult validateSetProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull EntityPropertyService.PropertyInput propertyInput)
      Checks if the provided entity's property is valid.

      This method checks if the entity with which the property will be associated exists and if the calling user has permissions to edit the entity. It validates if the property's key length is less then 255 characters. It also checks if the length of the property's value is less then 32,768.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property will be associated.
      propertyInput - the pair of key and value which will be associated with the entity.
      Returns:
      either entity ready to be persisted in DB or collection of errors.
    • validateSetProperty

      EntityPropertyService.SetPropertyValidationResult validateSetProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull EntityPropertyService.PropertyInput propertyInput, @Nonnull EntityPropertyOptions options)
      Checks if the provided entity's property is valid.

      This method checks if the entity with which the property will be associated exists. It validates if the property's key length is less then 255 characters. It also checks if the length of the property's value is less then 32,768.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property will be associated.
      propertyInput - the pair of key and value which will be associated with the entity.
      options - options to skip permission while performing the validation.
      Returns:
      either entity ready to be persisted in DB or collection of errors.
    • validateDeleteProperty

      EntityPropertyService.DeletePropertyValidationResult validateDeleteProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull String propertyKey)
      Check if it is possible to remove the entity property with specified entity's key and entity's property key.

      This method checks if the calling user has permissions to edit the selected entity and if the property for given entity key and property key exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      propertyKey - the key of the entity's property.
      Returns:
      either entity ready to be removed or collection of errors.
    • validateDeleteProperty

      EntityPropertyService.DeletePropertyValidationResult validateDeleteProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull String propertyKey, @Nonnull EntityPropertyOptions options)
      Check if it is possible to remove the entity property with specified entity's key and entity's property key.

      This method checks if the property for given entity key and property key exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      propertyKey - the key of the entity's property.
      options - options to skip permission while performing the validation.
      Returns:
      either entity ready to be removed or collection of errors.
    • getProperty

      EntityPropertyService.PropertyResult getProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull String propertyKey)
      Returns the JSON property with the specified key from specified entity.

      This method checks if the calling user has permissions to browse the entities and if the entity with given key exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      propertyKey - the key of the entity's property.
      Returns:
      the chosen property of the entity if found or the error collection.
    • getProperty

      EntityPropertyService.PropertyResult getProperty(ApplicationUser user, @Nonnull String entityKey, @Nonnull String propertyKey, @Nonnull EntityPropertyOptions options)
      Returns the JSON property with the specified key from specified entity.

      This method checks if the entity with given key exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      propertyKey - the key of the entity's property.
      options - options to skip permission while performing the validation.
      Returns:
      the chosen property of the entity if found or the error collection.
    • getPropertiesKeys

      EntityPropertyService.PropertyKeys<T> getPropertiesKeys(ApplicationUser user, @Nonnull String entityKey)
      Returns the properties keys associated with the specified entity.

      This method checks if the calling user has permissions to browse the entitys and if the entity with given id exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      Returns:
      the list of properties keys and associated entity or a collection with errors.
    • getPropertiesKeys

      EntityPropertyService.PropertyKeys<T> getPropertiesKeys(ApplicationUser user, @Nonnull String entityKey, @Nonnull EntityPropertyOptions options)
      Returns the properties keys associated with the specified entity.

      This method checks if the entity with given id exists.

      Parameters:
      user - who the permission checks will be run against (can be null, indicating anonymous user).
      entityKey - the key of the entity with which the property is associated.
      options - options to skip permission while performing the validation.
      Returns:
      the list of properties keys and associated entity or a collection with errors.