## groovy.ui.text
Class StructuredSyntaxDocumentFilter

    java.lang.Object
      javax.swing.text.DocumentFilter
          groovy.ui.text.StructuredSyntaxDocumentFilter

Direct Known Subclasses:
  GroovyFilter

    public class StructuredSyntaxDocumentFilter

extends DocumentFilter

Author:
  Evan "Hippy" Slatis

Nested Class Summary
`class` `StructuredSyntaxDocumentFilter.LexerNode`
`protected class` `StructuredSyntaxDocumentFilter.MultiLineRun`

Nested classes/interfaces inherited from class javax.swing.text.DocumentFilter
`DocumentFilter.FilterBypass`

Field Summary
`protected StructuredSyntaxDocumentFilter.LexerNode` `lexer` The root of the lexical parsing tree.
`protected SortedSet` `mlTextRunSet` The position tree of multi-line comments.
`protected DefaultStyledDocument` `styledDocument`
`static String` `TAB_REPLACEMENT`

Constructor Summary
`StructuredSyntaxDocumentFilter(DefaultStyledDocument document)` Creates a new instance of StructuredSyntaxDocumentFilter

Method Summary
`StructuredSyntaxDocumentFilter.LexerNode` `createLexerNode()` Create a new LexerNode for adding to root.
`StructuredSyntaxDocumentFilter.LexerNode` `getRootNode()` Get the root node for lexing the document.
`void` `insertString(DocumentFilter.FilterBypass fb, int offset, String text, AttributeSet attrs)` Insert a string into the document, and then parse it if the parser has been set.
`protected void` `parseDocument(int offset, int length)` Parse the Document to update the character styles given an initial start position.
`void` `remove(DocumentFilter.FilterBypass fb, int offset, int length)` Remove a string from the document, and then parse it if the parser has been set.
`void` `replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)` Replace a string in the document, and then parse it if the parser has been set.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TAB_REPLACEMENT

    public static final String TAB_REPLACEMENT

See Also:
  Constant Field Values

### lexer

    protected StructuredSyntaxDocumentFilter.LexerNode lexer

  The root of the lexical parsing tree.

### styledDocument

    protected DefaultStyledDocument styledDocument

### mlTextRunSet

    protected SortedSet mlTextRunSet

  The position tree of multi-line comments.

Constructor Detail

### StructuredSyntaxDocumentFilter

    public StructuredSyntaxDocumentFilter(DefaultStyledDocument document)

  Creates a new instance of StructuredSyntaxDocumentFilter

  Parameters:
    `document` - the styled document to parse

Method Detail

### createLexerNode

    public StructuredSyntaxDocumentFilter.LexerNode createLexerNode()

  Create a new LexerNode for adding to root.

  Returns:
    a new LexerNode

### getRootNode

    public StructuredSyntaxDocumentFilter.LexerNode getRootNode()

  Get the root node for lexing the document. Children can be added such that matching patterns can be further parsed if required.

  Returns:
    the root lexing node.

### insertString

    public void insertString(DocumentFilter.FilterBypass fb,
                             int offset,
                             String text,
                             AttributeSet attrs)
                      throws BadLocationException

  Insert a string into the document, and then parse it if the parser has been set.

  Overrides:
    `insertString` in class `DocumentFilter`
  Parameters:
    `fb` -
    `offset` -
    `text` -
    `attrs` -
  Throws:
    `BadLocationException`

### parseDocument

    protected void parseDocument(int offset,
                                 int length)
                          throws BadLocationException

  Parse the Document to update the character styles given an initial start position. Called by the filter after it has updated the text.

  Parameters:
    `offset` -
    `length` -
  Throws:
    `BadLocationException`

### remove

    public void remove(DocumentFilter.FilterBypass fb,
                       int offset,
                       int length)
                throws BadLocationException

  Remove a string from the document, and then parse it if the parser has been set.

  Overrides:
    `remove` in class `DocumentFilter`
  Parameters:
    `fb` -
    `offset` -
    `length` -
  Throws:
    `BadLocationException`

### replace

    public void replace(DocumentFilter.FilterBypass fb,
                        int offset,
                        int length,
                        String text,
                        AttributeSet attrs)
                 throws BadLocationException

  Replace a string in the document, and then parse it if the parser has been set.

  Overrides:
    `replace` in class `DocumentFilter`
  Parameters:
    `fb` -
    `offset` -
    `length` -
    `text` -
    `attrs` -
  Throws:
    `BadLocationException`

Copyright © 2003-2009 The Codehaus. All rights reserved.