com.atlassian.jira.entity.property
Class DelegatingEntityPropertyService<E extends WithId>

java.lang.Object
  extended by com.atlassian.jira.entity.property.DelegatingEntityPropertyService<E>
All Implemented Interfaces:
EntityPropertyService<E>
Direct Known Subclasses:
DelegatingEntityWithKeyPropertyService

public class DelegatingEntityPropertyService<E extends WithId>
extends Object
implements EntityPropertyService<E>

Delegates execution of methods from EntityPropertyService to an instance of BaseEntityPropertyService.

Since:
v6.2

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.entity.property.EntityPropertyService
EntityPropertyService.DeletePropertyValidationResult, EntityPropertyService.EntityPropertyInput, EntityPropertyService.PropertyInput, EntityPropertyService.PropertyKeys<E>, EntityPropertyService.PropertyResult, EntityPropertyService.PropertyServiceResult, EntityPropertyService.SetPropertyValidationResult
 
Constructor Summary
DelegatingEntityPropertyService(EntityPropertyService<E> delegate)
           
 
Method Summary
 void deleteProperty(ApplicationUser user, EntityPropertyService.DeletePropertyValidationResult validationResult)
          Removes the entity property with specified entity's id and entity's property key.
 EntityPropertyService.PropertyKeys<E> getPropertiesKeys(ApplicationUser user, Long entityId)
          Returns the properties keys associated with the specified entity.
 EntityPropertyService.PropertyResult getProperty(ApplicationUser user, Long entityId, String propertyKey)
          Returns the JSON property with the specified key from specified entity.
 EntityPropertyService.PropertyResult setProperty(ApplicationUser user, EntityPropertyService.SetPropertyValidationResult propertyValidationResult)
          Associates validated property with the entity.
 EntityPropertyService.DeletePropertyValidationResult validateDeleteProperty(ApplicationUser user, Long entityId, String propertyKey)
          Check if it is possible to remove the entity property with specified entity's id and entity's property key.
 EntityPropertyService.SetPropertyValidationResult validateSetProperty(ApplicationUser user, Long entityId, EntityPropertyService.PropertyInput propertyInput)
          Checks if the provided entity's property is valid.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingEntityPropertyService

public DelegatingEntityPropertyService(EntityPropertyService<E> delegate)
Method Detail

validateSetProperty

public EntityPropertyService.SetPropertyValidationResult validateSetProperty(ApplicationUser user,
                                                                             @NotNull
                                                                             Long entityId,
                                                                             @NotNull
                                                                             EntityPropertyService.PropertyInput propertyInput)
Description copied from interface: EntityPropertyService
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.

Specified by:
validateSetProperty in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
entityId - the id 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.

setProperty

public EntityPropertyService.PropertyResult setProperty(ApplicationUser user,
                                                        @NotNull
                                                        EntityPropertyService.SetPropertyValidationResult propertyValidationResult)
Description copied from interface: EntityPropertyService
Associates validated property with the entity. Upon successful set an instance of EntityPropertySetEvent is published.

Specified by:
setProperty in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
propertyValidationResult - validated entity property.
Returns:
the persisted entity property or the error collection.

validateDeleteProperty

public EntityPropertyService.DeletePropertyValidationResult validateDeleteProperty(ApplicationUser user,
                                                                                   @NotNull
                                                                                   Long entityId,
                                                                                   @NotNull
                                                                                   String propertyKey)
Description copied from interface: EntityPropertyService
Check if it is possible to remove the entity property with specified entity's id 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 id and property key exists.

Specified by:
validateDeleteProperty in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
entityId - the id 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.

deleteProperty

public void deleteProperty(ApplicationUser user,
                           @NotNull
                           EntityPropertyService.DeletePropertyValidationResult validationResult)
Description copied from interface: EntityPropertyService
Removes the entity property with specified entity's id and entity's property key. Upon successful removal, EntityPropertyDeletedEvent is published.

Specified by:
deleteProperty in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
validationResult - validation results of entity's property removal.

getProperty

public EntityPropertyService.PropertyResult getProperty(ApplicationUser user,
                                                        @NotNull
                                                        Long entityId,
                                                        @NotNull
                                                        String propertyKey)
Description copied from interface: EntityPropertyService
Returns the JSON property with the specified key from specified entity.

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

Specified by:
getProperty in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
entityId - the id 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.

getPropertiesKeys

public EntityPropertyService.PropertyKeys<E> getPropertiesKeys(ApplicationUser user,
                                                               @NotNull
                                                               Long entityId)
Description copied from interface: EntityPropertyService
Returns the properties keys associated with the specified entity.

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

Specified by:
getPropertiesKeys in interface EntityPropertyService<E extends WithId>
Parameters:
user - who the permission checks will be run against (can be null, indicating anonymous user).
entityId - the id of the entity with which the property is associated.
Returns:
the list of properties keys and associated entity or a collection with errors.


Copyright © 2002-2014 Atlassian. All Rights Reserved.