Class RuleFactory


  • public final class RuleFactory
    extends java.lang.Object
    A Factory class which, given a string representation of the rule, and a context stack, will return a Rule ready for evaluation against events. If an operator is requested that isn't supported, an IllegalArgumentException is thrown.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String AND_RULE
      AND operator literal.
      private static java.lang.String EQUALS_RULE
      Equality operator literal.
      private static java.lang.String EXISTS_RULE
      Exists operator literal.
      private static RuleFactory FACTORY
      Singleton instance.
      private static java.lang.String GREATER_THAN_EQUALS_RULE
      Greater than or equal operator literal.
      private static java.lang.String GREATER_THAN_RULE
      Greater than operator literal.
      private static java.lang.String LESS_THAN_EQUALS_RULE
      Less than or equal operator literal.
      private static java.lang.String LESS_THAN_RULE
      Less than operator literal.
      private static java.lang.String LIKE_RULE
      Like operator literal.
      private static java.lang.String NOT_EQUALS_RULE
      Inequality operator literal.
      private static java.lang.String NOT_RULE
      NOT operator literal.
      private static java.lang.String OR_RULE
      OR operator literal.
      private static java.lang.String PARTIAL_TEXT_MATCH_RULE
      Partial match operator literal.
      private static java.util.Collection RULES
      Rules.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private RuleFactory()
      Create instance.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static RuleFactory getInstance()
      Get instance.
      Rule getRule​(java.lang.String symbol, java.util.Stack stack)
      Create rule from applying operator to stack.
      boolean isRule​(java.lang.String symbol)
      Determine if specified string is a known operator.
      • Methods inherited from class java.lang.Object

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

      • FACTORY

        private static final RuleFactory FACTORY
        Singleton instance.
      • RULES

        private static final java.util.Collection RULES
        Rules.
      • AND_RULE

        private static final java.lang.String AND_RULE
        AND operator literal.
        See Also:
        Constant Field Values
      • OR_RULE

        private static final java.lang.String OR_RULE
        OR operator literal.
        See Also:
        Constant Field Values
      • NOT_RULE

        private static final java.lang.String NOT_RULE
        NOT operator literal.
        See Also:
        Constant Field Values
      • NOT_EQUALS_RULE

        private static final java.lang.String NOT_EQUALS_RULE
        Inequality operator literal.
        See Also:
        Constant Field Values
      • EQUALS_RULE

        private static final java.lang.String EQUALS_RULE
        Equality operator literal.
        See Also:
        Constant Field Values
      • PARTIAL_TEXT_MATCH_RULE

        private static final java.lang.String PARTIAL_TEXT_MATCH_RULE
        Partial match operator literal.
        See Also:
        Constant Field Values
      • LIKE_RULE

        private static final java.lang.String LIKE_RULE
        Like operator literal.
        See Also:
        Constant Field Values
      • EXISTS_RULE

        private static final java.lang.String EXISTS_RULE
        Exists operator literal.
        See Also:
        Constant Field Values
      • LESS_THAN_RULE

        private static final java.lang.String LESS_THAN_RULE
        Less than operator literal.
        See Also:
        Constant Field Values
      • GREATER_THAN_RULE

        private static final java.lang.String GREATER_THAN_RULE
        Greater than operator literal.
        See Also:
        Constant Field Values
      • LESS_THAN_EQUALS_RULE

        private static final java.lang.String LESS_THAN_EQUALS_RULE
        Less than or equal operator literal.
        See Also:
        Constant Field Values
      • GREATER_THAN_EQUALS_RULE

        private static final java.lang.String GREATER_THAN_EQUALS_RULE
        Greater than or equal operator literal.
        See Also:
        Constant Field Values
    • Constructor Detail

      • RuleFactory

        private RuleFactory()
        Create instance.
    • Method Detail

      • getInstance

        public static RuleFactory getInstance()
        Get instance.
        Returns:
        rule factory instance.
      • isRule

        public boolean isRule​(java.lang.String symbol)
        Determine if specified string is a known operator.
        Parameters:
        symbol - string
        Returns:
        true if string is a known operator
      • getRule

        public Rule getRule​(java.lang.String symbol,
                            java.util.Stack stack)
        Create rule from applying operator to stack.
        Parameters:
        symbol - symbol
        stack - stack
        Returns:
        new instance