Package com.googlecode.htmlcompressor.taglib

## Class JavaScriptCompressorTag

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

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

      public class JavaScriptCompressorTag
      extends javax.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 javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### Fields inherited from class javax.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JavaScriptCompressorTag()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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 javax.servlet.jsp.tagext.BodyTagSupport

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

    - ### Methods inherited from class javax.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 javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### Constructor Detail

    - #### JavaScriptCompressorTag

          public JavaScriptCompressorTag()

  - ### Method Detail

    - #### doEndTag

          public int doEndTag()
                       throws javax.servlet.jsp.JspException

      Specified by:
        `doEndTag` in interface `javax.servlet.jsp.tagext.Tag`
      Overrides:
        `doEndTag` in class `javax.servlet.jsp.tagext.BodyTagSupport`
      Throws:
        `javax.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)`