public abstract class AbstractClientBundleGenerator
extends com.google.gwt.core.ext.IncrementalGenerator
The general structure of the generated class is as follows:
private void resourceInitializer() { resource = new Resource(); } private static class cellTreeClosedItemInitializer { // Using a static initializer so the compiler can optimize clinit calls. // Refers back to an instance method. See comment below. static { _instance0.resourceInitializer(); } static ResourceType get() { return resource; } } public ResourceType resource() { return cellTreeClosedItemInitializer.get(); } // Other ResourceGenerator-defined fields private static ResourceType resource; private static HashMap<String, ResourcePrototype> resourceMap; public ResourcePrototype[] getResources() { return new ResourcePrototype[] { resource() }; } public ResourcePrototype getResource(String name) { if (GWT.isScript()) { return getResourceNative(name); } else { if (resourceMap == null) { resourceMap = new HashMapThe instantiation of the individual ResourcePrototypes is done in the content of an instance of the ClientBundle type so that resources can refer to one another by simply emitting a call to(); resourceMap.put("resource", resource()); } return resourceMap.get(name); } } private native ResourcePrototype getResourceNative(String name) /-{ switch (name) { case 'resource': return this.@...::resource()(); } return null; }-/
resource()
.Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractClientBundleGenerator.FieldsImpl
An implementation of ClientBundleFields.
|
Constructor and Description |
---|
AbstractClientBundleGenerator() |
Modifier and Type | Method and Description |
---|---|
protected abstract AbstractResourceContext |
createResourceContext(com.google.gwt.core.ext.TreeLogger logger,
com.google.gwt.core.ext.GeneratorContext context,
com.google.gwt.core.ext.typeinfo.JClassType resourceBundleType)
Create the ResourceContext object that will be used by
ResourceGenerator subclasses. |
protected void |
doAddFieldsAndRequirements(com.google.gwt.core.ext.TreeLogger logger,
com.google.gwt.core.ext.GeneratorContext context,
AbstractClientBundleGenerator.FieldsImpl fields,
ClientBundleRequirements requirements)
Provides a hook for subtypes to add additional fields or requirements to
the bundle.
|
protected void |
doCreateBundleForPermutation(com.google.gwt.core.ext.TreeLogger logger,
com.google.gwt.core.ext.GeneratorContext generatorContext,
AbstractClientBundleGenerator.FieldsImpl fields,
String generatedSimpleSourceName)
This method is called after the ClientBundleRequirements have been
evaluated and a new ClientBundle implementation is being created.
|
protected void |
doFinish(com.google.gwt.core.ext.TreeLogger logger)
Provides a hook for finalizing generated resources.
|
com.google.gwt.core.ext.RebindResult |
generateIncrementally(com.google.gwt.core.ext.TreeLogger logger,
com.google.gwt.core.ext.GeneratorContext generatorContext,
String typeName) |
long |
getVersionId() |
public com.google.gwt.core.ext.RebindResult generateIncrementally(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.GeneratorContext generatorContext, String typeName) throws com.google.gwt.core.ext.UnableToCompleteException
generateIncrementally
in class com.google.gwt.core.ext.IncrementalGenerator
com.google.gwt.core.ext.UnableToCompleteException
public long getVersionId()
getVersionId
in class com.google.gwt.core.ext.IncrementalGenerator
protected abstract AbstractResourceContext createResourceContext(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.GeneratorContext context, com.google.gwt.core.ext.typeinfo.JClassType resourceBundleType) throws com.google.gwt.core.ext.UnableToCompleteException
ResourceGenerator
subclasses. This is the primary way to implement
custom logic in the resource generation pass.com.google.gwt.core.ext.UnableToCompleteException
protected void doAddFieldsAndRequirements(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.GeneratorContext context, AbstractClientBundleGenerator.FieldsImpl fields, ClientBundleRequirements requirements) throws com.google.gwt.core.ext.UnableToCompleteException
logger
- a TreeLoggercontext
- the GeneratorContextfields
- ClentBundle fieldsrequirements
- ClientBundleRequirementscom.google.gwt.core.ext.UnableToCompleteException
- if an error occurs.protected void doCreateBundleForPermutation(com.google.gwt.core.ext.TreeLogger logger, com.google.gwt.core.ext.GeneratorContext generatorContext, AbstractClientBundleGenerator.FieldsImpl fields, String generatedSimpleSourceName) throws com.google.gwt.core.ext.UnableToCompleteException
logger
- a TreeLoggergeneratorContext
- the GeneratoContextfields
- ClientBundle fieldsgeneratedSimpleSourceName
- a Stringcom.google.gwt.core.ext.UnableToCompleteException
- if an error occurs.protected void doFinish(com.google.gwt.core.ext.TreeLogger logger) throws com.google.gwt.core.ext.UnableToCompleteException
logger
- a TreeLoggercom.google.gwt.core.ext.UnableToCompleteException
- if an error occurs.Copyright © 2016. All rights reserved.