Package org.neo4j.cypherdsl.core
Interface Statement
-
- All Superinterfaces:
Visitable
- All Known Subinterfaces:
ProcedureCall,ResultStatement,Statement.RegularQuery,Statement.SingleQuery
@API(status=EXPERIMENTAL, since="1.0") public interface Statement extends VisitableShall be the common interfaces for queries that we support.For reference see: Cypher. We have skipped the intermediate "Query" structure so a statement in the context of this generator is either a
Statement.RegularQueryor aStandaloneCall.- Since:
- 1.0
- Author:
- Michael J. Simons
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceStatement.RegularQueryRepresentsRegularQuery.static interfaceStatement.SingleQueryRepresents aSingleQuery.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static @NotNull StatementBuilderbuilder()static @NotNull StatementBuilder.OngoingStandaloneCallWithoutArgumentscall(String... namespaceAndProcedure)default booleandoesReturnOrYield()@NotNull StatementContextgetContext()@NotNull StringgetCypher()This method uses the default renderer to create a String representation of this statement.@NotNull Collection<Expression>getIdentifiableExpressions()@NotNull Collection<String>getParameterNames()After the statement has been build, this method returns a list of all parameter names used, regardless whether a value was bound to the parameter o not.@NotNull Map<String,Object>getParameters()After a statement has been build, all parameters that have been added to the statement can be retrieved through this method.booleanisRenderConstantsAsParameters()Some constants may be rendered as parameters.static @NotNull Statementof(@NotNull List<Clause> clauses)Creates a statement based on a list ofclauses.voidsetRenderConstantsAsParameters(boolean renderConstantsAsParameters)Use this method to configure whether some constant values should be rendered as parameters or as literals before the first call togetParameters()orgetCypher().static @NotNull StatementusingPeriodic(Integer batchSize, @NotNull List<Clause> clauses)Creates a statement based on a list ofclausesand prepends it with USING PERIODIC COMMIT.
-
-
-
Method Detail
-
builder
@NotNull @Contract(pure=true) static @NotNull StatementBuilder builder()
- Returns:
- A new statement builder.
-
of
@NotNull static @NotNull Statement of(@NotNull @NotNull List<Clause> clauses)
Creates a statement based on a list ofclauses. It is your task to provide a sanity check of the clauses. The builder will use the clauses "as is", neither change their order nor their type.- Parameters:
clauses- A list of clauses, must not be null- Returns:
- A statement
- Since:
- 2021.3.0
-
usingPeriodic
@API(status=EXPERIMENTAL, since="2021.3.0") @NotNull static @NotNull Statement usingPeriodic(Integer batchSize, @NotNull @NotNull List<Clause> clauses)Creates a statement based on a list ofclausesand prepends it with USING PERIODIC COMMIT. It is your task to provide a sanity check of the clauses. The builder will use the clauses "as is", neither change their order nor their type.The USING PERIODIC HINT is only valid right before the LOAD CSV clause.
- Parameters:
batchSize- The batch size to pass to PERIODIC COMMIT.clauses- A list of clauses, must not be null- Returns:
- A statement
- Since:
- 2021.3.0
-
call
@NotNull @Contract(pure=true) static @NotNull StatementBuilder.OngoingStandaloneCallWithoutArguments call(String... namespaceAndProcedure)
- Parameters:
namespaceAndProcedure- The fully qualified name of a stored procedure. Each part can be given as a separate String, but a fully qualified String is ok as well.- Returns:
- An entry point into a statement that starts with a call to stored procedure.
-
getParameters
@NotNull @Contract(pure=true) @NotNull Map<String,Object> getParameters()
After a statement has been build, all parameters that have been added to the statement can be retrieved through this method. The result will only contain parameters with a defined value. If you are interested in all parameter names, usegetParameterNames().The map can be used for example as an argument with various methods on the Neo4j Java Driver that allow the execution of parameterized queries.
This method is threadsafe
- Returns:
- A map of all parameters with a bound value.
- Since:
- 2021.0.0
-
getParameterNames
@NotNull @Contract(pure=true) @NotNull Collection<String> getParameterNames()
After the statement has been build, this method returns a list of all parameter names used, regardless whether a value was bound to the parameter o not.This method is threadsafe
- Returns:
- A set of parameter names being used.
- Since:
- 2021.0.0
-
getIdentifiableExpressions
@NotNull @Contract(pure=true) @NotNull Collection<Expression> getIdentifiableExpressions()
- Returns:
- The set of identifiable expressions that are available when this statement ends.
- Since:
- 2021.3.2
-
getCypher
@NotNull @Contract(pure=true) @NotNull String getCypher()
This method uses the default renderer to create a String representation of this statement. The generated Cypher will use escaped literals and correct placeholders like$paramfor parameters. The placeholders for parameters can be retrieved viagetParameterNames(). Bounded values for parameters can be retrieved viagetParameters().This method is threadsafe
- Returns:
- A valid Cypher statement
- Since:
- 2021.0.0
-
getContext
@API(status=INTERNAL, since="2021.0.0") @NotNull @Contract(pure=true) @NotNull StatementContext getContext()
-
isRenderConstantsAsParameters
@Contract(pure=true) boolean isRenderConstantsAsParameters()
Some constants may be rendered as parameters.- Returns:
- True if literal parameters hav
-
setRenderConstantsAsParameters
void setRenderConstantsAsParameters(boolean renderConstantsAsParameters)
Use this method to configure whether some constant values should be rendered as parameters or as literals before the first call togetParameters()orgetCypher().Renderers are free to chose to ignore this.
- Parameters:
renderConstantsAsParameters- Set to true to render constants as parameters (when usinggetCypher().
-
doesReturnOrYield
default boolean doesReturnOrYield()
- Returns:
- True if this statement can be assured to return something.
-
-