Interface PropertyContainer

  • All Superinterfaces:
    Named
    All Known Subinterfaces:
    Node, Relationship
    All Known Implementing Classes:
    NodeBase, RelationshipBase

    @API(status=EXPERIMENTAL,
         since="1.1")
    public interface PropertyContainer
    extends Named
    A container having properties. A property container must be Named with a non empty name to be able to refer to properties.
    Since:
    1.1
    Author:
    Andreas Berger, Michael J. Simons
    • Method Detail

      • property

        Property property​(java.lang.String name)
        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.

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

        Property property​(java.lang.String... names)
      • property

        Property property​(Expression lookup)
        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.

        Parameters:
        lookup - the expression that is evaluated to lookup this property.
        Returns:
        a new Property associated with this named container
        Since:
        2021.0.0
      • mutate

        Operation mutate​(Parameter parameter)
        Creates an Operation mutating the properties of this container to a new value. The container does not track the operations created with this method.
        Parameters:
        parameter - the new properties
        Returns:
        A new operation.
        Since:
        2020.1.5
      • mutate

        Operation mutate​(MapExpression properties)
        Creates an Operation mutating the properties of this container to a new value. The container does not track the operations created with this method.
        Parameters:
        properties - the new properties
        Returns:
        A new operation.
        Since:
        2020.1.5
      • project

        MapProjection project​(java.util.List<java.lang.Object> entries)
        Unwraps the list of entries into an array before creating a projection out of it.
        Parameters:
        entries - A list of entries for the projection
        Returns:
        A map projection.
        See Also:
        SymbolicName.project(List)
      • project

        MapProjection project​(java.lang.Object... entries)
        Creates a map projection based on this container. The container needs a symbolic name for this to work.
        Parameters:
        entries - A list of entries for the projection
        Returns:
        A map projection.
        See Also:
        SymbolicName.project(Object...)