Class Evaluator

java.lang.Object
com.isomorphic.criteria.Evaluator

public class Evaluator extends Object
Helper class for evaluating criteria.
  • Method Details

    • addSearchOperator

      public void addSearchOperator(Operator op)
      Adding custom operator for using in evaluations.
      Parameters:
      op - - operator to be added.
    • valuesMatchCriteria

      public boolean valuesMatchCriteria(Map values, SimpleCriteria sc, String textMatchStyle) throws Exception
      Check values map for matching passed Criteria.
      Parameters:
      values - - map of values to check.
      sc - - criteria to check.
      textMatchStyle - - style to be used when checking.
      Returns:
      true if values match criteria.
      Throws:
      Exception - if an error occurs during criteria evaluation
    • valuesMatchCriteria

      public boolean valuesMatchCriteria(Map values, AdvancedCriteria ac) throws Exception
      Check values map for matching passed AdvancedCriteria.
      Parameters:
      values - - map of values to check.
      ac - - AdvancedCriteria to check.
      Returns:
      true if values match AdvancedCriteria.
      Throws:
      Exception - if an error occurs during criteria evaluation
    • evaluateCriterion

      public boolean evaluateCriterion(Map values, Criterion criterion) throws Exception
      Evaluating criterion with map of values. The method check that passed criterion match passed values.
      Parameters:
      values - - map of values to check.
      criterion - - criterion to check.
      Returns:
      true if values match Criterion.
      Throws:
      Exception - if an error occurs during criterion evaluation
    • parseAdvancedCriteria

      public static AdvancedCriteria parseAdvancedCriteria(Map rawCriteria)
      Builds an AdvancedCriteria instance from a structure expressing AdvancedCriteria as simple Java Collections, that is, nested Maps and Lists where a Criterion is expressed as a Map containing keys such as "fieldName", "operator", and "value".

      For all built-in operators (see DefaultOperators), instances of the most specific Criterion class available will be created. Custom operators passed to addSearchOperator(Operator) with a criterionClass specified will create an instance of that criterionClass and apply the key/value pairs found in the Map specifying the criterion via DataTools.setProperties(Map, Object).

      For unrecoginized operators, an instance of CustomCriterion will be created and populated with values from the Map specifying the Criterion.

      Parameters:
      rawCriteria - map representation of the criteria to parse
      Returns:
      parsed AdvancedCriteria instance
    • parseCriterion

      public static Criterion parseCriterion(Map rawCriteria)
      Parse criterion represented as map (usually passed from client-side) into Criterion instance.
      Parameters:
      rawCriteria - - criterion represented as map.
      Returns:
      parsed criterion.
    • getPathValue

      public static Object getPathValue(Map values, String fieldPath)
      Fetches the value stored at the given dot notation path in the map of values.
      Parameters:
      values - the map of values to look through.
      fieldPath - the dot notation path to look up.
      Returns:
      the value stored at the given path.
    • getPathValueAsString

      public static String getPathValueAsString(Map values, String fieldPath)
      Fetches the value stored at the given dot notation path in the map of values as a string.
      Parameters:
      values - the map of values to look through.
      fieldPath - the dot notation path to look up.
      Returns:
      the value stored at the given path or empty string if the value was null.