Class PredicateConverter


  • public abstract class PredicateConverter
    extends java.lang.Object
    PredicateConverter provides mappings from the predicate/predicate group data structure to others, such as a simple key/value string map (eg. a request parameter map).
    Since:
    5.2
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String GROUP_PARAMETER_PREFIX
      Prefix to separate predicate group parameters from child predicates (to be exact: from parameters of child predicates).
      static java.lang.String IGNORE_PARAMETER_PREFIX
      All parameters starting with "_" will be ignored.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Map<java.lang.String,​java.lang.String> createMap​(PredicateGroup root)
      Converts a predicate tree into a parameter map, the inverse transformation of createPredicates(Map).
      static PredicateGroup createPredicates​(java.util.Map predicateParameterMap)
      Converts a map with predicates and their parameters into a predicate tree.
      static PredicateGroup createPredicatesFromGQL​(java.lang.String statement)
      Parse and converts GQL statement to QueryBuilder PredicateGroup.
      static java.lang.String toURL​(PredicateGroup group)
      Returns an URL query part containing the given group.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • GROUP_PARAMETER_PREFIX

        public static final java.lang.String GROUP_PARAMETER_PREFIX
        Prefix to separate predicate group parameters from child predicates (to be exact: from parameters of child predicates). This also means that there cannot be a predicate type named like this (ie. "p"). Examples to show the difference:
        • p.limit = true (group parameter)
        • type = nt:file (child predicate)
        • path.exact = true (child predicate parameter)
        • group.type = nt:file (child predicate group w/ predicate)
        • group.p.or = true (group parameter of child group)
        See Also:
        Constant Field Values
      • IGNORE_PARAMETER_PREFIX

        public static final java.lang.String IGNORE_PARAMETER_PREFIX
        All parameters starting with "_" will be ignored. Typical examples are "_charset_" or "_dc".
        See Also:
        Constant Field Values
    • Constructor Detail

      • PredicateConverter

        public PredicateConverter()
    • Method Detail

      • createPredicates

        public static PredicateGroup createPredicates​(java.util.Map predicateParameterMap)
        Converts a map with predicates and their parameters into a predicate tree. Accepts a map with strings as keys and either simple strings as values or string arrays as values. In the array case, the first value will be chosen.

        Note that all parameters starting with a "_" (see IGNORE_PARAMETER_PREFIX) will be ignored. Typical examples are "_charset_" or "_dc".

      • createMap

        public static java.util.Map<java.lang.String,​java.lang.String> createMap​(PredicateGroup root)
        Converts a predicate tree into a parameter map, the inverse transformation of createPredicates(Map).
      • toURL

        public static java.lang.String toURL​(PredicateGroup group)
        Returns an URL query part containing the given group. This is the same mapping as used in createMap(PredicateGroup) and createPredicates(Map). For example, the returned value could be: type=cq:Page&path=/content. Note that this won't be a complete URL, just a list of parameters for an URL query part. The keys and values will be properly escaped for use in an URL.
      • createPredicatesFromGQL

        public static PredicateGroup createPredicatesFromGQL​(java.lang.String statement)
                                                      throws RepositoryException
        Parse and converts GQL statement to QueryBuilder PredicateGroup.
        Parameters:
        statement - the statement to be processed for extracting conditions.
        Returns:
        PredicateGroup containing all conditions formed from statement
        Throws:
        RepositoryException