Package org.apache.log4j.rule
Class InFixToPostFix
- java.lang.Object
-
- org.apache.log4j.rule.InFixToPostFix
-
public class InFixToPostFix extends java.lang.Object
A helper class which converts infix expressions to postfix expressions Currently grouping is supported, as well as all of the Rules supported byRuleFactory
Supports grouping via parens, mult-word operands using single or double quotes, and these operators: ! NOT operator != NOT EQUALS operator == EQUALS operator ~= CASE-INSENSITIVE equals operator || OR operator && AND operator like REGEXP operator exists NOT NULL operator < LESS THAN operator > GREATER THAN operator <= LESS THAN EQUALS operator >= GREATER THAN EQUALS operator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InFixToPostFix.CustomTokenizer
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List
operators
Operators.private static java.util.Map
precedenceMap
Precedence map.
-
Constructor Summary
Constructors Constructor Description InFixToPostFix()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
convert(java.lang.String expression)
Convert in-fix expression to post-fix.(package private) java.lang.String
infixToPostFix(InFixToPostFix.CustomTokenizer tokenizer)
convert in-fix expression to post-fix.static boolean
isOperand(java.lang.String s)
Evaluates whether symbol is operand.(package private) boolean
precedes(java.lang.String s1, java.lang.String s2)
Determines whether one symbol precedes another.
-
-
-
Method Detail
-
convert
public java.lang.String convert(java.lang.String expression)
Convert in-fix expression to post-fix.- Parameters:
expression
- in-fix expression.- Returns:
- post-fix expression.
-
isOperand
public static boolean isOperand(java.lang.String s)
Evaluates whether symbol is operand.- Parameters:
s
- symbol.- Returns:
- true if operand.
-
precedes
boolean precedes(java.lang.String s1, java.lang.String s2)
Determines whether one symbol precedes another.- Parameters:
s1
- symbol 1s2
- symbol 2- Returns:
- true if symbol 1 precedes symbol 2
-
infixToPostFix
java.lang.String infixToPostFix(InFixToPostFix.CustomTokenizer tokenizer)
convert in-fix expression to post-fix.- Parameters:
tokenizer
- tokenizer.- Returns:
- post-fix expression.
-
-