public interface

ResourceContext

com.google.gwt.resources.ext.ResourceContext
Known Indirect Subclasses

Class Overview

Context object for ResourceGenerators. An instance of this type will be provided by the resource generation framework to implementations of ResourceGenerator via init(TreeLogger, ResourceContext). Because this interface is not intended to be implemented by end-users, the API provided by this interface may be extended in the future.

Depending on the optimizations made by the implementation of deploy(String, String, byte[], boolean), the resulting URL may or may not be compatible with standard RequestBuilder / XMLHttpRequest security semantics. If the resource is intended to be used with XHR, or if there are other reasons why embedding the resource is undesirable such as known incompatibilities, the forceExternal parameter should be set to true when invoking deploy(String, String, byte[], boolean).

Summary

Public Methods
abstract String deploy(URL resource, String mimeType, boolean forceExternal)
Cause a specific collection of bytes to be available in the program's compiled output.
abstract String deploy(String suggestedFileName, String mimeType, byte[] data, boolean forceExternal)
Cause a specific collection of bytes to be available in the program's compiled output.
abstract String deploy(URL resource, boolean forceExternal)
This method is deprecated. use deploy(URL, String, boolean) instead
abstract <T> T getCachedData(String key, Class<T> clazz)
Retrieve data from the ResourceContext.
abstract JClassType getClientBundleType()
Return the interface type of the resource bundle being generated.
abstract GeneratorContext getGeneratorContext()
Return the GeneratorContext in which the overall resource generation framework is being run.
abstract String getImplementationSimpleSourceName()
Returns the simple source name of the implementation of the bundle being generated.
abstract <T> boolean putCachedData(String key, T value)
Store data in the ResourceContext.
abstract boolean supportsDataUrls()
Indicates if the runtime context supports data: urls.

Public Methods

public abstract String deploy (URL resource, String mimeType, boolean forceExternal)

Cause a specific collection of bytes to be available in the program's compiled output. The return value of this method is a Java expression which will evaluate to the location of the resource at runtime. The exact format should not be depended upon.

Parameters
resource the resource to add to the compiled output
mimeType optional MIME Type to be used for an embedded resource
forceExternal prevents embedding of the resource, e.g. in case of known incompatibilities or for example to enforce compatibility with security restrictions if the resource is intended to be accessed via an XMLHttpRequest
Returns
  • a Java expression which will evaluate to the location of the provided resource at runtime
Throws
UnableToCompleteException

public abstract String deploy (String suggestedFileName, String mimeType, byte[] data, boolean forceExternal)

Cause a specific collection of bytes to be available in the program's compiled output. The return value of this method is a Java expression which will evaluate to the location of the resource at runtime. The exact format should not be depended upon.

Parameters
suggestedFileName an unobfuscated filename to possibly use for the resource
mimeType the MIME type of the data being provided
data the bytes to add to the output
forceExternal prevents embedding of the resource, e.g. in case of known incompatibilities or for example to enforce compatibility with security restrictions if the resource is intended to be accessed via an XMLHttpRequest
Returns
  • a Java expression which will evaluate to the location of the provided resource at runtime
Throws
UnableToCompleteException

public abstract String deploy (URL resource, boolean forceExternal)

This method is deprecated.
use deploy(URL, String, boolean) instead

Cause a specific collection of bytes to be available in the program's compiled output. The return value of this method is a Java expression which will evaluate to the location of the resource at runtime. The exact format should not be depended upon.

Parameters
resource the resource to add to the compiled output
forceExternal prevents embedding of the resource, e.g. in case of known incompatibilities or for example to enforce compatibility with security restrictions if the resource is intended to be accessed via an XMLHttpRequest
Returns
  • a Java expression which will evaluate to the location of the provided resource at runtime
Throws
UnableToCompleteException

public abstract T getCachedData (String key, Class<T> clazz)

Retrieve data from the ResourceContext.

Parameters
key the key value passed to getCachedData(String, Class)
clazz the type to which the cached value must be assignable
Returns
Throws
ClassCastException if the cached data is not assignable to the specified type

public abstract JClassType getClientBundleType ()

Return the interface type of the resource bundle being generated.

public abstract GeneratorContext getGeneratorContext ()

Return the GeneratorContext in which the overall resource generation framework is being run. Implementations of ResourceGenerator should prefer deploy(String, String, byte[], boolean) over tryCreateResource(TreeLogger, String) in order to take advantage of serving optimizations that can be performed by the bundle architecture.

public abstract String getImplementationSimpleSourceName ()

Returns the simple source name of the implementation of the bundle being generated. This can be used during code-generation to refer to the instance of the bundle (e.g. via SimpleSourceName.this).

public abstract boolean putCachedData (String key, T value)

Store data in the ResourceContext. ResourceGenerators may reduce the amount of recomputation performed by caching data the ResourceContext. This cache will be invalidated when the compiler's TypeOracle is refreshed or replaced. Each ResourceGenerator has an isolated view of the cache.

Parameters
key a string key to locate the data
value the value to store
Returns
  • true if the cache did not previously contain the key-value pair

public abstract boolean supportsDataUrls ()

Indicates if the runtime context supports data: urls. When data URLs are supported by the context, aggregation of resource data into larger payloads is discouraged, as it offers reduced benefit to the application at runtime.