Package 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Splittable` | `NULL` | A value that represents `null`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.