Package com.googlecode.htmlcompressor.taglib

# Class HtmlCompressorTag

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

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 HtmlCompressorTag extends jakarta.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 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
  `HtmlCompressorTag()`

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

  - ### HtmlCompressorTag

    public HtmlCompressorTag()

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

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