# Class ExtendableEntityUtil (5.0.3)

    public final class ExtendableEntityUtil

Internal class that provides utility methods for extendable entity objects.

## Inheritance

[Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> ExtendableEntityUtil

## Inherited Members

[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

## Static Methods

### areKeysEqual(Key key1, Key key2)

    public static boolean areKeysEqual(Key key1, Key key2)

Check if the input `Key` objects are equal (including keys that are incomplete).

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `key1` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.Key` the first input key |
| `key2` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.Key` the second input key |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | `true` if the keys are equal. `false` otherwise. |

### checkSupportedValue(String propertyName, Object value, boolean valuePreChecked, Set\<Class\<?\>\> supportedTypes)

    public static void checkSupportedValue(String propertyName, Object value, boolean valuePreChecked, Set<Class<?>> supportedTypes)

If the specified object cannot be used as the value for a `Entity` property, throw an
exception with the appropriate explanation.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `propertyName` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` the name of the property. |
| `value` | `https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html` value in question |
| `valuePreChecked` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` `true` if the value without the name has already been checked. `false` otherwise. |
| `supportedTypes` | `https://docs.oracle.com/javase/8/docs/api/java/util/Set.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html<?>>` the types considered to be valid types for the value. |

### createKey(Key parent, String kind)

    public static Key createKey(Key parent, String kind)

Creates a new `Key` with the provided parent and kind. The instantiated `Key` will
be incomplete.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `parent` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.Key` the parent of the key to create, can be `null` |
| `kind` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` the kind of the key to create |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.Key` |   |