@Target(value=TYPE)
@Retention(value=RUNTIME)
@Component
public @interface AccessGroup
cuba.accessGroupsStorageMode
equals SOURCE_CODE
or MIXED
).
The easiest way to determine the access group in the application source code is to extend
your class from AnnotatedAccessGroupDefinition
and mark it with this annotation. Usage example:
@AccessGroup(name = "MyFirstAccessGroup", parent = ParentAccessGroup.class) public class MyFirstAccessGroup extends AnnotatedAccessGroupDefinition { @JpqlConstraint(target = SomeEntity.class, where = "{E}.attr = true") @Override public ConstraintsContainer accessConstraints() { return super.accessConstraints(); } @Constraint(operations = {EntityOp.READ, EntityOp.UPDATE}) @JpqlConstraint(where = "{E}.active = true") public boolean userConstraints(User user) { return Boolean.TRUE.equals(user.getActive()); } @SessionAttribute(name = "key1", value = "value1") @Override public Map<String, Serializable> sessionAttributes() { return super.sessionAttributes(); } }
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
name
Access group name
|
Modifier and Type | Optional Element and Description |
---|---|
java.lang.Class<? extends AccessGroupDefinition> |
parent
Access group parent name
|
java.lang.String |
value |
public abstract java.lang.Class<? extends AccessGroupDefinition> parent