# Interface Property<E>

All Known Subinterfaces:
  `ComparableProperty<E>, IdProperty<E>, PathProperty<E>, RelationshipProperty<E>`

All Known Implementing Classes:
  `BaseIdProperty, BaseProperty, CollectionProperty, DateProperty, EmbeddableProperty, EntityProperty, ListProperty, MapProperty, NumericIdProperty, NumericProperty, SelfProperty, SetProperty, StringProperty`

public interface Property<E>
Base interface for all types of properties

Since:
  4.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getAlias()`
  `Expression`
  `getExpression()`
  `String`
  `getName()`
  `CayennePath`
  `getPath()`
  `Class<E>`
  `getType()`

- ## Method Details

  - ### getName

    String getName()
    Returns:
      name of this property, can be null
    See Also:
      - `getPath()`

  - ### getPath

    CayennePath getPath()
    Returns:
      path that this property represents, can be empty if this is an expression-based property
    Since:
      5.0
    See Also:
      - `getName()`

  - ### getAlias

    String getAlias()
    Returns:
      alias of this property, can be null

  - ### getExpression

    Expression getExpression()
    Returns:
      expression that defines this property, not null

  - ### getType

    Class<E> getType()
    Returns:
      java type of this property, can be null