Package com.exasol.sql.rendering
Class AbstractFragmentRenderer
- java.lang.Object
-
- com.exasol.sql.rendering.AbstractFragmentRenderer
-
- All Implemented Interfaces:
FragmentRenderer
- Direct Known Subclasses:
ColumnsDefinitionRenderer
,CreateSchemaRenderer
,CreateTableRenderer
,DropSchemaRenderer
,DropTableRenderer
,InsertRenderer
,MergeRenderer
,SelectRenderer
public abstract class AbstractFragmentRenderer extends Object implements FragmentRenderer
Abstract base class for SQL fragment renderers.
-
-
Field Summary
Fields Modifier and Type Field Description protected StringRendererConfig
config
Configuration that controls string rendering options.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFragmentRenderer(StringRendererConfig config)
Create a new instance of anAbstractFragmentRenderer
-based class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
append(int number)
Append on integer number.protected StringBuilder
append(String string)
Append a string.protected void
appendAutoQuoted(String identifier)
Append an auto-quoted SQL identifier.protected void
appendCommaWhenNeeded(Fragment fragment)
Append a comma where necessary.protected void
appendKeyWord(String keyword)
Append an unquoted SQL keyword.protected void
appendListOfValueExpressions(List<? extends ValueExpression> valueExpressions)
Append a list of value expressions.protected void
appendRenderedValueExpression(ValueExpression expression)
Append a value expression that has already been rendered.protected void
appendSpace()
Append a white space.protected void
appendValueTableRow(ValueTableRow valueTableRow)
Append a row of a value table (SELECT ... FROM VALUES
).protected void
endParenthesis()
End a parenthesis.String
render()
Render an SQL statement to a string.protected void
setLastVisited(Fragment fragment)
Set the last statement fragment that was visited.protected void
startParenthesis()
Start a parenthesis.
-
-
-
Field Detail
-
config
protected final StringRendererConfig config
Configuration that controls string rendering options.
-
-
Constructor Detail
-
AbstractFragmentRenderer
protected AbstractFragmentRenderer(StringRendererConfig config)
Create a new instance of anAbstractFragmentRenderer
-based class.- Parameters:
config
- renderer configuration
-
-
Method Detail
-
appendKeyWord
protected void appendKeyWord(String keyword)
Append an unquoted SQL keyword.- Parameters:
keyword
- SQL keyword
-
startParenthesis
protected void startParenthesis()
Start a parenthesis.
-
endParenthesis
protected void endParenthesis()
End a parenthesis.
-
appendRenderedValueExpression
protected void appendRenderedValueExpression(ValueExpression expression)
Append a value expression that has already been rendered.- Parameters:
expression
- pre-rendered expression
-
appendListOfValueExpressions
protected void appendListOfValueExpressions(List<? extends ValueExpression> valueExpressions)
Append a list of value expressions.- Parameters:
valueExpressions
- value expressions
-
append
protected StringBuilder append(String string)
Append a string.- Parameters:
string
- string to append- Returns:
- string builder
-
setLastVisited
protected void setLastVisited(Fragment fragment)
Set the last statement fragment that was visited.- Parameters:
fragment
- last visited fragment
-
appendSpace
protected void appendSpace()
Append a white space.
-
appendCommaWhenNeeded
protected void appendCommaWhenNeeded(Fragment fragment)
Append a comma where necessary.- Parameters:
fragment
- fragment that might need a comma to separate it from the previous one
-
append
protected void append(int number)
Append on integer number.- Parameters:
number
- number to append
-
appendAutoQuoted
protected void appendAutoQuoted(String identifier)
Append an auto-quoted SQL identifier.- Parameters:
identifier
- SQL identifier to append
-
appendValueTableRow
protected void appendValueTableRow(ValueTableRow valueTableRow)
Append a row of a value table (SELECT ... FROM VALUES
).- Parameters:
valueTableRow
- row of a value table
-
render
public String render()
Description copied from interface:FragmentRenderer
Render an SQL statement to a string.- Specified by:
render
in interfaceFragmentRenderer
- Returns:
- rendered string
-
-