de.stueckseln.buildtools.jsbuild
Class AbstractJsBuilder

java.lang.Object
  extended by de.stueckseln.buildtools.jsbuild.AbstractJsBuilder
Direct Known Subclasses:
JsBuilder

public abstract class AbstractJsBuilder
extends java.lang.Object

This abstract class will compress configured modules. The abstract method parseModules() has to be implemented in a derived class. That method should parse/load a configuration and store it in a list of modules.

Author:
Thomas Lehmann
See Also:
JsModule

Field Summary
protected  java.lang.String appendString
           
protected  java.lang.String builtOrderList
           
protected  java.lang.String builtPostfix
           
protected  boolean compressEnabled
           
protected  java.lang.String descriptorFile
           
protected  Logger LOG
           
protected  java.util.List<JsModule> modules
           
static java.lang.String NAME_BUILT_POSTFIX
           
static java.lang.String NAME_ORDERLIST_POSTFIX
           
static java.lang.String NAME_TMP_PRECOMPESS_POSTFIX
           
protected  boolean overwriteExisting
           
static char PATHSEP
           
protected  java.lang.String prependString
           
protected  char sep
           
protected  boolean showCompressorWarnings
           
protected  boolean showInfos
           
protected  java.lang.String sourceDirectory
           
protected  java.lang.String targetDirectory
           
protected  int yuiLinebreak
           
protected  boolean yuiNoMunge
           
protected  boolean yuiNoOpts
           
protected  boolean yuiPreserveSemicolons
           
 
Constructor Summary
AbstractJsBuilder()
          Initialize this instance with System.out as default output for logger
AbstractJsBuilder(Logger logger)
          Initialize this instance with a Logger
 
Method Summary
 void build()
          Run build.
 java.lang.String getAppendString()
           
 java.lang.String getBuiltOrderList()
           
 java.lang.String getBuiltPostfix()
           
 java.lang.String getModulesFile()
           
 java.lang.String getPrependString()
           
 java.lang.String getSourceDirectory()
           
 java.lang.String getTargetDirectory()
           
 int getYuiLinebreak()
           
 boolean isCompressEnabled()
           
 boolean isOverwriteExisting()
           
 boolean isShowCompressorWarnings()
           
 boolean isShowInfos()
           
 boolean isYuiNoMunge()
          Returns the current value for parameter no-munge for YUI compressor
 boolean isYuiNoOpts()
           
 boolean isYuiPreserveSemicolons()
           
protected abstract  void parseModules()
           
protected  void processModule(JsModule module)
          Process a given module
 void setAppendString(java.lang.String appendString)
           
 void setBuiltOrderList(java.lang.String builtOrderList)
           
 void setBuiltPostfix(java.lang.String builtPostfix)
           
 void setCompressEnabled(boolean compressEnabled)
           
 void setModulesFile(java.lang.String modulesFile)
           
 void setOverwriteExisting(boolean overwriteExisting)
           
 void setPrependString(java.lang.String prependString)
           
 void setShowCompressorWarnings(boolean showCompressorWarnings)
           
 void setShowInfos(boolean showInfos)
           
 void setSourceDirectory(java.lang.String sourceDirectory)
           
 void setTargetDirectory(java.lang.String targetDirectory)
           
 void setYuiLinebreak(int yuiLinebreak)
           
 void setYuiNoMunge(boolean yuiNoMunge)
          Set parameter no-munge for YUI compressor Unless of it's name this method should be set to true to compress code
 void setYuiNoOpts(boolean yuiNoOpts)
           
 void setYuiPreserveSemicolons(boolean yuiPreserveSemicolons)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PATHSEP

public static final char PATHSEP
See Also:
Constant Field Values

NAME_BUILT_POSTFIX

public static final java.lang.String NAME_BUILT_POSTFIX
See Also:
Constant Field Values

NAME_ORDERLIST_POSTFIX

public static final java.lang.String NAME_ORDERLIST_POSTFIX
See Also:
Constant Field Values

NAME_TMP_PRECOMPESS_POSTFIX

public static final java.lang.String NAME_TMP_PRECOMPESS_POSTFIX
See Also:
Constant Field Values

sep

protected char sep

sourceDirectory

