44import org .antlr .v4 .runtime .CommonTokenStream ;
55import org .antlr .v4 .runtime .tree .ParseTree ;
66import org .antlr .v4 .runtime .tree .ParseTreeWalker ;
7- import com .github .benmanes .caffeine .cache .Cache ;
8- import com .github .benmanes .caffeine .cache .Caffeine ;
97import com .github .sidhant92 .boolparser .domain .Node ;
108import com .github .sidhant92 .boolparser .operator .OperatorFactory ;
119import com .github .sidhant92 .boolparser .parser .BoolExpressionParser ;
1210import io .vavr .control .Try ;
1311
1412public class BoolParser implements BoolExpressionParser {
15- private boolean useCache ;
16-
17- private Cache <String , Node > cache ;
18-
1913 private final ParseTreeWalker parseTreeWalker = new ParseTreeWalker ();
2014
2115 public BoolParser () {
2216 OperatorFactory .initialize ();
2317 }
2418
25- public BoolParser (final int maxCacheSize ) {
26- OperatorFactory .initialize ();
27- this .useCache = true ;
28- this .cache = Caffeine .newBuilder ().maximumSize (maxCacheSize ).build ();
29- }
30-
3119 @ Override
3220 public Try <Node > parseExpression (final String expression , final String defaultField ) {
3321 return Try .of (() -> getNode (expression , defaultField ));
@@ -39,13 +27,10 @@ public Try<Node> parseExpression(final String expression) {
3927 }
4028
4129 private Node getNode (final String expression , final String defaultField ) {
42- if (useCache ) {
43- return cache .get (expression , ex -> parse (ex , defaultField ));
44- }
4530 return parse (expression , defaultField );
4631 }
4732
48- private Node parse (final String expression , final String defaultField ) {
33+ protected Node parse (final String expression , final String defaultField ) {
4934 final BooleanExpressionLexer filterLexer = new BooleanExpressionLexer (CharStreams .fromString (expression ));
5035 final CommonTokenStream commonTokenStream = new CommonTokenStream (filterLexer );
5136 final BooleanExpressionParser filterParser = new BooleanExpressionParser (commonTokenStream );
0 commit comments