|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ResourceGenerator
Encapsulates per-type resource generation logic. This type is used only by
developers who wish to add additional resource types to the resource
generation system. Implementations are paired with one or more interfaces
derived from ResourcePrototype that have been annotated with an
ResourceGeneratorType
annotation. Instances of ResourceGenerator must
support default-instantiation (i.e. via Class.newInstance()
).
The methods on an instance of ResourceGenerator will be called in the following order by the resource generation system:
init(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext)
prepare(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.resources.ext.ClientBundleRequirements, com.google.gwt.core.ext.typeinfo.JMethod)
once for each methodfinish(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext)
.createFields(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.resources.ext.ClientBundleFields)
createAssignment(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.core.ext.typeinfo.JMethod)
once for each methodfinish(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext)
The methods prepare(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.resources.ext.ClientBundleRequirements, com.google.gwt.core.ext.typeinfo.JMethod)
and createAssignment(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.core.ext.typeinfo.JMethod)
will be called
only with those methods whose ResourcePrototype-derived type specifies the
particular type of ResourceGenerator as the implementor. The relative order
in which ResourceGenerators are invoked and the specific order in which the
bundle's methods are presented is undefined.
Direct access to the contents of the generated bundle implementation is intentionally limited to prevent unrelated ResourceGenerators from potentially creating namespace conflicts or generating invalid Java source.
ResourceGeneratorUtil
Method Summary | |
---|---|
java.lang.String |
createAssignment(TreeLogger logger,
ResourceContext context,
JMethod method)
Produce the right-hand-side of a Java assignment expression to provide the singleton instance object for a particular resource. |
void |
createFields(TreeLogger logger,
ResourceContext context,
ClientBundleFields fields)
The ResourceGenerator can create fields within the implementation of the bundle type. |
void |
finish(TreeLogger logger,
ResourceContext context)
Called at the end of the resource generation phase and can be used to perform cleanup. |
void |
init(TreeLogger logger,
ResourceContext context)
Initialize the ResourceGenerator with the generation context that will remain valid for the duration of the resource-generation phase. |
void |
prepare(TreeLogger logger,
ResourceContext context,
ClientBundleRequirements requirements,
JMethod method)
Called once for each method the ResourceGenerator is expected to handle. |
Method Detail |
---|
java.lang.String createAssignment(TreeLogger logger, ResourceContext context, JMethod method) throws UnableToCompleteException
Example:
new MySampleResource() { public Foo getFoo() { ... } }
UnableToCompleteException
void createFields(TreeLogger logger, ResourceContext context, ClientBundleFields fields) throws UnableToCompleteException
The Fields instance should not be retained beyond the lifetime of this method as operation on this object is not defined after the implementation of this method returns.
UnableToCompleteException
void finish(TreeLogger logger, ResourceContext context) throws UnableToCompleteException
UnableToCompleteException
void init(TreeLogger logger, ResourceContext context) throws UnableToCompleteException
UnableToCompleteException
void prepare(TreeLogger logger, ResourceContext context, ClientBundleRequirements requirements, JMethod method) throws UnableToCompleteException
UnableToCompleteException
|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |