Interface JavaScriptStack

A high level description of a group of related JavaScript libraries and stylesheets. The built-in "core"
stack is used to define the core JavaScript libraries needed by Tapestry (though this has been largely replaced by
JavaScript modules in Tapestry 5.4,
and the may be no libraries in the core stack by Tapestry 5.5). Other component libraries may
define additional stacks for related sets of resources, for example, to bundle together some portion
of the ExtJS or YUI libraries.
The JavaScript assets of a stack may (when enabled) be exposed to the
client as a single URL (identifying the stack by name). The individual JavaScript assets are combined into a single virtual
asset, which is then streamed to the client. The individual JavaScript libraries, or the combined virtual library,
may be minimized and the content (both compressed and
uncompressed) cached.
Implementations may need to inject the ThreadLocale service in order to determine the current locale (if any
of the JavaScript library or stylesheet assets are localized). They will generally need to inject the
AssetSource service as well.
The ExtensibleJavaScriptStack is the best way to create new stacks.

Method Detail

getStacks

Returns a list of JavaScriptStack names that this stack depends on. Each stack will be processed before
the current stack (thus a dependency stack's libraries, stylesheets and initialization is emitted before
the dependent stack).

getInitialization

Deprecated.Deprecated in Tapestry 5.4; may be removed in a future release. Implementations
may return null.

Returns static JavaScript initialization for the stack. This block of JavaScript code will be added to the
page that imports the stack. The code executes outside of any other function (i.e., the code is not deferred
until the DOM is loaded). As with the other methods, if localization is a factor, the result of this method
should be localized.