com.google.gwt.maps.jsio.rebind
Class JSWrapperGenerator

java.lang.Object
  extended by com.google.gwt.core.ext.Generator
      extended by com.google.gwt.maps.jsio.rebind.JSWrapperGenerator
Direct Known Subclasses:
JSFlyweightWrapperGenerator

public class JSWrapperGenerator
extends com.google.gwt.core.ext.Generator

The Generator that provides implementations of JSWrapper.


Field Summary
static java.lang.String BACKREF
          The name of the field within the backing object that refers back to the JSWrapper object.
protected static java.lang.String EXTRACTOR
          The name of the static field that contains the class's Extractor instance.
protected static com.google.gwt.maps.jsio.rebind.FragmentGeneratorOracle FRAGMENT_ORACLE
          Singleton instance of the FragmentGeneratorOracle for the system.
protected static java.lang.String OBJ
          The name of the backing object field.
 
Constructor Summary
JSWrapperGenerator()
           
 
Method Summary
 java.lang.String generate(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.GeneratorContext context, java.lang.String typeName)
          Entry point into the Generator.
protected  int getImportOffset()
          Specifies the first parameter of imported methods to pass to the imported JavaScript function.
protected  TaskFactory.Policy getPolicy()
           
protected  com.google.gwt.core.ext.typeinfo.JParameter getSetterParameter(com.google.gwt.core.ext.typeinfo.JMethod setter)
          Extracts the parameter from a setter method that contains the value to store into the backing object.
protected  void validateType(java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors, com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
          Aggregate pre-write validation checks.
protected  void writeBoilerplate(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
          Writes common boilerplate code for all implementations.
protected  void writeConstructor(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, com.google.gwt.core.ext.typeinfo.JMethod constructor)
           
protected  void writeEmptyFieldInitializerMethod(com.google.gwt.core.ext.TreeLogger logger, java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors, com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
          Provides a method to encapsulate empty field initialization.
protected  void writeEmptyFieldInitializers(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
          Ensures that no field referenced by generated logic will ever return an undefined value.
protected  void writeFixups(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.typeinfo.TypeOracle typeOracle, com.google.gwt.user.rebind.SourceWriter sw, java.util.Set<com.google.gwt.core.ext.typeinfo.JClassType> creatorFixups)
           
protected  void writeGetter(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, com.google.gwt.core.ext.typeinfo.JMethod getter)
           
protected  void writeImported(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, com.google.gwt.core.ext.typeinfo.JMethod imported)
           
protected  void writeMethodBindings(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
           
protected  void writeMethods(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors)
          Write the field, getter, and setter for the properties we know about.
protected  void writeSetter(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, com.google.gwt.core.ext.typeinfo.JMethod setter)
           
protected  void writeSingleTask(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context, com.google.gwt.maps.jsio.rebind.Task task)
           
 
Methods inherited from class com.google.gwt.core.ext.Generator
escape
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BACKREF

public static final java.lang.String BACKREF
The name of the field within the backing object that refers back to the JSWrapper object.

See Also:
Constant Field Values

EXTRACTOR

protected static final java.lang.String EXTRACTOR
The name of the static field that contains the class's Extractor instance.

See Also:
Constant Field Values

FRAGMENT_ORACLE

protected static final com.google.gwt.maps.jsio.rebind.FragmentGeneratorOracle FRAGMENT_ORACLE
Singleton instance of the FragmentGeneratorOracle for the system.


OBJ

protected static final java.lang.String OBJ
The name of the backing object field.

See Also:
Constant Field Values
Constructor Detail

JSWrapperGenerator

public JSWrapperGenerator()
Method Detail

generate

public final java.lang.String generate(com.google.gwt.core.ext.TreeLogger logger,
                                       com.google.gwt.core.ext.GeneratorContext context,
                                       java.lang.String typeName)
                                throws com.google.gwt.core.ext.UnableToCompleteException
Entry point into the Generator.

Specified by:
generate in class com.google.gwt.core.ext.Generator
Throws:
com.google.gwt.core.ext.UnableToCompleteException

getImportOffset

protected int getImportOffset()
Specifies the first parameter of imported methods to pass to the imported JavaScript function.


getPolicy

protected TaskFactory.Policy getPolicy()

getSetterParameter

protected com.google.gwt.core.ext.typeinfo.JParameter getSetterParameter(com.google.gwt.core.ext.typeinfo.JMethod setter)
Extracts the parameter from a setter method that contains the value to store into the backing object.


validateType

protected void validateType(java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors,
                            com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
                     throws com.google.gwt.core.ext.UnableToCompleteException
Aggregate pre-write validation checks.

Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeBoilerplate

protected void writeBoilerplate(com.google.gwt.core.ext.TreeLogger logger,
                                com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
                         throws com.google.gwt.core.ext.UnableToCompleteException
Writes common boilerplate code for all implementations.

Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeConstructor

protected void writeConstructor(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                                com.google.gwt.core.ext.typeinfo.JMethod constructor)
                         throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeEmptyFieldInitializerMethod

protected void writeEmptyFieldInitializerMethod(com.google.gwt.core.ext.TreeLogger logger,
                                                java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors,
                                                com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
                                         throws com.google.gwt.core.ext.UnableToCompleteException
Provides a method to encapsulate empty field initialization.

Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeEmptyFieldInitializers

protected void writeEmptyFieldInitializers(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
                                    throws com.google.gwt.core.ext.UnableToCompleteException
Ensures that no field referenced by generated logic will ever return an undefined value. This allows every subsequent getFoo() call to simply return the field value, without having to check it for an undefined value.

Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeFixups

protected void writeFixups(com.google.gwt.core.ext.TreeLogger logger,
                           com.google.gwt.core.ext.typeinfo.TypeOracle typeOracle,
                           com.google.gwt.user.rebind.SourceWriter sw,
                           java.util.Set<com.google.gwt.core.ext.typeinfo.JClassType> creatorFixups)
                    throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeGetter

protected void writeGetter(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                           com.google.gwt.core.ext.typeinfo.JMethod getter)
                    throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeImported

protected void writeImported(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                             com.google.gwt.core.ext.typeinfo.JMethod imported)
                      throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeMethodBindings

protected void writeMethodBindings(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context)
                            throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeMethods

protected void writeMethods(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                            java.util.Map<java.lang.String,com.google.gwt.maps.jsio.rebind.Task> propertyAccessors)
                     throws com.google.gwt.core.ext.UnableToCompleteException
Write the field, getter, and setter for the properties we know about. Also write BusObjectImpl methods for Map-style access.

Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeSetter

protected void writeSetter(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                           com.google.gwt.core.ext.typeinfo.JMethod setter)
                    throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException

writeSingleTask

protected void writeSingleTask(com.google.gwt.maps.jsio.rebind.FragmentGeneratorContext context,
                               com.google.gwt.maps.jsio.rebind.Task task)
                        throws com.google.gwt.core.ext.UnableToCompleteException
Throws:
com.google.gwt.core.ext.UnableToCompleteException