Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.resources.ext
Interface ResourceContext

    public interface ResourceContext

Context object for ResourceGenerators. An instance of this type will be provided by the resource generation framework to implementations of ResourceGenerator via `ResourceGenerator.init(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.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(java.lang.String, java.lang.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, the `xhrCompatible` paramater should be set to `true` when invoking `deploy(java.lang.String, java.lang.String, byte[], boolean)`.

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

Method Detail

### deploy

    java.lang.String deploy(java.lang.String suggestedFileName,
                            java.lang.String mimeType,
                            byte[] data,
                            boolean xhrCompatible)
                            throws UnableToCompleteException

  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
    `xhrCompatible` - enforces 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`

### deploy

    java.lang.String deploy(java.net.URL resource,
                            boolean xhrCompatible)
                            throws UnableToCompleteException

  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
    `xhrCompatible` - enforces 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`

### getCachedData

    <T> T getCachedData(java.lang.String key,
                        java.lang.Class<T> clazz)

  Retrieve data from the ResourceContext.

  Type Parameters:
    `T` - the type of data to retrieve
  Parameters:
    `key` - the key value passed to `getCachedData(java.lang.String, java.lang.Class)`
    `clazz` - the type to which the cached value must be assignable
  Returns:
    the value previously passed to `putCachedData(java.lang.String, T)` or `null` if the data was not found
  Throws:
    `java.lang.ClassCastException` - if the cached data is not assignable to the specified type

### getClientBundleType

    JClassType getClientBundleType()

  Return the interface type of the resource bundle being generated.

### getGeneratorContext

    GeneratorContext getGeneratorContext()

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

### getImplementationSimpleSourceName

    java.lang.String getImplementationSimpleSourceName()
                                                       throws java.lang.IllegalStateException

  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`).

  Throws:
    `java.lang.IllegalStateException` - if this method is called during `ResourceGenerator.init(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext)` or `ResourceGenerator.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)` methods.

### putCachedData

    <T> boolean putCachedData(java.lang.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.

  Type Parameters:
    `T` - the type of data being stored
  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

### supportsDataUrls

    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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD