Package com.googlecode.htmlcompressor.taglib

# Class JavaScriptCompressorTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
com.googlecode.htmlcompressor.taglib.JavaScriptCompressorTag

All Implemented Interfaces:
  `jakarta.servlet.jsp.tagext.BodyTag`, `jakarta.servlet.jsp.tagext.IterationTag`, `jakarta.servlet.jsp.tagext.JspTag`, `jakarta.servlet.jsp.tagext.Tag`, `Serializable`

public class JavaScriptCompressorTag extends jakarta.servlet.jsp.tagext.BodyTagSupport
JSP tag that compresses an JavaScript content within <compress:js> tags. All JavaScript-related properties from `HtmlCompressor` are supported.

Author:
  Sergiy Kovalchuk
See Also:
  - `HtmlCompressor`
  - Yahoo YUI Compressor
  - Google Closure Compiler
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JavaScriptCompressorTag()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `doEndTag()`
  `void`
  `setClosureOptLevel(String closureOptLevel)`
  Sets level of optimization if Google Closure Compiler is used for compressing inline JavaScript.
  `void`
  `setEnabled(boolean enabled)`
  Sets the enabled.
  `void`
  `setJsCompressor(String jsCompressor)`
  Sets JavaScript compressor implementation that will be used to compress inline JavaScript in HTML.
  `void`
  `setYuiJsDisableOptimizations(boolean yuiJsDisableOptimizations)`
  Sets the yui js disable optimizations.
  `void`
  `setYuiJsLineBreak(int yuiJsLineBreak)`
  Sets the yui js line break.
  `void`
  `setYuiJsNoMunge(boolean yuiJsNoMunge)`
  Sets the yui js no munge.
  `void`
  `setYuiJsPreserveAllSemiColons(boolean yuiJsPreserveAllSemiColons)`
  Sets the yui js preserve all semi colons.

  ### Methods inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport

  `doAfterBody, doInitBody, doStartTag, getBodyContent, getPreviousOut, release, setBodyContent`

  ### Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport

  `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

- ## Constructor Details

  - ### JavaScriptCompressorTag

    public JavaScriptCompressorTag()

- ## Method Details

  - ### doEndTag

    public int doEndTag() throws jakarta.servlet.jsp.JspException
    Specified by:
      `doEndTag` in interface `jakarta.servlet.jsp.tagext.Tag`
    Overrides:
      `doEndTag` in class `jakarta.servlet.jsp.tagext.BodyTagSupport`
    Throws:
      `jakarta.servlet.jsp.JspException`

  - ### setYuiJsNoMunge

    public void setYuiJsNoMunge(boolean yuiJsNoMunge)
    Sets the yui js no munge.
    Parameters:
      `yuiJsNoMunge` - the new yui js no munge
    See Also:
      - `HtmlCompressor.setYuiJsNoMunge(boolean)`

  - ### setYuiJsPreserveAllSemiColons

    public void setYuiJsPreserveAllSemiColons(boolean yuiJsPreserveAllSemiColons)
    Sets the yui js preserve all semi colons.
    Parameters:
      `yuiJsPreserveAllSemiColons` - the new yui js preserve all semi colons
    See Also:
      - `HtmlCompressor.setYuiJsPreserveAllSemiColons(boolean)`

  - ### setYuiJsDisableOptimizations

    public void setYuiJsDisableOptimizations(boolean yuiJsDisableOptimizations)
    Sets the yui js disable optimizations.
    Parameters:
      `yuiJsDisableOptimizations` - the new yui js disable optimizations
    See Also:
      - `HtmlCompressor.setYuiJsDisableOptimizations(boolean)`

  - ### setYuiJsLineBreak

    public void setYuiJsLineBreak(int yuiJsLineBreak)
    Sets the yui js line break.
    Parameters:
      `yuiJsLineBreak` - the new yui js line break
    See Also:
      - `HtmlCompressor.setYuiJsLineBreak(int)`

  - ### setEnabled

    public void setEnabled(boolean enabled)
    Sets the enabled.
    Parameters:
      `enabled` - the new enabled
    See Also:
      - `HtmlCompressor.setEnabled(boolean)`

  - ### setJsCompressor

    public void setJsCompressor(String jsCompressor)
    Sets JavaScript compressor implementation that will be used to compress inline JavaScript in HTML.
    Parameters:
      `jsCompressor` - Could be either `"yui"` for using `YuiJavaScriptCompressor` (used by default if none provided) or `"closure"` for using `ClosureJavaScriptCompressor`
    See Also:
      - `YuiJavaScriptCompressor`
      - `ClosureJavaScriptCompressor`
      - Yahoo YUI Compressor
      - Google Closure Compiler

  - ### setClosureOptLevel

    public void setClosureOptLevel(String closureOptLevel)
    Sets level of optimization if Google Closure Compiler is used for compressing inline JavaScript.
    Parameters:
      `closureOptLevel` - Could be either `"simple"` (used by default), `"whitespace"` or `"advanced"`
    See Also:
      - `ClosureJavaScriptCompressor.setCompilationLevel(CompilationLevel)`