DocumentHandler
Date: 2015-12-02

org.w3c.css.sac

## Interface DocumentHandler

-     public interface DocumentHandler

  This is the main interface that most CSS applications implement: if the application needs to be informed of basic parsing events, it implements this interface and registers an instance with the CSS parser using the setCSSHandler method.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `comment(java.lang.String text)` Receive notification of a comment.
    `void` | `endDocument(InputSource source)` Receive notification of the end of a document.
    `void` | `endFontFace()` Receive notification of the end of a font face statement.
    `void` | `endMedia(SACMediaList media)` Receive notification of the end of a media statement.
    `void` | `endPage(java.lang.String name, java.lang.String pseudo_page)` Receive notification of the end of a media statement.
    `void` | `endSelector(SelectorList selectors)` Receive notification of the end of a rule statement.
    `void` | `ignorableAtRule(java.lang.String atRule)` Receive notification of an unknown rule t-rule not supported by this parser.
    `void` | `importStyle(java.lang.String uri, SACMediaList media, java.lang.String defaultNamespaceURI)` Receive notification of a import statement in the style sheet.
    `void` | `namespaceDeclaration(java.lang.String prefix, java.lang.String uri)` Receive notification of an unknown rule t-rule not supported by this parser.
    `void` | `property(java.lang.String name, LexicalUnit value, boolean important)` Receive notification of a declaration.
    `void` | `startDocument(InputSource source)` Receive notification of the beginning of a style sheet.
    `void` | `startFontFace()` Receive notification of the beginning of a font face statement.
    `void` | `startMedia(SACMediaList media)` Receive notification of the beginning of a media statement.
    `void` | `startPage(java.lang.String name, java.lang.String pseudo_page)` Receive notification of the beginning of a page statement.
    `void` | `startSelector(SelectorList selectors)` Receive notification of the beginning of a rule statement.

- - ### Method Detail

    - #### startDocument

          void startDocument(InputSource source)
                             throws CSSException

      Receive notification of the beginning of a style sheet. The CSS parser will invoke this method only once, before any other methods in this interface.
      Parameters:
        `uri` - The URI of the style sheet. @@TODO can be NULL ! (inline style sheet)
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### endDocument

          void endDocument(InputSource source)
                           throws CSSException

      Receive notification of the end of a document. The CSS parser will invoke this method only once, and it will be the last method invoked during the parse. The parser shall not invoke this method until it has either abandoned parsing (because of an unrecoverable error) or reached the end of input.
      Parameters:
        `uri` - The URI of the style sheet.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### comment

          void comment(java.lang.String text)
                       throws CSSException

      Receive notification of a comment. If the comment appears in a declaration (e.g. color: /* comment * / blue;), the parser notifies the comment before the declaration.
      Parameters:
        `text` - The comment.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### ignorableAtRule

          void ignorableAtRule(java.lang.String atRule)
                               throws CSSException

      Receive notification of an unknown rule t-rule not supported by this parser.
      Parameters:
        `at-rule` - The complete ignored at-rule.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### namespaceDeclaration

          void namespaceDeclaration(java.lang.String prefix,
                                  java.lang.String uri)
                                    throws CSSException

      Receive notification of an unknown rule t-rule not supported by this parser.
      Parameters:
        `prefix` - `null` if this is the default namespace
        `uri` - The URI for this namespace.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### importStyle

          void importStyle(java.lang.String uri,
                         SACMediaList media,
                         java.lang.String defaultNamespaceURI)
                           throws CSSException

      Receive notification of a import statement in the style sheet.
      Parameters:
        `uri` - The URI of the imported style sheet.
        `media` - The intended destination media for style information.
        `defaultNamepaceURI` - The default namespace URI for the imported style sheet.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### startMedia

          void startMedia(SACMediaList media)
                          throws CSSException

      Receive notification of the beginning of a media statement. The Parser will invoke this method at the beginning of every media statement in the style sheet. there will be a corresponding endMedia() event for every startElement() event.
      Parameters:
        `media` - The intended destination media for style information.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### endMedia

          void endMedia(SACMediaList media)
                        throws CSSException

      Receive notification of the end of a media statement.
      Parameters:
        `media` - The intended destination media for style information.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### startPage

          void startPage(java.lang.String name,
                       java.lang.String pseudo_page)
                         throws CSSException

      Receive notification of the beginning of a page statement. The Parser will invoke this method at the beginning of every page statement in the style sheet. there will be a corresponding endPage() event for every startPage() event.
      Parameters:
        `name` - the name of the page (if any, null otherwise)
        `pseudo_page` - the pseudo page (if any, null otherwise)
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### endPage

          void endPage(java.lang.String name,
                     java.lang.String pseudo_page)
                       throws CSSException

      Receive notification of the end of a media statement.
      Parameters:
        `media` - The intended destination medium for style information.
        `pseudo_page` - the pseudo page (if any, null otherwise)
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### startFontFace

          void startFontFace()
                             throws CSSException

      Receive notification of the beginning of a font face statement. The Parser will invoke this method at the beginning of every font face statement in the style sheet. there will be a corresponding endFontFace() event for every startFontFace() event.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### endFontFace

          void endFontFace()
                           throws CSSException

      Receive notification of the end of a font face statement.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### startSelector

          void startSelector(SelectorList selectors)
                             throws CSSException

      Receive notification of the beginning of a rule statement.
      Parameters:
        `selectors` - All intended selectors for all declarations.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### endSelector

          void endSelector(SelectorList selectors)
                           throws CSSException

      Receive notification of the end of a rule statement.
      Parameters:
        `selectors` - All intended selectors for all declarations.
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.

    - #### property

          void property(java.lang.String name,
                      LexicalUnit value,
                      boolean important)
                        throws CSSException

      Receive notification of a declaration.
      Parameters:
        `name` - the name of the property.
        `value` - the value of the property. All whitespace are stripped.
        `important` - is this property important ?
      Throws:
        `CSSException` - Any CSS exception, possibly wrapping another exception.