Class EntityRSQLVisitor
java.lang.Object
com.beassolution.rule.rsql.EntityRSQLVisitor
- All Implemented Interfaces:
cz.jirutka.rsql.parser.ast.RSQLVisitor<org.springframework.data.mongodb.core.query.Query,
org.springframework.data.mongodb.core.query.Query>
public class EntityRSQLVisitor
extends Object
implements cz.jirutka.rsql.parser.ast.RSQLVisitor<org.springframework.data.mongodb.core.query.Query,org.springframework.data.mongodb.core.query.Query>
RSQL visitor for converting RSQL queries to MongoDB criteria.
This class implements the RSQL visitor pattern to convert RSQL query nodes into MongoDB criteria objects. It supports all custom operators defined in EntityRSQLOperators and handles complex query structures.
Key features include:
- RSQL to MongoDB criteria conversion
- Support for logical operators (AND, OR)
- Support for comparison operators
- Type casting and value conversion
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Beas Solution Team
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCasts string values to appropriate types for MongoDB queries.org.springframework.data.mongodb.core.query.Criteria
createCriteria
(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode) Creates MongoDB criteria from a comparison node.org.springframework.data.mongodb.core.query.Query
visit
(cz.jirutka.rsql.parser.ast.AndNode andNode, org.springframework.data.mongodb.core.query.Query param) Visits AND nodes and creates MongoDB AND criteria.org.springframework.data.mongodb.core.query.Query
visit
(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode, org.springframework.data.mongodb.core.query.Query param) Visits comparison nodes and creates MongoDB criteria.org.springframework.data.mongodb.core.query.Query
visit
(cz.jirutka.rsql.parser.ast.OrNode orNode, org.springframework.data.mongodb.core.query.Query param) Visits OR nodes and creates MongoDB OR criteria.
-
Constructor Details
-
EntityRSQLVisitor
public EntityRSQLVisitor()
-
-
Method Details
-
visit
public org.springframework.data.mongodb.core.query.Query visit(cz.jirutka.rsql.parser.ast.AndNode andNode, org.springframework.data.mongodb.core.query.Query param) Visits AND nodes and creates MongoDB AND criteria.- Specified by:
visit
in interfacecz.jirutka.rsql.parser.ast.RSQLVisitor<org.springframework.data.mongodb.core.query.Query,
org.springframework.data.mongodb.core.query.Query> - Parameters:
andNode
- The AND node to processparam
- The query to add criteria to- Returns:
- The modified query with AND criteria
-
visit
public org.springframework.data.mongodb.core.query.Query visit(cz.jirutka.rsql.parser.ast.OrNode orNode, org.springframework.data.mongodb.core.query.Query param) Visits OR nodes and creates MongoDB OR criteria.- Specified by:
visit
in interfacecz.jirutka.rsql.parser.ast.RSQLVisitor<org.springframework.data.mongodb.core.query.Query,
org.springframework.data.mongodb.core.query.Query> - Parameters:
orNode
- The OR node to processparam
- The query to add criteria to- Returns:
- The modified query with OR criteria
-
visit
public org.springframework.data.mongodb.core.query.Query visit(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode, org.springframework.data.mongodb.core.query.Query param) Visits comparison nodes and creates MongoDB criteria.- Specified by:
visit
in interfacecz.jirutka.rsql.parser.ast.RSQLVisitor<org.springframework.data.mongodb.core.query.Query,
org.springframework.data.mongodb.core.query.Query> - Parameters:
comparisonNode
- The comparison node to processparam
- The query to add criteria to- Returns:
- The modified query with comparison criteria
-
createCriteria
public org.springframework.data.mongodb.core.query.Criteria createCriteria(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode) Creates MongoDB criteria from a comparison node.This method converts RSQL comparison operators to MongoDB criteria based on the operator type. It handles all supported operators including equality, comparison, collection, and pattern matching operators.
- Parameters:
comparisonNode
- The comparison node to convert- Returns:
- The MongoDB criteria
-
castValue
Casts string values to appropriate types for MongoDB queries.This method converts string values from RSQL queries to appropriate Java types based on the content. It handles numbers, booleans, and strings.
- Parameters:
v
- The string value to cast- Returns:
- The casted value
-