protected java.lang.String sourceDirectory

targetDirectory

protected java.lang.String targetDirectory

descriptorFile

protected java.lang.String descriptorFile

builtPostfix

protected java.lang.String builtPostfix

builtOrderList

protected java.lang.String builtOrderList

prependString

protected java.lang.String prependString

appendString

protected java.lang.String appendString

compressEnabled

protected boolean compressEnabled

showCompressorWarnings

protected boolean showCompressorWarnings

showInfos

protected boolean showInfos

yuiNoMunge

protected boolean yuiNoMunge

yuiNoOpts

protected boolean yuiNoOpts

yuiPreserveSemicolons

protected boolean yuiPreserveSemicolons

yuiLinebreak

protected int yuiLinebreak

overwriteExisting

protected boolean overwriteExisting

LOG

protected Logger LOG

modules

protected java.util.List<JsModule> modules
Constructor Detail

AbstractJsBuilder

public AbstractJsBuilder(Logger logger)
                  throws JsBuilderException
Initialize this instance with a Logger

Parameters:
logger - the logger to use
Throws:
JsBuilderException

AbstractJsBuilder

public AbstractJsBuilder()
                  throws JsBuilderException
Initialize this instance with System.out as default output for logger

Throws:
JsBuilderException
Method Detail

isCompressEnabled

public boolean isCompressEnabled()

setCompressEnabled

public void setCompressEnabled(boolean compressEnabled)

isShowCompressorWarnings

public boolean isShowCompressorWarnings()

setShowCompressorWarnings

public void setShowCompressorWarnings(boolean showCompressorWarnings)

isShowInfos

public boolean isShowInfos()

setShowInfos

public void setShowInfos(boolean showInfos)

isYuiNoMunge

public boolean isYuiNoMunge()
Returns the current value for parameter no-munge for YUI compressor

Returns:
true if parameter no-munge is set (to true)

setYuiNoMunge

public void setYuiNoMunge(boolean yuiNoMunge)
Set parameter no-munge for YUI compressor Unless of it's name this method should be set to true to compress code

Parameters:
yuiNoMunge - new value for no-munge

isYuiNoOpts

public boolean isYuiNoOpts()

setYuiNoOpts

public void setYuiNoOpts(boolean yuiNoOpts)

isYuiPreserveSemicolons

public boolean isYuiPreserveSemicolons()

setYuiPreserveSemicolons

public void setYuiPreserveSemicolons(boolean yuiPreserveSemicolons)

getYuiLinebreak

public int getYuiLinebreak()

setYuiLinebreak

public void setYuiLinebreak(int yuiLinebreak)

isOverwriteExisting

public boolean isOverwriteExisting()

setOverwriteExisting

public void setOverwriteExisting(boolean overwriteExisting)

getSourceDirectory

public java.lang.String getSourceDirectory()

setSourceDirectory

public void setSourceDirectory(java.lang.String sourceDirectory)

getTargetDirectory

public java.lang.String getTargetDirectory()

setTargetDirectory

public void setTargetDirectory(java.lang.String targetDirectory)

getModulesFile

public java.lang.String getModulesFile()

setModulesFile

public void setModulesFile(java.lang.String modulesFile)

getBuiltPostfix

public java.lang.String getBuiltPostfix()

setBuiltPostfix

public void setBuiltPostfix(java.lang.String builtPostfix)

getBuiltOrderList

public java.lang.String getBuiltOrderList()

setBuiltOrderList

public void setBuiltOrderList(java.lang.String builtOrderList)

getPrependString

public java.lang.String getPrependString()

setPrependString

public void setPrependString(java.lang.String prependString)

getAppendString

public java.lang.String getAppendString()

setAppendString

public void setAppendString(java.lang.String appendString)

parseModules

protected abstract void parseModules()
                              throws JsBuilderException
Throws:
JsBuilderException

processModule

protected void processModule(JsModule module)
                      throws JsBuilderException
Process a given module

Parameters:
module - a Module instance to compress
Throws:
JsBuilderException

build

public void build()
           throws JsBuilderException
Run build. Abstract parseModules() (see @see parseModules() ) will be called first If configured modules where found the compression task will be run

Throws:
JsBuilderException