org.owasp.validator.css
Class CssHandler

java.lang.Object
  extended by org.owasp.validator.css.CssHandler
All Implemented Interfaces:
org.w3c.css.sac.DocumentHandler

public class CssHandler
extends java.lang.Object
implements org.w3c.css.sac.DocumentHandler

A implementation of a SAC DocumentHandler for CSS validation. The appropriate validation method is called whenever the handler is invoked by the parser. The handler also builds a clean CSS document as the original CSS is scanned. NOTE: keeping state in this class is not ideal as handler style parsing a la SAX should generally be event driven. However, there is not a fully implemented "DOM" equivalent to CSS at this time. Java has a StyleSheet class that could accomplish this "DOM" like behavior but it has yet to be fully implemented.

Author:
Jason Li
See Also:
javax.swing.text.html.StyleSheet

Constructor Summary
CssHandler(Policy policy, java.util.LinkedList embeddedStyleSheets, java.util.ArrayList errorMessages, java.util.ResourceBundle messages)
          Constructs a handler for stylesheets using the given policy and queue for imported stylesheets.
CssHandler(Policy policy, java.util.LinkedList embeddedStyleSheets, java.util.ArrayList errorMessages, java.lang.String tagName, java.util.ResourceBundle messages)
          Constructs a handler for inline style declarations using the given policy and queue for imported stylesheets.
 
Method Summary
 void comment(java.lang.String text)
           
 void endDocument(org.w3c.css.sac.InputSource source)
           
 void endFontFace()
           
 void endMedia(org.w3c.css.sac.SACMediaList media)
           
 void endPage(java.lang.String name, java.lang.String pseudoPage)
           
 void endSelector(org.w3c.css.sac.SelectorList selectors)
           
 java.lang.String getCleanStylesheet()
          Returns the cleaned stylesheet.
 java.util.Collection getErrorMessages()
          Returns the error messages generated during parsing.
 void ignorableAtRule(java.lang.String atRule)
           
 void importStyle(java.lang.String uri, org.w3c.css.sac.SACMediaList media, java.lang.String defaultNamespaceURI)
           
 void namespaceDeclaration(java.lang.String prefix, java.lang.String uri)
           
 void property(java.lang.String name, org.w3c.css.sac.LexicalUnit value, boolean important)
           
 void startDocument(org.w3c.css.sac.InputSource arg0)
           
 void startFontFace()
           
 void startMedia(org.w3c.css.sac.SACMediaList media)
           
 void startPage(java.lang.String name, java.lang.String pseudoPage)
           
 void startSelector(org.w3c.css.sac.SelectorList selectors)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CssHandler

public CssHandler(Policy policy,
                  java.util.LinkedList embeddedStyleSheets,
                  java.util.ArrayList errorMessages,
                  java.util.ResourceBundle messages)
Constructs a handler for stylesheets using the given policy and queue for imported stylesheets.

Parameters:
policy - the policy to use
embeddedStyleSheets - the queue of stylesheets imported

CssHandler

public CssHandler(Policy policy,
                  java.util.LinkedList embeddedStyleSheets,
                  java.util.ArrayList errorMessages,
                  java.lang.String tagName,
                  java.util.ResourceBundle messages)
Constructs a handler for inline style declarations using the given policy and queue for imported stylesheets.

Parameters:
policy - the policy to use
embeddedStyleSheets - the queue of stylesheets imported
tagName - the associated tag name with this inline style
Method Detail

getCleanStylesheet

public java.lang.String getCleanStylesheet()
Returns the cleaned stylesheet.

Returns:
the cleaned styesheet

getErrorMessages

public java.util.Collection getErrorMessages()
Returns the error messages generated during parsing.

Returns:
the error messages generated during parsing

comment

public void comment(java.lang.String text)
             throws org.w3c.css.sac.CSSException
Specified by:
comment in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

ignorableAtRule

public void ignorableAtRule(java.lang.String atRule)
                     throws org.w3c.css.sac.CSSException
Specified by:
ignorableAtRule in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

importStyle

public void importStyle(java.lang.String uri,
                        org.w3c.css.sac.SACMediaList media,
                        java.lang.String defaultNamespaceURI)
                 throws org.w3c.css.sac.CSSException
Specified by:
importStyle in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

namespaceDeclaration

public void namespaceDeclaration(java.lang.String prefix,
                                 java.lang.String uri)
                          throws org.w3c.css.sac.CSSException
Specified by:
namespaceDeclaration in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

startDocument

public void startDocument(org.w3c.css.sac.InputSource arg0)
                   throws org.w3c.css.sac.CSSException
Specified by:
startDocument in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

endDocument

public void endDocument(org.w3c.css.sac.InputSource source)
                 throws org.w3c.css.sac.CSSException
Specified by:
endDocument in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

startFontFace

public void startFontFace()
                   throws org.w3c.css.sac.CSSException
Specified by:
startFontFace in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

endFontFace

public void endFontFace()
                 throws org.w3c.css.sac.CSSException
Specified by:
endFontFace in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

startMedia

public void startMedia(org.w3c.css.sac.SACMediaList media)
                throws org.w3c.css.sac.CSSException
Specified by:
startMedia in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

endMedia

public void endMedia(org.w3c.css.sac.SACMediaList media)
              throws org.w3c.css.sac.CSSException
Specified by:
endMedia in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

startPage

public void startPage(java.lang.String name,
                      java.lang.String pseudoPage)
               throws org.w3c.css.sac.CSSException
Specified by:
startPage in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

endPage

public void endPage(java.lang.String name,
                    java.lang.String pseudoPage)
             throws org.w3c.css.sac.CSSException
Specified by:
endPage in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

startSelector

public void startSelector(org.w3c.css.sac.SelectorList selectors)
                   throws org.w3c.css.sac.CSSException
Specified by:
startSelector in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

endSelector

public void endSelector(org.w3c.css.sac.SelectorList selectors)
                 throws org.w3c.css.sac.CSSException
Specified by:
endSelector in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException

property

public void property(java.lang.String name,
                     org.w3c.css.sac.LexicalUnit value,
                     boolean important)
              throws org.w3c.css.sac.CSSException
Specified by:
property in interface org.w3c.css.sac.DocumentHandler
Throws:
org.w3c.css.sac.CSSException


Copyright © 2010 The Open Web Application Security Project (OWASP). All Rights Reserved.