org.loom.resources
Class DefaultWebResourceBundle

java.lang.Object
  extended by org.loom.resources.DefaultWebResourceBundle
All Implemented Interfaces:
WebResourceBundle
Direct Known Subclasses:
ReloadableWebResourceBundle

public class DefaultWebResourceBundle
extends java.lang.Object
implements WebResourceBundle


Field Summary
protected  java.util.Map<java.lang.String,CompiledWebResource> compiledWebResources
          the list of compiled web resources to serve.
protected  WebResourceCompiler compiler
          the compiler to use
protected  java.util.Map<java.lang.String,CssResource> cssResources
          if type == CSS, this is the list of images referenced by url() attributes in the CSS files.
protected  java.lang.String name
          the name of this instance
protected  java.util.Set<org.springframework.core.io.Resource> resources
          the list of source resource locations
protected  WebResourceType type
          the type of this bundle
 
Fields inherited from interface org.loom.resources.WebResourceBundle
PROD_RESOURCE_NAME
 
Constructor Summary
DefaultWebResourceBundle()
           
 
Method Summary
protected  CompilationResult compile()
          this.compiledWebResources is not transient on purpose, since double instantiation is not really a problem.
 CompiledWebResource getCompiledWebResource(java.lang.String name)
          Returns the compiled web resource (a JS/CSS file).
 java.util.Map<java.lang.String,CompiledWebResource> getCompiledWebResources()
           
 CssResource getCssResource(java.lang.String name)
          Return an external resource referenced from one of the CSS stylesheets (url() attribute) contained in this bundle
 java.util.Map<java.lang.String,CssResource> getCssResources()
           
 java.lang.String getName()
           
 WebResourceType getType()
          Return the type of this bundle (js/css)
 void render(AbstractWebResourceTag tag)
          Write the tag or tags for this bundle
 void setCompiler(WebResourceCompiler compiler)
           
 void setName(java.lang.String name)
           
 void setResources(java.util.Set<org.springframework.core.io.Resource> resources)
           
 void setType(WebResourceType type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
the name of this instance


resources

protected java.util.Set<org.springframework.core.io.Resource> resources
the list of source resource locations


type

protected WebResourceType type
the type of this bundle


compiler

protected WebResourceCompiler compiler
the compiler to use


compiledWebResources

protected java.util.Map<java.lang.String,CompiledWebResource> compiledWebResources
the list of compiled web resources to serve. compiledWebResources.length != resources.length


cssResources

protected java.util.Map<java.lang.String,CssResource> cssResources
if type == CSS, this is the list of images referenced by url() attributes in the CSS files. The key value is the name of the image url For JS bundles its value is null

Constructor Detail

DefaultWebResourceBundle

public DefaultWebResourceBundle()
Method Detail

render

public void render(AbstractWebResourceTag tag)
            throws javax.servlet.jsp.JspException,
                   java.io.IOException
Description copied from interface: WebResourceBundle
Write the tag or tags for this bundle

Specified by:
render in interface WebResourceBundle
Throws:
javax.servlet.jsp.JspException
java.io.IOException

compile

protected CompilationResult compile()
this.compiledWebResources is not transient on purpose, since double instantiation is not really a problem. We're just trying to be clean here, but without hurting performance for the common case.


getCompiledWebResource

public CompiledWebResource getCompiledWebResource(java.lang.String name)
Description copied from interface: WebResourceBundle
Returns the compiled web resource (a JS/CSS file). If name is null (production mode), returns the first resource in this bundle which should contain the full contents of the bundle in a single, minified file.

Specified by:
getCompiledWebResource in interface WebResourceBundle

getCssResource

public CssResource getCssResource(java.lang.String name)
Description copied from interface: WebResourceBundle
Return an external resource referenced from one of the CSS stylesheets (url() attribute) contained in this bundle

Specified by:
getCssResource in interface WebResourceBundle
Parameters:
name - the name of the resource
Returns:
the resource (image file)

setResources

public void setResources(java.util.Set<org.springframework.core.io.Resource> resources)

getType

public WebResourceType getType()
Description copied from interface: WebResourceBundle
Return the type of this bundle (js/css)

Specified by:
getType in interface WebResourceBundle

setType

public void setType(WebResourceType type)

setName

public void setName(java.lang.String name)

setCompiler

public void setCompiler(WebResourceCompiler compiler)

getName

public java.lang.String getName()
Specified by:
getName in interface WebResourceBundle

getCompiledWebResources

public java.util.Map<java.lang.String,CompiledWebResource> getCompiledWebResources()

getCssResources

public java.util.Map<java.lang.String,CssResource> getCssResources()