public interface PropertyService
Modifier and Type | Method and Description |
---|---|
<T> void |
copyProperty(ProjectEntity sourceEntity,
Property<T> property,
ProjectEntity targetEntity,
java.util.function.Function<java.lang.String,java.lang.String> replacementFn)
Copy/clones the
property into the targetEntity after applying the replacement function. |
default <T> Ack |
deleteProperty(ProjectEntity entity,
java.lang.Class<? extends PropertyType<T>> propertyType)
Deletes the value of a property.
|
Ack |
deleteProperty(ProjectEntity entity,
java.lang.String propertyTypeName)
Deletes the value of a property.
|
<T> Ack |
editProperty(ProjectEntity entity,
java.lang.Class<? extends PropertyType<T>> propertyType,
T data)
Edits the value of a property.
|
Ack |
editProperty(ProjectEntity entity,
java.lang.String propertyTypeName,
com.fasterxml.jackson.databind.JsonNode data)
Edits the value of a property.
|
<T> ID |
findBuildByBranchAndSearchkey(ID branchId,
java.lang.Class<? extends PropertyType<T>> propertyType,
java.lang.String searchKey)
Finds an item using its search key.
|
java.util.List<Property<?>> |
getProperties(ProjectEntity entity)
List of property values for a given entity and for the current user.
|
<T> Property<T> |
getProperty(ProjectEntity entity,
java.lang.Class<? extends PropertyType<T>> propertyTypeClass)
Same than
getProperty(ProjectEntity, String) but using the class of
the property type. |
<T> Property<T> |
getProperty(ProjectEntity entity,
java.lang.String propertyTypeName)
Gets the value for a given property for an entity.
|
Form |
getPropertyEditionForm(ProjectEntity entity,
java.lang.String propertyTypeName)
Gets the edition form for a given property for an entity.
|
<T> PropertyType<T> |
getPropertyTypeByName(java.lang.String propertyTypeName)
Gets a property type using its name
|
java.util.List<PropertyType<?>> |
getPropertyTypes()
List of all property types
|
default <T> boolean |
hasProperty(ProjectEntity entity,
java.lang.Class<? extends PropertyType<T>> propertyTypeClass)
Tests if a property is defined.
|
<T> java.util.Collection<ProjectEntity> |
searchWithPropertyValue(java.lang.Class<? extends PropertyType<T>> propertyTypeClass,
java.util.function.BiFunction<ProjectEntityType,ID,ProjectEntity> entityLoader,
java.util.function.Predicate<T> predicate)
Searches for all entities with the corresponding property value.
|
java.util.List<PropertyType<?>> getPropertyTypes()
<T> PropertyType<T> getPropertyTypeByName(java.lang.String propertyTypeName)
T
- Type of propertypropertyTypeName
- Fully qualified name of the property typePropertyTypeNotFoundException
- If not foundjava.util.List<Property<?>> getProperties(ProjectEntity entity)
entity
- EntityForm getPropertyEditionForm(ProjectEntity entity, java.lang.String propertyTypeName)
entity
- Entity to get the edition form forpropertyTypeName
- Fully qualified name of the property to get the form for<T> Property<T> getProperty(ProjectEntity entity, java.lang.String propertyTypeName)
Property
is returned but is marked as
empty.
If the property is not opened for viewing, the call could be rejected with an
authorization exception.entity
- Entity to get the edition form forpropertyTypeName
- Fully qualified name of the property to get the property for<T> Property<T> getProperty(ProjectEntity entity, java.lang.Class<? extends PropertyType<T>> propertyTypeClass)
getProperty(ProjectEntity, String)
but using the class of
the property type.entity
- Entity to get the edition form forpropertyTypeClass
- Class of the property type to get the property forAck editProperty(ProjectEntity entity, java.lang.String propertyTypeName, com.fasterxml.jackson.databind.JsonNode data)
entity
- Entity to editpropertyTypeName
- Fully qualified name of the property to editdata
- Raw JSON data for the property value<T> Ack editProperty(ProjectEntity entity, java.lang.Class<? extends PropertyType<T>> propertyType, T data)
entity
- Entity to editpropertyType
- The type of the property to editdata
- Property valueAck deleteProperty(ProjectEntity entity, java.lang.String propertyTypeName)
entity
- Type of the entity to editpropertyTypeName
- Fully qualified name of the property to deletedefault <T> Ack deleteProperty(ProjectEntity entity, java.lang.Class<? extends PropertyType<T>> propertyType)
entity
- Type of the entity to editpropertyType
- Class of the property to delete<T> java.util.Collection<ProjectEntity> searchWithPropertyValue(java.lang.Class<? extends PropertyType<T>> propertyTypeClass, java.util.function.BiFunction<ProjectEntityType,ID,ProjectEntity> entityLoader, java.util.function.Predicate<T> predicate)
@Nullable <T> ID findBuildByBranchAndSearchkey(ID branchId, java.lang.Class<? extends PropertyType<T>> propertyType, java.lang.String searchKey)
default <T> boolean hasProperty(ProjectEntity entity, java.lang.Class<? extends PropertyType<T>> propertyTypeClass)
<T> void copyProperty(ProjectEntity sourceEntity, Property<T> property, ProjectEntity targetEntity, java.util.function.Function<java.lang.String,java.lang.String> replacementFn)
property
into the targetEntity
after applying the replacement function.T
- Type of the propertysourceEntity
- Owner of the property to copyproperty
- Property to copytargetEntity
- Entity to associate the new property withreplacementFn
- Replacement function for textual values