org.loom.resources
Class AbstractWebResourceCompiler

java.lang.Object
  extended by org.loom.resources.AbstractWebResourceCompiler
All Implemented Interfaces:
WebResourceCompiler
Direct Known Subclasses:
InMemoryWebResourceCompiler, ToDiskWebResourceCompiler

public abstract class AbstractWebResourceCompiler
extends java.lang.Object
implements WebResourceCompiler


Field Summary
protected  java.lang.String charset
          the charset to use
protected  WebResourceCompressor compressor
          the compressor to use
protected  boolean development
          if true, do not concatenate or obfuscate results
protected static java.util.regex.Pattern INCLUDE_PATTERN
          pattern of any \@include directive
protected  org.springframework.core.io.ResourceLoader resourceLoader
           
protected  WebResourceType type
          the type of resources processed by this compiler
protected static java.util.regex.Pattern URL_PATTERN
          pattern of CSS url() attributes
 
Fields inherited from interface org.loom.resources.WebResourceCompiler
CSS, JS
 
Constructor Summary
AbstractWebResourceCompiler()
           
 
Method Summary
protected  void addResource(java.util.Set<org.springframework.core.io.Resource> processedResources, org.springframework.core.io.Resource resource)
          Adds a resource after processing any \@include directives
 CompilationResult compile(java.lang.String webResourceBundleName, java.util.Collection<org.springframework.core.io.Resource> resources)
           
protected  CompilationResult compileDev(java.util.Collection<org.springframework.core.io.Resource> resources)
           
protected  CompilationResult compileProd(java.lang.String webResourceBundleName, java.util.Collection<org.springframework.core.io.Resource> resources)
           
protected  CompiledWebResource createCompiledWebResource(java.lang.String name, java.lang.String contents)
           
protected abstract  CompiledWebResource createCompiledWebResource(java.lang.String name, java.lang.String md5, java.lang.String contents, byte[] gzippedContents)
          Create a CompiledWebResource
protected  java.util.Collection<org.springframework.core.io.Resource> preprocess(java.util.Collection<org.springframework.core.io.Resource> resources)
           
protected  java.lang.String replaceCssUrls(CompilationResult result, org.springframework.core.io.Resource rootResource, java.lang.String css)
           
 void setCompressor(WebResourceCompressor compressor)
           
 void setDevelopment(boolean development)
           
 void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
           
 void setType(WebResourceType type)
           
protected  java.lang.String transformRelativeCssUrl(CompilationResult result, org.springframework.core.io.Resource rootResource, java.lang.String url)
          Transforms a relative image URL into an alternative that will be delivered through ResourcesAction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INCLUDE_PATTERN

protected static final java.util.regex.Pattern INCLUDE_PATTERN
pattern of any \@include directive


URL_PATTERN

protected static final java.util.regex.Pattern URL_PATTERN
pattern of CSS url() attributes


resourceLoader

@Inject
protected org.springframework.core.io.ResourceLoader resourceLoader

development

protected boolean development
if true, do not concatenate or obfuscate results


compressor

protected WebResourceCompressor compressor
the compressor to use


charset

protected java.lang.String charset
the charset to use


type

protected WebResourceType type
the type of resources processed by this compiler

Constructor Detail

AbstractWebResourceCompiler

public AbstractWebResourceCompiler()
Method Detail

compile

public final CompilationResult compile(java.lang.String webResourceBundleName,
                                       java.util.Collection<org.springframework.core.io.Resource> resources)
Specified by:
compile in interface WebResourceCompiler

compileDev

protected CompilationResult compileDev(java.util.Collection<org.springframework.core.io.Resource> resources)
                                throws java.io.IOException
Throws:
java.io.IOException

compileProd

protected CompilationResult compileProd(java.lang.String webResourceBundleName,
                                        java.util.Collection<org.springframework.core.io.Resource> resources)
                                 throws java.io.IOException
Throws:
java.io.IOException

createCompiledWebResource

protected CompiledWebResource createCompiledWebResource(java.lang.String name,
                                                        java.lang.String contents)
                                                 throws java.io.IOException
Throws:
java.io.IOException

replaceCssUrls

protected java.lang.String replaceCssUrls(CompilationResult result,
                                          org.springframework.core.io.Resource rootResource,
                                          java.lang.String css)
                                   throws java.io.IOException
Throws:
java.io.IOException

transformRelativeCssUrl

protected java.lang.String transformRelativeCssUrl(CompilationResult result,
                                                   org.springframework.core.io.Resource rootResource,
                                                   java.lang.String url)
                                            throws java.io.IOException
Transforms a relative image URL into an alternative that will be delivered through ResourcesAction

Throws:
java.io.IOException

createCompiledWebResource

protected abstract CompiledWebResource createCompiledWebResource(java.lang.String name,
                                                                 java.lang.String md5,
                                                                 java.lang.String contents,
                                                                 byte[] gzippedContents)
                                                          throws java.io.IOException
Create a CompiledWebResource

Parameters:
name - the name of the web resource
md5 - the md5 checksum
contents - the contents of the file
gzippedContents - the gzipped contents of the file
Throws:
java.io.IOException

preprocess

protected java.util.Collection<org.springframework.core.io.Resource> preprocess(java.util.Collection<org.springframework.core.io.Resource> resources)
                                                                         throws java.io.IOException
Throws:
java.io.IOException

addResource

protected void addResource(java.util.Set<org.springframework.core.io.Resource> processedResources,
                           org.springframework.core.io.Resource resource)
                    throws java.io.IOException
Adds a resource after processing any \@include directives

Throws:
java.io.IOException

setResourceLoader

public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)

setDevelopment

public void setDevelopment(boolean development)
Specified by:
setDevelopment in interface WebResourceCompiler

setType

public void setType(WebResourceType type)

setCompressor

public void setCompressor(WebResourceCompressor compressor)