# Interface PathProperty<E>

All Superinterfaces:
  `Property<E>`

All Known Subinterfaces:
  `RelationshipProperty<E>`

All Known Implementing Classes:
  `CollectionProperty, EmbeddableProperty, EntityProperty, ListProperty, MapProperty, SelfProperty, SetProperty`

public interface PathProperty<E> extends Property<E>
Property that represents path segment (relationship or embeddable). Basically it provides `dot()` operator.

Since:
  4.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default BaseProperty<Object>`
  `dot(String property)`
  Constructs a property path by appending the argument to the existing property separated by a dot.
  `default <T> BaseProperty<T>`
  `dot(BaseProperty<T> property)`
  Constructs a new property path by appending the argument to the existing property separated by a dot.
  `default <T> DateProperty<T>`
  `dot(DateProperty<T> property)`
  Constructs a new property path by appending the argument to the existing property separated by a dot.
  `default <T extends Number>
  NumericProperty<T>`
  `dot(NumericProperty<T> property)`
  Constructs a new property path by appending the argument to the existing property separated by a dot.
  `default <T extends CharSequence>
  StringProperty<T>`
  `dot(StringProperty<T> property)`
  Constructs a new property path by appending the argument to the existing property separated by a dot.

  ### Methods inherited from interface Property

  `getAlias, getExpression, getName, getPath, getType`

- ## Method Details

  - ### dot

    default BaseProperty<Object> dot(String property)
    Constructs a property path by appending the argument to the existing property separated by a dot.
    Returns:
      a newly created Property object.

  - ### dot

    default <T> BaseProperty<T> dot(BaseProperty<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 Number> NumericProperty<T> dot(NumericProperty<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 CharSequence> StringProperty<T> dot(StringProperty<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> DateProperty<T> dot(DateProperty<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.