Package org.apache.cayenne.exp.property

## Class BaseIdProperty<E>

- java.lang.Object
- - org.apache.cayenne.exp.property.BaseProperty<E>
  - - org.apache.cayenne.exp.property.BaseIdProperty<E>

- All Implemented Interfaces:
    `IdProperty<E>`, `Property<E>`

      public class BaseIdProperty<E>
      extends BaseProperty<E>
      implements IdProperty<E>

  Property that represents non-numeric PK
  Since:
    4.2

- - ### Field Summary

    - ### Fields inherited from class org.apache.cayenne.exp.property.BaseProperty

      `expressionSupplier, name, type`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `BaseIdProperty​(String attribute, String path, String entityName, Class<? super E> type)` | Constructs a new property with the given name and expression

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getAttributeName()` |
    `String` | `getEntityName()` |

    - ### Methods inherited from class org.apache.cayenne.exp.property.BaseProperty

      `alias, asc, ascInsensitive, ascInsensitives, ascs, count, countDistinct, desc, descInsensitive, descInsensitives, descs, enclosing, eq, eq, equals, function, function, getAlias, getExpression, getFrom, getFromAll, getName, getType, hashCode, in, in, in, isFalse, isNotNull, isNull, isTrue, ne, ne, nin, nin, nin, operator, operator, path, setIn, setInAll`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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

      `eq`

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

      `getAlias, getExpression, getName, getType`

- - ### Constructor Detail

    - #### BaseIdProperty

          protected BaseIdProperty​(String attribute,
                                   String path,
                                   String entityName,
                                   Class<? super E> type)

      Constructs a new property with the given name and expression
      Parameters:
        `attribute` - PK attribute name (optional, can be omitted for single PK entity)
        `path` - cayenne path (optional, can be omitted for ID of the root)
        `entityName` - name of the entity (mandatory)
        `type` - of the property (mandatory)
      See Also:
        `PropertyFactory.createBaseId(String, String, String, Class)`

  - ### Method Detail

    - #### getEntityName

          public String getEntityName()

      Specified by:
        `getEntityName` in interface `IdProperty<E>`

    - #### getAttributeName

          public String getAttributeName()

      Specified by:
        `getAttributeName` in interface `IdProperty<E>`