com.google.web.bindery.autobean.shared

## Interface Splittable

    public interface Splittable

This interface provides an abstraction around the underlying data model (JavaScriptObject, or JSON) used to encode an AutoBeanCodex payload.

### Field Summary

Fields
`static Splittable` `NULL` A value that represents `null`.

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `asBoolean()` Returns a boolean representation of the data.
`double` `asNumber()` Returns a numeric representation of the data.
`void` `assign(Splittable parent, int index)` Assign the splittable to the specified index of the `parent` object.
`void` `assign(Splittable parent, java.lang.String propertyName)` Assign the splittable to the named property of the `parent` object.
`java.lang.String` `asString()` Returns a string representation of the data.
`Splittable` `deepCopy()` Clones the Splittable, ignoring cycles and tags.
`Splittable` `get(int index)` Returns the nth element of a list.
`Splittable` `get(java.lang.String key)` Returns the named property.
`java.lang.String` `getPayload()` Returns a wire-format representation of the data.
`java.util.List<java.lang.String>` `getPropertyKeys()` Returns all keys available in the Splittable.
`java.lang.Object` `getReified(java.lang.String key)` Returns a value previously set with `setReified(String, Object)`.
`boolean` `isBoolean()` Returns `true` if the value of the Splittable is a boolean.
`boolean` `isIndexed()` Returns true if `size()` and `get(int)` can be expected to return meaningful values.
`boolean` `isKeyed()` Returns true if `getPropertyKeys()` and `get(String)` can be expected to return meaningful values.
`boolean` `isNull(int index)` Indicates if the nth element of a list is null or undefined.
`boolean` `isNull(java.lang.String key)` Indicates if the named property is null or undefined.
`boolean` `isNumber()` Returns `true` if the value of the Splittable is numeric.
`boolean` `isReified(java.lang.String key)` Returns `true` if `setReified(String, Object)` has been called with the given key.
`boolean` `isString()` Returns true if `asString()` can be expected to return a meaningful value.
`boolean` `isUndefined(java.lang.String key)` Returns `true` if the value of the key is undefined.
`void` `removeReified(java.lang.String key)` Removes a tag value from the Splittable.
`void` `setReified(java.lang.String key, java.lang.Object object)` Associates a tag value with the Splittable.
`void` `setSize(int i)` Resets the length of an indexed Splittable.
`int` `size()` Returns the size of an indexed Splittable.

### Field Detail

#### NULL

    static final Splittable NULL

A value that represents `null`.

### Method Detail

#### asBoolean

    boolean asBoolean()

Returns a boolean representation of the data.

#### asNumber

    double asNumber()

Returns a numeric representation of the data.

#### assign

    void assign(Splittable parent,
                int index)

Assign the splittable to the specified index of the `parent` object.

#### assign

    void assign(Splittable parent,
                java.lang.String propertyName)

Assign the splittable to the named property of the `parent` object.

#### asString

    java.lang.String asString()

Returns a string representation of the data.

#### deepCopy

    Splittable deepCopy()

Clones the Splittable, ignoring cycles and tags.

#### get

    Splittable get(int index)

Returns the nth element of a list.

#### get

    Splittable get(java.lang.String key)

Returns the named property.

#### getPayload

    java.lang.String getPayload()

Returns a wire-format representation of the data.

#### getPropertyKeys

    java.util.List<java.lang.String> getPropertyKeys()

Returns all keys available in the Splittable. This method may be expensive to compute.

#### getReified

    java.lang.Object getReified(java.lang.String key)

Returns a value previously set with `setReified(String, Object)`.

#### isBoolean

    boolean isBoolean()

Returns `true` if the value of the Splittable is a boolean.

#### isIndexed

    boolean isIndexed()

Returns true if `size()` and `get(int)` can be expected to return meaningful values.

#### isKeyed

    boolean isKeyed()

Returns true if `getPropertyKeys()` and `get(String)` can be expected to return meaningful values.

#### isNull

    boolean isNull(int index)

Indicates if the nth element of a list is null or undefined.

#### isNull

    boolean isNull(java.lang.String key)

Indicates if the named property is null or undefined.

#### isNumber

    boolean isNumber()

Returns `true` if the value of the Splittable is numeric.

#### isReified

    boolean isReified(java.lang.String key)

Returns `true` if `setReified(String, Object)` has been called with the given key.

#### isString

    boolean isString()

Returns true if `asString()` can be expected to return a meaningful value.

#### isUndefined

    boolean isUndefined(java.lang.String key)

Returns `true` if the value of the key is undefined.

#### removeReified

    void removeReified(java.lang.String key)

Removes a tag value from the Splittable.

Parameters:
  `key` - the key for the value to be removed

#### setReified

    void setReified(java.lang.String key,
                    java.lang.Object object)

Associates a tag value with the Splittable.

#### setSize

    void setSize(int i)

Resets the length of an indexed Splittable.

#### size

    int size()

Returns the size of an indexed Splittable.