Package org.eclipse.rdf4j.queryrender
Class BaseTupleExprRenderer
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<Exception>
-
- org.eclipse.rdf4j.queryrender.BaseTupleExprRenderer
-
- All Implemented Interfaces:
QueryModelVisitor<Exception>
- Direct Known Subclasses:
SparqlQueryRenderer,SparqlTupleExprRenderer
public abstract class BaseTupleExprRenderer extends AbstractQueryModelVisitor<Exception>
Base class for rendering RDF4J query API objects into strings.
- Author:
- Michael Grove
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanmDistinctWhether or not the query is distinctprotected Map<String,ValueExpr>mExtensionsA map of the extensions specified in the query.protected longmLimitThe limit of results for the query, or -1 for no limitprotected longmOffsetThe query offset, or -1 for no offsetprotected List<OrderElem>mOrderingThe elements specified in the order by clause of the queryprotected List<ProjectionElemList>mProjectionThe list of elements include in the projection of the queryprotected booleanmReducedWhether or not the query is reduced
-
Constructor Summary
Constructors Constructor Description BaseTupleExprRenderer()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Map<String,ValueExpr>getExtensions()longgetLimit()longgetOffset()List<OrderElem>getOrdering()List<ProjectionElemList>getProjection()booleanisDistinct()booleanisReduced()protected booleanisSelect()Returns whether or not the results of scanning the query model indicates that this represents a select querystatic booleanisSPOElemList(ProjectionElemList theList)Return whether or not this projection looks like an spo binding for a construct queryvoidmeet(Distinct theDistinct)voidmeet(ExtensionElem theExtensionElem)voidmeet(OrderElem theOrderElem)voidmeet(ProjectionElemList theProjectionElemList)voidmeet(Reduced theReduced)voidmeet(Slice theSlice)voidmeet(StatementPattern theStatementPattern)abstract Stringrender(TupleExpr theExpr)Render the TupleExpr as a query or query fragment depending on what kind of TupleExpr it isStringrender(ParsedQuery theQuery)Render the ParsedQuery as a query stringprotected abstract StringrenderValueExpr(ValueExpr theExpr)Render the given ValueExprvoidreset()Reset the state of the rendererstatic StringscrubVarName(String theName)Scrub any illegal characters out of the variable nameStatementPatterntoStatementPattern(ProjectionElemList theList)Turn a ProjectionElemList for a construct query projection (three elements aliased as 'subject', 'predicate' and 'object' in that order) into a StatementPattern.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor
meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUpdateExpr
-
-
-
-
Field Detail
-
mExtensions
protected Map<String,ValueExpr> mExtensions
A map of the extensions specified in the query.
-
mProjection
protected List<ProjectionElemList> mProjection
The list of elements include in the projection of the query
-
mOrdering
protected List<OrderElem> mOrdering
The elements specified in the order by clause of the query
-
mDistinct
protected boolean mDistinct
Whether or not the query is distinct
-
mReduced
protected boolean mReduced
Whether or not the query is reduced
-
mLimit
protected long mLimit
The limit of results for the query, or -1 for no limit
-
mOffset
protected long mOffset
The query offset, or -1 for no offset
-
-
Method Detail
-
reset
public void reset()
Reset the state of the renderer
-
getProjection
public List<ProjectionElemList> getProjection()
-
isDistinct
public boolean isDistinct()
-
isReduced
public boolean isReduced()
-
getLimit
public long getLimit()
-
getOffset
public long getOffset()
-
render
public String render(ParsedQuery theQuery) throws Exception
Render the ParsedQuery as a query string- Parameters:
theQuery- the parsed query to render- Returns:
- the query object rendered in the query language syntax
- Throws:
Exception- if there is an error while rendering
-
render
public abstract String render(TupleExpr theExpr) throws Exception
Render the TupleExpr as a query or query fragment depending on what kind of TupleExpr it is- Parameters:
theExpr- the expression to render- Returns:
- the TupleExpr rendered in the query language syntax
- Throws:
Exception- if there is an error while rendering
-
renderValueExpr
protected abstract String renderValueExpr(ValueExpr theExpr) throws Exception
Render the given ValueExpr- Parameters:
theExpr- the expr to render- Returns:
- the rendered expression
- Throws:
Exception- if there is an error while rendering
-
toStatementPattern
public StatementPattern toStatementPattern(ProjectionElemList theList) throws Exception
Turn a ProjectionElemList for a construct query projection (three elements aliased as 'subject', 'predicate' and 'object' in that order) into a StatementPattern.- Parameters:
theList- the elem list to render- Returns:
- the elem list for a construct projection as a statement pattern
- Throws:
Exception- if there is an exception while rendering
-
scrubVarName
public static String scrubVarName(String theName)
Scrub any illegal characters out of the variable name- Parameters:
theName- the potential variable name- Returns:
- the name scrubbed of any illegal characters
-
isSelect
protected boolean isSelect()
Returns whether or not the results of scanning the query model indicates that this represents a select query- Returns:
- true if its a select query, false if its a construct query
-
isSPOElemList
public static boolean isSPOElemList(ProjectionElemList theList)
Return whether or not this projection looks like an spo binding for a construct query- Parameters:
theList- the projection element list to inspect- Returns:
- true if it has the format of a spo construct projection element, false otherwise
-
meet
public void meet(StatementPattern theStatementPattern) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(Slice theSlice) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(ExtensionElem theExtensionElem) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(ProjectionElemList theProjectionElemList) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(OrderElem theOrderElem) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(Distinct theDistinct) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
meet
public void meet(Reduced theReduced) throws Exception
- Specified by:
meetin interfaceQueryModelVisitor<Exception>- Overrides:
meetin classAbstractQueryModelVisitor<Exception>- Throws:
Exception
-
-