org.apache.cayenne.exp.property

## Interface RelationshipProperty<E>

- All Superinterfaces:
    PathProperty<E>, Property<E>
  All Known Implementing Classes:
    CollectionProperty, EntityProperty, ListProperty, MapProperty, Property, SetProperty

      public interface RelationshipProperty<E>
      extends PathProperty<E>

  Interface (or "Trait") that provides basic functionality for all types of relationships.

  Provides "dot", prefetch and "outer" functionality.

  Since:
    4.2
  See Also:
    `org.apache.cayenne.exp.property`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default PrefetchTreeNode` | `disjoint()` Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint" prefetch semantics.
    `default PrefetchTreeNode` | `disjointById()` Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint by id" prefetch semantics.
    `default <T> BaseIdProperty<T>` | `dot(BaseIdProperty<T> property)`
    `default <T extends EmbeddableObject> EmbeddableProperty<T>` | `dot(EmbeddableProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <T extends Persistent> EntityProperty<T>` | `dot(EntityProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <T extends Persistent> ListProperty<T>` | `dot(ListProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <K,V extends Persistent> MapProperty<K,V>` | `dot(MapProperty<K,V> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <T extends Number> NumericIdProperty<T>` | `dot(NumericIdProperty<T> property)`
    `default <T extends Persistent> SetProperty<T>` | `dot(SetProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default PrefetchTreeNode` | `joint()` Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "joint" prefetch semantics.
    `BaseProperty<E>` | `outer()` Returns a version of this property that represents an OUTER join.

    - ### Methods inherited from interface org.apache.cayenne.exp.property.PathProperty

      `dot, dot, dot, dot, dot`

    - ### Methods inherited from interface org.apache.cayenne.exp.property.Property

      `getAlias, getExpression, getName, getType`

- - ### Method Detail

    - #### outer

          BaseProperty<E> outer()

      Returns a version of this property that represents an OUTER join. It is up to caller to ensure that the property corresponds to a relationship, as "outer" attributes make no sense.

    - #### joint

          default PrefetchTreeNode joint()

      Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "joint" prefetch semantics.

    - #### disjoint

          default PrefetchTreeNode disjoint()

      Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint" prefetch semantics.

    - #### disjointById

          default PrefetchTreeNode disjointById()

      Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint by id" prefetch semantics.

    - #### dot

          default <T> BaseIdProperty<T> dot(BaseIdProperty<T> property)

    - #### dot

          default <T extends Number> NumericIdProperty<T> dot(NumericIdProperty<T> property)

    - #### dot

          default <T extends Persistent> EntityProperty<T> dot(EntityProperty<T> property)

      Constructs a new property path by appending the argument to the existing property separated by a dot.
      Parameters:
        `property` - to append to path
      Returns:
        a newly created Property object.

    - #### dot

          default <T extends Persistent> ListProperty<T> dot(ListProperty<T> property)

      Constructs a new property path by appending the argument to the existing property separated by a dot.
      Parameters:
        `property` - to append to path
      Returns:
        a newly created Property object.

    - #### dot

          default <T extends Persistent> SetProperty<T> dot(SetProperty<T> property)

      Constructs a new property path by appending the argument to the existing property separated by a dot.
      Parameters:
        `property` - to append to path
      Returns:
        a newly created Property object.

    - #### dot

          default <K,V extends Persistent> MapProperty<K,V> dot(MapProperty<K,V> property)

      Constructs a new property path by appending the argument to the existing property separated by a dot.
      Parameters:
        `property` - to append to path
      Returns:
        a newly created Property object.

    - #### dot

          default <T extends EmbeddableObject> EmbeddableProperty<T> dot(EmbeddableProperty<T> property)

      Constructs a new property path by appending the argument to the existing property separated by a dot.
      Parameters:
        `property` - to append to path
      Returns:
        a newly created Property object.

Copyright © 2001–2021 Apache Cayenne. All rights reserved.