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:
 
 
 - 
 
 -