Class CriteriaSecurityRuleTranslator<E extends io.vertigo.datamodel.structure.model.Entity>

  • Type Parameters:
    E - The type of entity we are protecting

    public final class CriteriaSecurityRuleTranslator<E extends io.vertigo.datamodel.structure.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 Detail

      • EMPTY_QUERY_PATTERN

        protected static final Pattern EMPTY_QUERY_PATTERN
    • Constructor Detail

      • CriteriaSecurityRuleTranslator

        public CriteriaSecurityRuleTranslator()
    • Method Detail

      • toCriteria

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

        public S on​(SecuredEntity securedEntity)
        Specifies the protected entity we are working on
        Parameters:
        securedEntity - the entity
        Returns:
        this builder
      • withRule

        public final S withRule​(RuleMultiExpression securityMultiExpression)
        Set security pattern.
        Parameters:
        securityMultiExpression - security parsed expression
        Returns:
        this builder
      • withRule

        public final S withRule​(String securityRule)
        Set security pattern.
        Parameters:
        securityRule - security Pattern (not null, could be empty)
        Returns:
        this builder
      • withSecurityKeys

        public final S withSecurityKeys​(Map<String,​List<Serializable>> userCriteria)
        Set criteria.
        Parameters:
        userCriteria - Criteria
        Returns:
        this builder
      • isSimpleSecurityField

        protected final boolean isSimpleSecurityField​(String fieldName)
      • lastIndexNotNull

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

        protected static String cleanQuery​(String query)