public abstract class UnifyMinifyFilter extends Filter
Filter
that automatically unifies and/or minifies source files,
saving them as a single file. Unifying them allows clients to retrieve the
source via one request rather than many. Minifying them makes their retrieval
faster.
This filter can track changes to the source files, updating the result file on-the-fly. This makes it easy to develop and debug a live site.
Note that the files from the source directories are gathered recursively, so that files in all subdirectories will also be included.
Note that this instances of this class can only guarantee atomic access to the unified/minified version within the current VM.
Modifier and Type | Field and Description |
---|---|
String |
minifiedSourceExtension
The minified source extension .
|
String |
sourceExtension
The source extension.
|
String |
unifiedFilename
The unified filename.
|
String |
unifiedMinifiedFilename
The unified-minified filename.
|
Constructor and Description |
---|
UnifyMinifyFilter(Context context,
File targetDirectory,
long minimumTimeBetweenValidityChecks,
String sourceExtension,
String minifiedSourceExtension,
String unifiedFilename)
Constructor.
|
UnifyMinifyFilter(Context context,
Restlet next,
File targetDirectory,
long minimumTimeBetweenValidityChecks,
String sourceExtension,
String minifiedSourceExtension,
String unifiedFilename)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected int |
beforeHandle(Request request,
Response response) |
long |
getMinimumTimeBetweenValidityChecks()
A value of -1 disables all validity checking.
|
Set<File> |
getSourceDirectories()
The directories where the sources are found.
|
protected abstract void |
minify(InputStream in,
OutputStream out)
Minifies the stream.
|
void |
setMinimumTimeBetweenValidityChecks(long minimumTimeBetweenValidityChecks) |
String |
toString() |
void |
unify(File targetDirectory,
boolean minify)
Unifies all source files in the directory in they are newer than the
target, optionally minifying them as
|
afterHandle, doHandle, getNext, handle, hasNext, setNext, setNext, start, stop
createFinder, finalize, getApplication, getAuthor, getContext, getDescription, getFinderClass, getLogger, getName, getOwner, handle, handle, handle, isStarted, isStopped, setAuthor, setContext, setDescription, setFinderClass, setName, setOwner
public final String sourceExtension
public final String minifiedSourceExtension
public final String unifiedFilename
public final String unifiedMinifiedFilename
public UnifyMinifyFilter(Context context, File targetDirectory, long minimumTimeBetweenValidityChecks, String sourceExtension, String minifiedSourceExtension, String unifiedFilename)
context
- The contexttargetDirectory
- The directory into which unified-minified results should be
writtenminimumTimeBetweenValidityChecks
- See getMinimumTimeBetweenValidityChecks()
sourceExtension
- The source extensionminifiedSourceExtension
- The minified source extension (comes before the source extension
for minified versions)unifiedFilename
- The unified filename (the source extension is appended to it)public UnifyMinifyFilter(Context context, Restlet next, File targetDirectory, long minimumTimeBetweenValidityChecks, String sourceExtension, String minifiedSourceExtension, String unifiedFilename)
context
- The contextnext
- The next restlettargetDirectory
- The directory into which unified-minified results should be
writtenminimumTimeBetweenValidityChecks
- See getMinimumTimeBetweenValidityChecks()
sourceExtension
- The source extensionminifiedSourceExtension
- The minified source extension (comes before the source extension
for minified versions)unifiedFilename
- The unified filename (the source extension is appended to it)public Set<File> getSourceDirectories()
The set is thread-safe.
public long getMinimumTimeBetweenValidityChecks()
setMinimumTimeBetweenValidityChecks(long)
public void setMinimumTimeBetweenValidityChecks(long minimumTimeBetweenValidityChecks)
minimumTimeBetweenValidityChecks
- The minimum time between validity checks in millisecondsgetMinimumTimeBetweenValidityChecks()
public void unify(File targetDirectory, boolean minify) throws IOException
targetDirectory
- The directory into which unified-minified results should be
writtenminify
- Whether to minify the resultIOException
- In case of a filesystem errorprotected int beforeHandle(Request request, Response response)
beforeHandle
in class Filter
protected abstract void minify(InputStream in, OutputStream out) throws IOException
in
- Input streamout
- Output streamIOException
- In case of a reading or writing errorCopyright © 2009-2016 Three Crickets LLC.