Package com.googlecode.htmlcompressor.taglib

## Class HtmlCompressorTag

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

- 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 HtmlCompressorTag
      extends javax.servlet.jsp.tagext.BodyTagSupport

  JSP tag that compresses an HTML content within <compress:html>. Compression parameters are set by default (no JavaScript and CSS compression).
  Author:
    Sergiy Kovalchuk
  See Also:
    `HtmlCompressor`, 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
    --- | ---
    `HtmlCompressorTag()` |

  - ### 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` | `setCompressCss​(boolean compressCss)` | Sets the compress css.
    `void` | `setCompressJavaScript​(boolean compressJavaScript)` | Sets the compress java script.
    `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` | `setPreserveLineBreaks​(boolean preserveLineBreaks)` | Sets the preserve line breaks.
    `void` | `setRemoveComments​(boolean removeComments)` | Sets the removes the comments.
    `void` | `setRemoveFormAttributes​(boolean removeFormAttributes)` | Sets the removes the form attributes.
    `void` | `setRemoveHttpProtocol​(boolean removeHttpProtocol)` | Sets the removes the http protocol.
    `void` | `setRemoveHttpsProtocol​(boolean removeHttpsProtocol)` | Sets the removes the https protocol.
    `void` | `setRemoveInputAttributes​(boolean removeInputAttributes)` | Sets the removes the input attributes.
    `void` | `setRemoveIntertagSpaces​(boolean removeIntertagSpaces)` | Sets the removes the intertag spaces.
    `void` | `setRemoveJavaScriptProtocol​(boolean removeJavaScriptProtocol)` | Sets the removes the java script protocol.
    `void` | `setRemoveLinkAttributes​(boolean removeLinkAttributes)` | Sets the removes the link attributes.
    `void` | `setRemoveMultiSpaces​(boolean removeMultiSpaces)` | Sets the removes the multi spaces.
    `void` | `setRemoveQuotes​(boolean removeQuotes)` | Sets the removes the quotes.
    `void` | `setRemoveScriptAttributes​(boolean removeScriptAttributes)` | Sets the removes the script attributes.
    `void` | `setRemoveStyleAttributes​(boolean removeStyleAttributes)` | Sets the removes the style attributes.
    `void` | `setSimpleBooleanAttributes​(boolean simpleBooleanAttributes)` | Sets the simple boolean attributes.
    `void` | `setSimpleDoctype​(boolean simpleDoctype)` | Sets the simple doctype.
    `void` | `setYuiCssLineBreak​(int yuiCssLineBreak)` | Sets the yui css line break.
    `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

    - #### HtmlCompressorTag

          public HtmlCompressorTag()

  - ### 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`

    - #### setCompressJavaScript

          public void setCompressJavaScript​(boolean compressJavaScript)

      Sets the compress java script.
      Parameters:
        `compressJavaScript` - the new compress java script
      See Also:
        `HtmlCompressor.setCompressJavaScript(boolean)`

    - #### setCompressCss

          public void setCompressCss​(boolean compressCss)

      Sets the compress css.
      Parameters:
        `compressCss` - the new compress css
      See Also:
        `HtmlCompressor.setCompressCss(boolean)`

    - #### 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)`

    - #### setYuiCssLineBreak

          public void setYuiCssLineBreak​(int yuiCssLineBreak)

      Sets the yui css line break.
      Parameters:
        `yuiCssLineBreak` - the new yui css line break
      See Also:
        `HtmlCompressor.setYuiCssLineBreak(int)`

    - #### setRemoveQuotes

          public void setRemoveQuotes​(boolean removeQuotes)

      Sets the removes the quotes.
      Parameters:
        `removeQuotes` - the new removes the quotes
      See Also:
        `HtmlCompressor.setRemoveQuotes(boolean)`

    - #### setPreserveLineBreaks

          public void setPreserveLineBreaks​(boolean preserveLineBreaks)

      Sets the preserve line breaks.
      Parameters:
        `preserveLineBreaks` - the new preserve line breaks
      See Also:
        `HtmlCompressor.setPreserveLineBreaks(boolean)`

    - #### setEnabled

          public void setEnabled​(boolean enabled)

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

    - #### setRemoveComments

          public void setRemoveComments​(boolean removeComments)

      Sets the removes the comments.
      Parameters:
        `removeComments` - the new removes the comments
      See Also:
        `HtmlCompressor.setRemoveComments(boolean)`

    - #### setRemoveMultiSpaces

          public void setRemoveMultiSpaces​(boolean removeMultiSpaces)

      Sets the removes the multi spaces.
      Parameters:
        `removeMultiSpaces` - the new removes the multi spaces
      See Also:
        `HtmlCompressor.setRemoveMultiSpaces(boolean)`

    - #### setRemoveIntertagSpaces

          public void setRemoveIntertagSpaces​(boolean removeIntertagSpaces)

      Sets the removes the intertag spaces.
      Parameters:
        `removeIntertagSpaces` - the new removes the intertag spaces
      See Also:
        `HtmlCompressor.setRemoveIntertagSpaces(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)`

    - #### setSimpleDoctype

          public void setSimpleDoctype​(boolean simpleDoctype)

      Sets the simple doctype.
      Parameters:
        `simpleDoctype` - the new simple doctype
      See Also:
        `HtmlCompressor.setSimpleDoctype(boolean)`

    - #### setRemoveScriptAttributes

          public void setRemoveScriptAttributes​(boolean removeScriptAttributes)

      Sets the removes the script attributes.
      Parameters:
        `removeScriptAttributes` - the new removes the script attributes
      See Also:
        `HtmlCompressor.setRemoveScriptAttributes(boolean)`

    - #### setRemoveStyleAttributes

          public void setRemoveStyleAttributes​(boolean removeStyleAttributes)

      Sets the removes the style attributes.
      Parameters:
        `removeStyleAttributes` - the new removes the style attributes
      See Also:
        `HtmlCompressor.setRemoveStyleAttributes(boolean)`

    - #### setRemoveLinkAttributes

          public void setRemoveLinkAttributes​(boolean removeLinkAttributes)

      Sets the removes the link attributes.
      Parameters:
        `removeLinkAttributes` - the new removes the link attributes
      See Also:
        `HtmlCompressor.setRemoveLinkAttributes(boolean)`

    - #### setRemoveFormAttributes

          public void setRemoveFormAttributes​(boolean removeFormAttributes)

      Sets the removes the form attributes.
      Parameters:
        `removeFormAttributes` - the new removes the form attributes
      See Also:
        `HtmlCompressor.setRemoveFormAttributes(boolean)`

    - #### setRemoveInputAttributes

          public void setRemoveInputAttributes​(boolean removeInputAttributes)

      Sets the removes the input attributes.
      Parameters:
        `removeInputAttributes` - the new removes the input attributes
      See Also:
        `HtmlCompressor.setRemoveInputAttributes(boolean)`

    - #### setSimpleBooleanAttributes

          public void setSimpleBooleanAttributes​(boolean simpleBooleanAttributes)

      Sets the simple boolean attributes.
      Parameters:
        `simpleBooleanAttributes` - the new simple boolean attributes
      See Also:
        `HtmlCompressor.setSimpleBooleanAttributes(boolean)`

    - #### setRemoveJavaScriptProtocol

          public void setRemoveJavaScriptProtocol​(boolean removeJavaScriptProtocol)

      Sets the removes the java script protocol.
      Parameters:
        `removeJavaScriptProtocol` - the new removes the java script protocol
      See Also:
        `HtmlCompressor.setRemoveJavaScriptProtocol(boolean)`

    - #### setRemoveHttpProtocol

          public void setRemoveHttpProtocol​(boolean removeHttpProtocol)

      Sets the removes the http protocol.
      Parameters:
        `removeHttpProtocol` - the new removes the http protocol
      See Also:
        `HtmlCompressor.setRemoveHttpProtocol(boolean)`

    - #### setRemoveHttpsProtocol

          public void setRemoveHttpsProtocol​(boolean removeHttpsProtocol)

      Sets the removes the https protocol.
      Parameters:
        `removeHttpsProtocol` - the new removes the https protocol
      See Also:
        `HtmlCompressor.setRemoveHttpsProtocol(boolean)`