com.google.gwt.rpc.server

## Class DelegatingClientOracle

- java.lang.Object
- - com.google.gwt.rpc.server.ClientOracle
  - - com.google.gwt.rpc.server.DelegatingClientOracle

-     public class DelegatingClientOracle
      extends ClientOracle

  A delegate-pattern ClientOracle that can be used to introduce custom behavior.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelegatingClientOracle(ClientOracle delegate)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.rpc.client.ast.CommandSink` | `createCommandSink(java.io.OutputStream out)` Create a CommandSink that can encode a payload for the client.
    `java.lang.String` | `createUnusedIdent(java.lang.String ident)` Returns an identifier that does not conflict with any symbols defined in the client.
    `CastableTypeData` | `getCastableTypeData(java.lang.Class<?> clazz)` Returns the Json castableType data for a given type.
    `java.lang.String` | `getFieldId(java.lang.Class<?> clazz, java.lang.String fieldName)` Given a base type and the unobfuscated field name, find the obfuscated name for the field in the client.
    `java.lang.String` | `getFieldId(java.lang.Enum<?> value)` Return the field name for a given enum value.
    `java.lang.String` | `getFieldId(java.lang.String className, java.lang.String fieldName)` This is similar to `ClientOracle.getFieldId(Class, String)` but does not search supertypes.
    `Pair<java.lang.Class<?>,java.lang.String>` | `getFieldName(java.lang.Class<?> clazz, java.lang.String fieldId)` Return the name of a field from a client-side id.
    `java.lang.String` | `getMethodId(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... args)` Returns the name of the top-level function which implements the named method that takes the exact arguments specified.
    `java.lang.String` | `getMethodId(java.lang.String className, java.lang.String methodName, java.lang.String... jsniArgTypes)` This is similar to `ClientOracle.getMethodId(Class, String, Class...)` but does not search supertypes.
    `java.lang.reflect.Field[]` | `getOperableFields(java.lang.Class<?> clazz)` Returns the fields of a given class that should be serialized.
    `int` | `getQueryId(java.lang.Class<?> clazz)` Returns the assigned castability queryId of a given type.
    `java.lang.String` | `getSeedName(java.lang.Class<?> clazz)` Returns the name of the top-level function that is used as the seed function for a given type.
    `java.lang.String` | `getTypeName(java.lang.String seedName)` Returns the deobfuscated name of a type based on the name of the type's seed function.
    `boolean` | `isScript()` Indicates whether or not the remote client is running as compiled script.

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

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

- - ### Constructor Detail

    - #### DelegatingClientOracle

          public DelegatingClientOracle(ClientOracle delegate)

  - ### Method Detail

    - #### createCommandSink

          public com.google.gwt.rpc.client.ast.CommandSink createCommandSink(java.io.OutputStream out)
                                                                      throws java.io.IOException

      Description copied from class: `ClientOracle`
      Create a CommandSink that can encode a payload for the client.
      Specified by:
        `createCommandSink` in class `ClientOracle`
      Parameters:
        `out` - the OutputStream to which the output will be written
      Returns:
        a CommandSink
      Throws:
        `java.io.IOException` - if the CommandSink cannot write to the OutputStream

    - #### createUnusedIdent

          public java.lang.String createUnusedIdent(java.lang.String ident)

      Description copied from class: `ClientOracle`
      Returns an identifier that does not conflict with any symbols defined in the client. This method does not accumulate any state.
      Specified by:
        `createUnusedIdent` in class `ClientOracle`

    - #### getCastableTypeData

          public CastableTypeData getCastableTypeData(java.lang.Class<?> clazz)

      Description copied from class: `ClientOracle`
      Returns the Json castableType data for a given type.
      Specified by:
        `getCastableTypeData` in class `ClientOracle`

    - #### getFieldId

          public java.lang.String getFieldId(java.lang.Class<?> clazz,
                                    java.lang.String fieldName)

      Description copied from class: `ClientOracle`
      Given a base type and the unobfuscated field name, find the obfuscated name for the field in the client. This will search superclasses as well for the first matching field.
      Specified by:
        `getFieldId` in class `ClientOracle`

    - #### getFieldId

          public java.lang.String getFieldId(java.lang.Enum<?> value)

      Description copied from class: `ClientOracle`
      Return the field name for a given enum value.
      Specified by:
        `getFieldId` in class `ClientOracle`

    - #### getFieldId

          public java.lang.String getFieldId(java.lang.String className,
                                    java.lang.String fieldName)

      Description copied from class: `ClientOracle`
      This is similar to `ClientOracle.getFieldId(Class, String)` but does not search supertypes. It is intended to be used to access "magic" GWT types.
      Specified by:
        `getFieldId` in class `ClientOracle`

    - #### getFieldName

          public Pair<java.lang.Class<?>,java.lang.String> getFieldName(java.lang.Class<?> clazz,
                                                               java.lang.String fieldId)

      Description copied from class: `ClientOracle`
      Return the name of a field from a client-side id. This will search superclasses for the first instance of the named field.
      Specified by:
        `getFieldName` in class `ClientOracle`
      Returns:
        The field's declaring class and the name of the field

    - #### getMethodId

          public java.lang.String getMethodId(java.lang.Class<?> clazz,
                                     java.lang.String methodName,
                                     java.lang.Class<?>... args)

      Description copied from class: `ClientOracle`
      Returns the name of the top-level function which implements the named method that takes the exact arguments specified. This will search in the given class as well as its supertypes.
      Specified by:
        `getMethodId` in class `ClientOracle`

    - #### getMethodId

          public java.lang.String getMethodId(java.lang.String className,
                                     java.lang.String methodName,
                                     java.lang.String... jsniArgTypes)

      Description copied from class: `ClientOracle`
      This is similar to `ClientOracle.getMethodId(Class, String, Class...)` but does not search supertypes. It is intended to be used to access "magic" GWT types.
      Specified by:
        `getMethodId` in class `ClientOracle`

    - #### getOperableFields

          public java.lang.reflect.Field[] getOperableFields(java.lang.Class<?> clazz)

      Description copied from class: `ClientOracle`
      Returns the fields of a given class that should be serialized. This method does not crawl supertypes.
      Specified by:
        `getOperableFields` in class `ClientOracle`

    - #### getQueryId

          public int getQueryId(java.lang.Class<?> clazz)

      Description copied from class: `ClientOracle`
      Returns the assigned castability queryId of a given type.
      Specified by:
        `getQueryId` in class `ClientOracle`

    - #### getSeedName

          public java.lang.String getSeedName(java.lang.Class<?> clazz)

      Description copied from class: `ClientOracle`
      Returns the name of the top-level function that is used as the seed function for a given type.
      Specified by:
        `getSeedName` in class `ClientOracle`

    - #### getTypeName

          public java.lang.String getTypeName(java.lang.String seedName)

      Description copied from class: `ClientOracle`
      Returns the deobfuscated name of a type based on the name of the type's seed function.
      Specified by:
        `getTypeName` in class `ClientOracle`

    - #### isScript

          public boolean isScript()

      Description copied from class: `ClientOracle`
      Indicates whether or not the remote client is running as compiled script. This may be used to optimize the payload based on assumptions that can be mode about web-mode or hosted-mode clients.
      Specified by:
        `isScript` in class `ClientOracle`