Package org.apache.log4j.rule
Class InFixToPostFix
java.lang.Object
org.apache.log4j.rule.InFixToPostFix
A helper class which converts infix expressions to postfix expressions
Currently grouping is supported, as well as all of the
Rules supported by
RuleFactory
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
invalid input: '&'invalid input: '&' AND operator
like REGEXP operator
exists NOT NULL operator
invalid input: '<' LESS THAN operator
invalid input: '>' GREATER THAN operator
invalid input: '<'= LESS THAN EQUALS operator
invalid input: '>'= GREATER THAN EQUALS operator-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionConvert in-fix expression to post-fix.(package private) String
infixToPostFix
(InFixToPostFix.CustomTokenizer tokenizer) convert in-fix expression to post-fix.static boolean
Evaluates whether symbol is operand.(package private) boolean
Determines whether one symbol precedes another.
-
Field Details
-
precedenceMap
Precedence map. -
operators
Operators.
-
-
Constructor Details
-
InFixToPostFix
public InFixToPostFix()
-
-
Method Details
-
convert
Convert in-fix expression to post-fix.- Parameters:
expression
- in-fix expression.- Returns:
- post-fix expression.
-
isOperand
Evaluates whether symbol is operand.- Parameters:
s
- symbol.- Returns:
- true if operand.
-
precedes
Determines whether one symbol precedes another.- Parameters:
s1
- symbol 1s2
- symbol 2- Returns:
- true if symbol 1 precedes symbol 2
-
infixToPostFix
convert in-fix expression to post-fix.- Parameters:
tokenizer
- tokenizer.- Returns:
- post-fix expression.
-