Class NodeBase<SELF extends Node>

    • Method Detail

      • named

        public final SELF named​(String newSymbolicName)
        Description copied from interface: Node
        Creates a copy of this node with a new symbolic name.
        Specified by:
        named in interface Node
        Parameters:
        newSymbolicName - the new symbolic name.
        Returns:
        The new node.
      • named

        public abstract SELF named​(SymbolicName newSymbolicName)
        This method needs to be implemented to provide new, type safe instances of this node.
        Specified by:
        named in interface Node
        Parameters:
        newSymbolicName - the new symbolic name.
        Returns:
        A new node
      • withProperties

        public final SELF withProperties​(Object... keysAndValues)
        Description copied from interface: ExposesProperties
        Creates a a copy of this property container with additional properties. Creates a property container without properties when no properties are passed to this method.
        Specified by:
        withProperties in interface ExposesProperties<SELF extends Node>
        Parameters:
        keysAndValues - A list of key and values. Must be an even number, with alternating String and Expression.
        Returns:
        The new property container.
      • withProperties

        public final SELF withProperties​(Map<String,​Object> newProperties)
        Description copied from interface: ExposesProperties
        Creates a a copy of this property container with additional properties.
        Specified by:
        withProperties in interface ExposesProperties<SELF extends Node>
        Parameters:
        newProperties - A map with the new properties
        Returns:
        The new property container.
      • withProperties

        public abstract SELF withProperties​(MapExpression newProperties)
        This method needs to be implemented to provide new, type safe instances of this node.
        Specified by:
        withProperties in interface ExposesProperties<SELF extends Node>
        Parameters:
        newProperties - the new properties (can be null to remove exiting properties).
        Returns:
        A new node
      • getProperties

        protected final Properties getProperties()
      • accept

        public final void accept​(Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor visiting this Visitable and its nested Visitables if applicable.
        Specified by:
        accept in interface Visitable
        Parameters:
        visitor - the visitor to notify, must not be null.
      • hasLabels

        @NotNull
        public final @NotNull Condition hasLabels​(String... labelsToQuery)
        Description copied from interface: Node
        A condition that checks for the presence of labels on a node.
        Specified by:
        hasLabels in interface Node
        Parameters:
        labelsToQuery - A list of labels to query
        Returns:
        A condition that checks whether this node has all of the labels to query
      • isEqualTo

        @NotNull
        public final @NotNull Condition isEqualTo​(Node otherNode)
        Description copied from interface: Node
        Creates a new condition whether this node is equal to otherNode.
        Specified by:
        isEqualTo in interface Node
        Parameters:
        otherNode - The node to compare this node to.
        Returns:
        A condition.
      • isNotEqualTo

        @NotNull
        public final @NotNull Condition isNotEqualTo​(Node otherNode)
        Description copied from interface: Node
        Creates a new condition whether this node is not equal to otherNode.
        Specified by:
        isNotEqualTo in interface Node
        Parameters:
        otherNode - The node to compare this node to.
        Returns:
        A condition.
      • isNull

        @NotNull
        public final @NotNull Condition isNull()
        Description copied from interface: Node
        Creates a new condition based on this node whether it is null.
        Specified by:
        isNull in interface Node
        Returns:
        A condition.
      • isNotNull

        @NotNull
        public final @NotNull Condition isNotNull()
        Description copied from interface: Node
        Creates a new condition based on this node whether it is not null.
        Specified by:
        isNotNull in interface Node
        Returns:
        A condition.
      • descending

        @NotNull
        public final @NotNull SortItem descending()
        Description copied from interface: Node
        Creates a new sort item of this node in descending order.
        Specified by:
        descending in interface Node
        Returns:
        A sort item.
      • ascending

        @NotNull
        public final @NotNull SortItem ascending()
        Description copied from interface: Node
        Creates a new sort item of this node in ascending order.
        Specified by:
        ascending in interface Node
        Returns:
        A sort item.
      • as

        @NotNull
        public final @NotNull AliasedExpression as​(String alias)
        Description copied from interface: Node
        Creates an alias for this node.
        Specified by:
        as in interface Node
        Parameters:
        alias - The alias to use.
        Returns:
        The aliased expression.
      • internalId

        @NotNull
        public final @NotNull FunctionInvocation internalId()
        Specified by:
        internalId in interface Node
        Returns:
        A new function invocation returning the internal id of this node.
      • labels

        @NotNull
        public final @NotNull FunctionInvocation labels()
        Specified by:
        labels in interface Node
        Returns:
        A new function invocation returning the labels of this node.
      • relationshipTo

        @NotNull
        public final @NotNull Relationship relationshipTo​(Node other,
                                                          String... types)
        Description copied from interface: ExposesRelationships
        Starts building an outgoing relationship to the other node.
        Specified by:
        relationshipTo in interface ExposesRelationships<Relationship>
        Parameters:
        other - The other end of the outgoing relationship
        types - The types to match
        Returns:
        An ongoing relationship definition, that can be used to specify the type
      • relationshipFrom

        @NotNull
        public final @NotNull Relationship relationshipFrom​(Node other,
                                                            String... types)
        Description copied from interface: ExposesRelationships
        Starts building an incoming relationship starting at the other node.
        Specified by:
        relationshipFrom in interface ExposesRelationships<Relationship>
        Parameters:
        other - The source of the incoming relationship
        types - The types to match
        Returns:
        An ongoing relationship definition, that can be used to specify the type
      • relationshipBetween

        @NotNull
        public final @NotNull Relationship relationshipBetween​(Node other,
                                                               String... types)
        Description copied from interface: ExposesRelationships
        Starts building an undirected relationship between this node and the other.
        Specified by:
        relationshipBetween in interface ExposesRelationships<Relationship>
        Parameters:
        other - The other end of the relationship
        types - The types to match
        Returns:
        An ongoing relationship definition, that can be used to specify the type
      • property

        @NotNull
        public final @NotNull Property property​(@NotNull
                                                @NotNull String name)
        Description copied from interface: PropertyContainer
        Creates a new Property associated with this property container. This property can be used as a lookup in other expressions. It does not add a value to the property.

        Note: The property container does not track property creation and there is no possibility to enumerate all properties that have been created for this property container.

        Specified by:
        property in interface PropertyContainer
        Parameters:
        name - property name, must not be null or empty.
        Returns:
        a new Property associated with this named container
      • property

        @NotNull
        public final @NotNull Property property​(Expression lookup)
        Description copied from interface: PropertyContainer
        Creates a new Property associated with this property container. This property can be used as a lookup in other expressions. It does not add a value to the property.

        The new Property object is a dynamic lookup, based on the expression passed to this method. The expression can be example another property, a function result or a Cypher parameter. A property defined in such a way will render as p[expression].

        Note: The property container does not track property creation and there is no possibility to enumerate all properties that have been created for this property container.

        Specified by:
        property in interface PropertyContainer
        Parameters:
        lookup - the expression that is evaluated to lookup this property.
        Returns:
        a new Property associated with this named container
      • mutate

        @NotNull
        public final @NotNull Operation mutate​(Parameter<?> parameter)
        Description copied from interface: PropertyContainer
        Creates an Operation mutating the properties of this container to a new value. The container does not track the operations created with this method.
        Specified by:
        mutate in interface PropertyContainer
        Parameters:
        parameter - the new properties
        Returns:
        A new operation.
      • mutate

        @NotNull
        public final @NotNull Operation mutate​(MapExpression properties)
        Description copied from interface: PropertyContainer
        Creates an Operation mutating the properties of this container to a new value. The container does not track the operations created with this method.
        Specified by:
        mutate in interface PropertyContainer
        Parameters:
        properties - the new properties
        Returns:
        A new operation.