Class StringExpNodeVisitor
- java.lang.Object
-
- org.linuxforhealth.fhir.database.utils.query.expression.StringExpNodeVisitor
-
- All Implemented Interfaces:
ExpNodeVisitor<java.lang.String>
- Direct Known Subclasses:
DebugExpNodeVisitor
public class StringExpNodeVisitor extends java.lang.Object implements ExpNodeVisitor<java.lang.String>
Renders the expression node tree into a string
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNEWLINE
-
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, java.util.List<BindMarkerNode> collectBindMarkersInto, boolean pretty)Collect the bind marker values into the given list
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringacos(java.lang.String arg)SQL ACOS functionjava.lang.Stringadd(java.lang.String left, java.lang.String right)java.lang.Stringand(java.lang.String left, java.lang.String right)java.lang.Stringbetween(java.lang.String leftValue, java.lang.String rightValue)java.lang.StringbindMarker(java.lang.Double value)java.lang.StringbindMarker(java.lang.Integer value)java.lang.StringbindMarker(java.lang.Long value)java.lang.StringbindMarker(java.lang.String value)java.lang.StringbindMarker(java.math.BigDecimal value)java.lang.StringbindMarker(java.time.Instant value)java.lang.Stringcoalesce(java.util.List<ColumnRef> columnRefs)Render a COALESCE(...) functionjava.lang.Stringcolumn(java.lang.String tableAlias, java.lang.String columnName)java.lang.Stringcos(java.lang.String arg)SQL COS functionjava.lang.Stringdivide(java.lang.String left, java.lang.String right)java.lang.Stringeq(java.lang.String left, java.lang.String right)java.lang.Stringescape(java.lang.String left, java.lang.String right)java.lang.Stringexists(java.lang.String selectString)java.lang.Stringgt(java.lang.String left, java.lang.String right)java.lang.Stringgte(java.lang.String left, java.lang.String right)java.lang.Stringin(java.lang.String left, java.util.List<java.lang.String> args)java.lang.StringisNotNull(java.lang.String expr)java.lang.StringisNull(java.lang.String expr)java.lang.Stringlike(java.lang.String left, java.lang.String right)java.lang.Stringliteral(java.lang.Double value)java.lang.Stringliteral(java.lang.Long value)java.lang.Stringliteral(java.lang.String value)java.lang.Stringlt(java.lang.String left, java.lang.String right)java.lang.Stringlte(java.lang.String left, java.lang.String right)java.lang.Stringmultiply(java.lang.String left, java.lang.String right)java.lang.Stringneq(java.lang.String left, java.lang.String right)java.lang.Stringnot(java.lang.String exp)java.lang.StringnotExists(java.lang.String selectString)java.lang.Stringor(java.lang.String left, java.lang.String right)java.lang.Stringparen(java.lang.String expr)java.lang.Stringradians(java.lang.String arg)SQL RADIANS functionjava.lang.Stringselect(Select select)Process a sub-select statementjava.lang.Stringsin(java.lang.String arg)SQL SIN functionstatic java.lang.Stringstringify(ExpNode exp)Helper to render an expression as a string using this class as a visitorjava.lang.Stringsubtract(java.lang.String left, java.lang.String right)
-
-
-
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, java.util.List<BindMarkerNode> collectBindMarkersInto, boolean pretty)
Collect the bind marker values into the given list- Parameters:
translator-collectBindMarkersInto-
-
-
Method Detail
-
stringify
public static java.lang.String stringify(ExpNode exp)
Helper to render an expression as a string using this class as a visitor- Parameters:
exp-- Returns:
-
paren
public java.lang.String paren(java.lang.String expr)
- Specified by:
parenin interfaceExpNodeVisitor<java.lang.String>
-
and
public java.lang.String and(java.lang.String left, java.lang.String right)- Specified by:
andin interfaceExpNodeVisitor<java.lang.String>
-
or
public java.lang.String or(java.lang.String left, java.lang.String right)- Specified by:
orin interfaceExpNodeVisitor<java.lang.String>
-
not
public java.lang.String not(java.lang.String exp)
- Specified by:
notin interfaceExpNodeVisitor<java.lang.String>
-
exists
public java.lang.String exists(java.lang.String selectString)
- Specified by:
existsin interfaceExpNodeVisitor<java.lang.String>
-
notExists
public java.lang.String notExists(java.lang.String selectString)
- Specified by:
notExistsin interfaceExpNodeVisitor<java.lang.String>
-
eq
public java.lang.String eq(java.lang.String left, java.lang.String right)- Specified by:
eqin interfaceExpNodeVisitor<java.lang.String>
-
neq
public java.lang.String neq(java.lang.String left, java.lang.String right)- Specified by:
neqin interfaceExpNodeVisitor<java.lang.String>
-
gt
public java.lang.String gt(java.lang.String left, java.lang.String right)- Specified by:
gtin interfaceExpNodeVisitor<java.lang.String>
-
gte
public java.lang.String gte(java.lang.String left, java.lang.String right)- Specified by:
gtein interfaceExpNodeVisitor<java.lang.String>
-
lt
public java.lang.String lt(java.lang.String left, java.lang.String right)- Specified by:
ltin interfaceExpNodeVisitor<java.lang.String>
-
lte
public java.lang.String lte(java.lang.String left, java.lang.String right)- Specified by:
ltein interfaceExpNodeVisitor<java.lang.String>
-
literal
public java.lang.String literal(java.lang.String value)
- Specified by:
literalin interfaceExpNodeVisitor<java.lang.String>
-
literal
public java.lang.String literal(java.lang.Long value)
- Specified by:
literalin interfaceExpNodeVisitor<java.lang.String>
-
literal
public java.lang.String literal(java.lang.Double value)
- Specified by:
literalin interfaceExpNodeVisitor<java.lang.String>
-
add
public java.lang.String add(java.lang.String left, java.lang.String right)- Specified by:
addin interfaceExpNodeVisitor<java.lang.String>
-
subtract
public java.lang.String subtract(java.lang.String left, java.lang.String right)- Specified by:
subtractin interfaceExpNodeVisitor<java.lang.String>
-
multiply
public java.lang.String multiply(java.lang.String left, java.lang.String right)- Specified by:
multiplyin interfaceExpNodeVisitor<java.lang.String>
-
divide
public java.lang.String divide(java.lang.String left, java.lang.String right)- Specified by:
dividein interfaceExpNodeVisitor<java.lang.String>
-
isNull
public java.lang.String isNull(java.lang.String expr)
- Specified by:
isNullin interfaceExpNodeVisitor<java.lang.String>
-
isNotNull
public java.lang.String isNotNull(java.lang.String expr)
- Specified by:
isNotNullin interfaceExpNodeVisitor<java.lang.String>
-
between
public java.lang.String between(java.lang.String leftValue, java.lang.String rightValue)- Specified by:
betweenin interfaceExpNodeVisitor<java.lang.String>
-
column
public java.lang.String column(java.lang.String tableAlias, java.lang.String columnName)- Specified by:
columnin interfaceExpNodeVisitor<java.lang.String>
-
bindMarker
public java.lang.String bindMarker(java.lang.Double value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
bindMarker
public java.lang.String bindMarker(java.lang.Long value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
bindMarker
public java.lang.String bindMarker(java.lang.String value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
bindMarker
public java.lang.String bindMarker(java.time.Instant value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
bindMarker
public java.lang.String bindMarker(java.lang.Integer value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
in
public java.lang.String in(java.lang.String left, java.util.List<java.lang.String> args)- Specified by:
inin interfaceExpNodeVisitor<java.lang.String>
-
like
public java.lang.String like(java.lang.String left, java.lang.String right)- Specified by:
likein interfaceExpNodeVisitor<java.lang.String>
-
escape
public java.lang.String escape(java.lang.String left, java.lang.String right)- Specified by:
escapein interfaceExpNodeVisitor<java.lang.String>
-
select
public java.lang.String select(Select select)
Description copied from interface:ExpNodeVisitorProcess a sub-select statement- Specified by:
selectin interfaceExpNodeVisitor<java.lang.String>- Returns:
-
coalesce
public java.lang.String coalesce(java.util.List<ColumnRef> columnRefs)
Description copied from interface:ExpNodeVisitorRender a COALESCE(...) function- Specified by:
coalescein interfaceExpNodeVisitor<java.lang.String>- Returns:
-
bindMarker
public java.lang.String bindMarker(java.math.BigDecimal value)
- Specified by:
bindMarkerin interfaceExpNodeVisitor<java.lang.String>
-
cos
public java.lang.String cos(java.lang.String arg)
Description copied from interface:ExpNodeVisitorSQL COS function- Specified by:
cosin interfaceExpNodeVisitor<java.lang.String>- Returns:
-
acos
public java.lang.String acos(java.lang.String arg)
Description copied from interface:ExpNodeVisitorSQL ACOS function- Specified by:
acosin interfaceExpNodeVisitor<java.lang.String>- Returns:
-
sin
public java.lang.String sin(java.lang.String arg)
Description copied from interface:ExpNodeVisitorSQL SIN function- Specified by:
sinin interfaceExpNodeVisitor<java.lang.String>- Returns:
-
radians
public java.lang.String radians(java.lang.String arg)
Description copied from interface:ExpNodeVisitorSQL RADIANS function- Specified by:
radiansin interfaceExpNodeVisitor<java.lang.String>- Returns:
-
-