GWT 2.0.3

com.google.gwt.rpc.server
Class WebModeClientOracle

java.lang.Object
  extended by com.google.gwt.rpc.server.ClientOracle
      extended by com.google.gwt.rpc.server.WebModeClientOracle
All Implemented Interfaces:
java.io.Serializable

public final class WebModeClientOracle
extends ClientOracle
implements java.io.Serializable

Encapsulates data about the structure of the client code.

See Also:
Serialized Form

Nested Class Summary
static class WebModeClientOracle.Builder
          A Builder object to create ClientOracles.
static class WebModeClientOracle.Triple<A,B,C>
          A pair with extra data.
 
Constructor Summary
protected WebModeClientOracle()
          Instances of WebModeClientOracle are created either through the WebModeClientOracle.Builder class or via the load(java.io.InputStream) method.
 
Method Summary
 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.
 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)
          This will search superclasses.
 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.
 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.
 int getTypeId(java.lang.Class<?> clazz)
          Returns the assigned typeId of a given type or 0.
 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.
static WebModeClientOracle load(java.io.InputStream stream)
          Recreate a WebModeClientOracle based on the contents previously emitted by store(java.io.OutputStream).
 void store(java.io.OutputStream stream)
          Write the state of the WebModeClientOracle into an OutputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebModeClientOracle

protected WebModeClientOracle()
Instances of WebModeClientOracle are created either through the WebModeClientOracle.Builder class or via the load(java.io.InputStream) method.

Method Detail

load

public static WebModeClientOracle load(java.io.InputStream stream)
                                throws java.io.IOException
Recreate a WebModeClientOracle based on the contents previously emitted by store(java.io.OutputStream). The underlying format should be considered opaque.

Throws:
java.io.IOException

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

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)
This will search superclasses.

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

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

getTypeId

public int getTypeId(java.lang.Class<?> clazz)
Description copied from class: ClientOracle
Returns the assigned typeId of a given type or 0.

Specified by:
getTypeId 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

store

public void store(java.io.OutputStream stream)
           throws java.io.IOException
Write the state of the WebModeClientOracle into an OutputStream. The underlying format should be considered opaque.

Throws:
java.io.IOException

GWT 2.0.3