Interface Statement

  • All Superinterfaces:
    Visitable
    All Known Subinterfaces:
    Statement.RegularQuery, Statement.SingleQuery
    All Known Implementing Classes:
    ProcedureCall

    @API(status=EXPERIMENTAL,
         since="1.0")
    public interface Statement
    extends Visitable
    Shall 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.RegularQuery or a StandaloneCall.

    Since:
    1.0
    Author:
    Michael J. Simons
    • Method Detail

      • call

        static ProcedureCall.OngoingStandaloneCallWithoutArguments call​(java.lang.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

        java.util.Map<java.lang.String,​java.lang.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, use getParameterNames().

        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

        java.util.Collection<java.lang.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
      • getCypher

        java.lang.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 $param for parameters. The placeholders for parameters can be retrieved via getParameterNames(). Bounded values for paramters can be retrieved via getParameters().

        This method is threadsafe

        Returns:
        A valid Cypher statement
        Since:
        2021.0.0
      • getContext

        @API(status=INTERNAL,
             since="2021.0.0")
        StatementContext getContext()
      • isRenderConstantsAsParameters

        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 to getParameters() or getCypher().

        Renderers are free to chose to ignore this.

        Parameters:
        renderConstantsAsParameters - Set to true to render constants as parameters (when using getCypher().