Class CriteriaSecurityRuleTranslator<E extends io.vertigo.datamodel.data.model.Entity>
java.lang.Object
io.vertigo.account.impl.authorization.dsl.translator.CriteriaSecurityRuleTranslator<E>
- Type Parameters:
E- The type of entity we are protecting
public final class CriteriaSecurityRuleTranslator<E extends io.vertigo.datamodel.data.model.Entity>
extends Object
Translate a security rule into a criteria to be used in SQL queries and as a Java predicate.
- Author:
- npiedeloup
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static StringcleanQuery(String query) protected final List<RuleMultiExpression> protected final SecurityDimensiongetSecurityDimension(String fieldName) protected final List<Serializable> getUserCriteria(String userProperty) protected final booleanisSimpleSecurityField(String fieldName) protected static <K> intlastIndexNotNull(K[] value) on(SecuredEntity securedEntity) Specifies the protected entity we are working onprotected final SerializableparseFixedValue(String fieldName, String stringValue) protected static List<Serializable> io.vertigo.datamodel.criteria.Criteria<E> final CriteriaSecurityRuleTranslator<E> withRule(RuleMultiExpression securityMultiExpression) Set security pattern.final CriteriaSecurityRuleTranslator<E> Set security pattern.final CriteriaSecurityRuleTranslator<E> withSecurityKeys(Map<String, List<Serializable>> userCriteria) Set criteria.
-
Field Details
-
EMPTY_QUERY_PATTERN
-
-
Constructor Details
-
CriteriaSecurityRuleTranslator
public CriteriaSecurityRuleTranslator()
-
-
Method Details
-
toCriteria
- Returns:
- This security rule as search Query
-
on
Specifies the protected entity we are working on- Parameters:
securedEntity- the entity- Returns:
- this builder
-
withRule
public final CriteriaSecurityRuleTranslator<E> withRule(RuleMultiExpression securityMultiExpression) Set security pattern.- Parameters:
securityMultiExpression- security parsed expression- Returns:
- this builder
-
withRule
Set security pattern.- Parameters:
securityRule- security Pattern (not null, could be empty)- Returns:
- this builder
-
withSecurityKeys
public final CriteriaSecurityRuleTranslator<E> withSecurityKeys(Map<String, List<Serializable>> userCriteria) Set criteria.- Parameters:
userCriteria- Criteria- Returns:
- this builder
-
isSimpleSecurityField
-
getSecurityDimension
-
getMultiExpressions
-
getUserCriteria
-
subValues
protected static List<Serializable> subValues(List<String> values, boolean includeHead, String value, boolean valueIncluded) -
lastIndexNotNull
protected static <K> int lastIndexNotNull(K[] value) -
parseFixedValue
-
cleanQuery
-