Class StringExpNodeVisitor
- java.lang.Object
-
- com.ibm.fhir.database.utils.query.expression.StringExpNodeVisitor
-
- All Implemented Interfaces:
ExpNodeVisitor<String>
- Direct Known Subclasses:
DebugExpNodeVisitor
public class StringExpNodeVisitor extends Object implements ExpNodeVisitor<String>
Renders the expression node tree into a string
-
-
Constructor Summary
Constructors Constructor Description StringExpNodeVisitor()Simple rendering of the expression tree to a string, ignoring the bind marker valuesStringExpNodeVisitor(boolean pretty)For rendering the expression tree to a string with additional formatting to improve readability.StringExpNodeVisitor(IDatabaseTranslator translator, List<BindMarkerNode> collectBindMarkersInto, boolean pretty)Collect the bind marker values into the given list
-
Method Summary
-
-
-
Field Detail
-
NEWLINE
public static final String NEWLINE
-
-
Constructor Detail
-
StringExpNodeVisitor
public StringExpNodeVisitor()
Simple rendering of the expression tree to a string, ignoring the bind marker values
-
StringExpNodeVisitor
public StringExpNodeVisitor(boolean pretty)
For rendering the expression tree to a string with additional formatting to improve readability.- Parameters:
pretty-
-
StringExpNodeVisitor
public StringExpNodeVisitor(IDatabaseTranslator translator, List<BindMarkerNode> collectBindMarkersInto, boolean pretty)
Collect the bind marker values into the given list- Parameters:
translator-collectBindMarkersInto-
-
-
Method Detail
-
stringify
public static String stringify(ExpNode exp)
Helper to render an expression as a string using this class as a visitor- Parameters:
exp-- Returns:
-
paren
public String paren(String expr)
- Specified by:
parenin interfaceExpNodeVisitor<String>
-
and
public String and(String left, String right)
- Specified by:
andin interfaceExpNodeVisitor<String>
-
or
public String or(String left, String right)
- Specified by:
orin interfaceExpNodeVisitor<String>
-
not
public String not(String exp)
- Specified by:
notin interfaceExpNodeVisitor<String>
-
exists
public String exists(String selectString)
- Specified by:
existsin interfaceExpNodeVisitor<String>
-
notExists
public String notExists(String selectString)
- Specified by:
notExistsin interfaceExpNodeVisitor<String>
-
eq
public String eq(String left, String right)
- Specified by:
eqin interfaceExpNodeVisitor<String>
-
neq
public String neq(String left, String right)
- Specified by:
neqin interfaceExpNodeVisitor<String>
-
gt
public String gt(String left, String right)
- Specified by:
gtin interfaceExpNodeVisitor<String>
-
gte
public String gte(String left, String right)
- Specified by:
gtein interfaceExpNodeVisitor<String>
-
lt
public String lt(String left, String right)
- Specified by:
ltin interfaceExpNodeVisitor<String>
-
lte
public String lte(String left, String right)
- Specified by:
ltein interfaceExpNodeVisitor<String>
-
literal
public String literal(String value)
- Specified by:
literalin interfaceExpNodeVisitor<String>
-
literal
public String literal(Long value)
- Specified by:
literalin interfaceExpNodeVisitor<String>
-
literal
public String literal(Double value)
- Specified by:
literalin interfaceExpNodeVisitor<String>
-
add
public String add(String left, String right)
- Specified by:
addin interfaceExpNodeVisitor<String>
-
subtract
public String subtract(String left, String right)
- Specified by:
subtractin interfaceExpNodeVisitor<String>
-
multiply
public String multiply(String left, String right)
- Specified by:
multiplyin interfaceExpNodeVisitor<String>
-
divide
public String divide(String left, String right)
- Specified by:
dividein interfaceExpNodeVisitor<String>
-
isNull
public String isNull(String expr)
- Specified by:
isNullin interfaceExpNodeVisitor<String>
-
isNotNull
public String isNotNull(String expr)
- Specified by:
isNotNullin interfaceExpNodeVisitor<String>
-
between
public String between(String leftValue, String rightValue)
- Specified by:
betweenin interfaceExpNodeVisitor<String>
-
column
public String column(String tableAlias, String columnName)
- Specified by:
columnin interfaceExpNodeVisitor<String>
-
bindMarker
public String bindMarker(Double value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
bindMarker
public String bindMarker(Long value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
bindMarker
public String bindMarker(String value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
bindMarker
public String bindMarker(Instant value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
bindMarker
public String bindMarker(Integer value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
in
public String in(String left, List<String> args)
- Specified by:
inin interfaceExpNodeVisitor<String>
-
like
public String like(String left, String right)
- Specified by:
likein interfaceExpNodeVisitor<String>
-
escape
public String escape(String left, String right)
- Specified by:
escapein interfaceExpNodeVisitor<String>
-
select
public String select(Select select)
Description copied from interface:ExpNodeVisitorProcess a sub-select statement- Specified by:
selectin interfaceExpNodeVisitor<String>- Returns:
-
coalesce
public String coalesce(List<ColumnRef> columnRefs)
Description copied from interface:ExpNodeVisitorRender a COALESCE(...) function- Specified by:
coalescein interfaceExpNodeVisitor<String>- Returns:
-
bindMarker
public String bindMarker(BigDecimal value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<String>
-
cos
public String cos(String arg)
Description copied from interface:ExpNodeVisitorSQL COS function- Specified by:
cosin interfaceExpNodeVisitor<String>- Returns:
-
acos
public String acos(String arg)
Description copied from interface:ExpNodeVisitorSQL ACOS function- Specified by:
acosin interfaceExpNodeVisitor<String>- Returns:
-
sin
public String sin(String arg)
Description copied from interface:ExpNodeVisitorSQL SIN function- Specified by:
sinin interfaceExpNodeVisitor<String>- Returns:
-
radians
public String radians(String arg)
Description copied from interface:ExpNodeVisitorSQL RADIANS function- Specified by:
radiansin interfaceExpNodeVisitor<String>- Returns:
-
-