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 Details

    • EMPTY_QUERY_PATTERN

      protected static final Pattern EMPTY_QUERY_PATTERN
  • Constructor Details

    • CriteriaSecurityRuleTranslator

      public CriteriaSecurityRuleTranslator()
  • Method Details

    • toCriteria

      public io.vertigo.datamodel.criteria.Criteria<E> toCriteria()
      Returns:
      This security rule as search Query
    • on

      public CriteriaSecurityRuleTranslator<E> on(SecuredEntity securedEntity)
      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

      public final CriteriaSecurityRuleTranslator<E> withRule(String securityRule)
      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

      protected final boolean isSimpleSecurityField(String fieldName)
    • getSecurityDimension

      protected final SecurityDimension getSecurityDimension(String fieldName)
    • getMultiExpressions

      protected final List<RuleMultiExpression> getMultiExpressions()
    • getUserCriteria

      protected final List<Serializable> getUserCriteria(String userProperty)
    • subValues

      protected static List<Serializable> subValues(List<String> values, boolean includeHead, String value, boolean valueIncluded)
    • lastIndexNotNull

      protected static <K> int lastIndexNotNull(K[] value)
    • parseFixedValue

      protected final Serializable parseFixedValue(String fieldName, String stringValue)
    • cleanQuery

      protected static String cleanQuery(String query)