2.2.0 (latest) 2.0.6 1.34.2 1.33.1 1.32.3 1.31.0 1.30.0 1.29.2 1.28.2 1.26.0 1.25.0 1.24.4 1.23.0 1.22.1 1.21.2 1.19.0 1.18.1 1.17.1 Reference documentation and code samples for the Cloud Datastore V1 Client class PathElement.

A (kind, ID/name) pair used to construct a key path.

If either name or ID is set, the element is complete.
If neither is set, the element is incomplete.

Generated from protobuf message `google.datastore.v1.Key.PathElement`

## Namespace

Google \\ Cloud \\ Datastore \\ V1 \\ Key

## Methods

### __construct

Constructor.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `data` | `array` Optional. Data for populating the Message object. |
| `↳ kind` | `string` The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `""`. Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the bytes. |
| `↳ id` | `int|string` The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future. |
| `↳ name` | `string` The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `""`. Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the bytes. |

### getKind

The kind of the entity.

A kind matching regex `__.*__` is reserved/read-only.
A kind must not contain more than 1500 bytes when UTF-8 encoded.
Cannot be `""`.
Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the
bytes.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setKind

The kind of the entity.

A kind matching regex `__.*__` is reserved/read-only.
A kind must not contain more than 1500 bytes when UTF-8 encoded.
Cannot be `""`.
Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the
bytes.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getId

The auto-allocated ID of the entity.

Never equal to zero. Values less than zero are discouraged and may not
be supported in the future.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `int|string` |   |

### hasId

### setId

The auto-allocated ID of the entity.

Never equal to zero. Values less than zero are discouraged and may not
be supported in the future.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `int|string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getName

The name of the entity.

A name matching regex `__.*__` is reserved/read-only.
A name must not be more than 1500 bytes when UTF-8 encoded.
Cannot be `""`.
Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the
bytes.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### hasName

### setName

The name of the entity.

A name matching regex `__.*__` is reserved/read-only.
A name must not be more than 1500 bytes when UTF-8 encoded.
Cannot be `""`.
Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
encoded as `__bytes<X>__` where `<X>` is the base-64 encoding of the
bytes.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getIdType

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |