## Uses of Class
org.apache.cayenne.exp.property.BaseProperty

- Packages that use BaseProperty
  Package | Description
  --- | ---
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.exp.property | Property API
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.

- - ### Uses of BaseProperty in org.apache.cayenne.exp

    Subclasses of BaseProperty in org.apache.cayenne.exp
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Property<E>` | Deprecated. since 4.2 in favour of type-specific set of properties, see `PropertyFactory` and `org.apache.cayenne.exp.property` package.

  - ### Uses of BaseProperty in org.apache.cayenne.exp.property

    Subclasses of BaseProperty in org.apache.cayenne.exp.property
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseIdProperty<E>` | Property that represents non-numeric PK
    `class` | `CollectionProperty<V extends Persistent,​E extends Collection<V>>` | Base class for `ListProperty` and `SetProperty`
    `class` | `DateProperty<E>` | Property that represents date/time attribute.
    `class` | `EmbeddableProperty<E>` | Property that represents object attribute mapped on `Embeddable` object.
    `class` | `EntityProperty<E extends Persistent>` | Property that represents to-one relationships.
    `class` | `ListProperty<V extends Persistent>` | Property that represents to-many relationship mapped on `List`.
    `class` | `MapProperty<K,​V extends Persistent>` | Property that represents to-many relationship mapped on `Map`.
    `class` | `NumericIdProperty<E extends Number>` | Property that represents numeric PK
    `class` | `NumericProperty<E extends Number>` | Property that represents attributes mapped on numeric types
    `class` | `SetProperty<V extends Persistent>` | Property that represents to-many relationship mapped on `Set`.
    `class` | `StringProperty<E extends CharSequence>` | Property that represents attributes mapped on string types

    Methods in org.apache.cayenne.exp.property that return BaseProperty
    Modifier and Type | Method | Description
    --- | --- | ---
    `BaseProperty<E>` | BaseProperty.`alias​(String alias)` | Creates alias with different name for this property
    `static <T> BaseProperty<T>` | PropertyFactory.`createBase​(String name, Class<T> type)` | Create base property
    `static <T> BaseProperty<T>` | PropertyFactory.`createBase​(String name, Expression expression, Class<T> type)` | Create base property
    `static <T> BaseProperty<T>` | PropertyFactory.`createBase​(Expression expression, Class<T> type)` | Create base property
    `default BaseProperty<Object>` | PathProperty.`dot​(String property)` | Constructs a property path by appending the argument to the existing property separated by a dot.
    `default <T> BaseProperty<T>` | PathProperty.`dot​(BaseProperty<T> property)` | Constructs a new property path by appending the argument to the existing property separated by a dot.
    `BaseProperty<E>` | BaseProperty.`enclosing()` |
    `<T> BaseProperty<T>` | BaseProperty.`function​(String functionName, Class<T> returnType, Object... arguments)` |
    `<T> BaseProperty<T>` | BaseProperty.`function​(String functionName, Class<T> returnType, BaseProperty<?>... arguments)` |
    `default BaseProperty<E>` | ComparableProperty.`max()` |
    `default BaseProperty<E>` | ComparableProperty.`min()` |
    `<T> BaseProperty<T>` | BaseProperty.`operator​(String operator, Class<T> returnType, Object... arguments)` |
    `<T> BaseProperty<T>` | BaseProperty.`operator​(String operator, Class<T> returnType, BaseProperty<?>... arguments)` |
    `BaseProperty<E>` | RelationshipProperty.`outer()` | Returns a version of this property that represents an OUTER join.

    Methods in org.apache.cayenne.exp.property with parameters of type BaseProperty
    Modifier and Type | Method | Description
    --- | --- | ---
    `default <T> BaseProperty<T>` | PathProperty.`dot​(BaseProperty<T> property)` | Constructs a new property path by appending the argument to the existing property separated by a dot.
    `Expression` | BaseProperty.`eq​(BaseProperty<?> value)` |
    `<T> BaseProperty<T>` | BaseProperty.`function​(String functionName, Class<T> returnType, BaseProperty<?>... arguments)` |
    `Expression` | BaseProperty.`ne​(BaseProperty<?> value)` |
    `<T> BaseProperty<T>` | BaseProperty.`operator​(String operator, Class<T> returnType, BaseProperty<?>... arguments)` |

  - ### Uses of BaseProperty in org.apache.cayenne.query

    Methods in org.apache.cayenne.query with parameters of type BaseProperty
    Modifier and Type | Method | Description
    --- | --- | ---
    `ColumnSelect<Object[]>` | ColumnSelect.`count​(BaseProperty<?> property)` | Select COUNT(property)
    `ColumnSelect<Long>` | ObjectSelect.`count​(BaseProperty<?> property)` | Select COUNT(property)