## gate.util
Class HtmlLinksExtractor

    java.lang.Object
      |
      +--javax.swing.text.html.HTMLEditorKit.ParserCallback
            |
            +--gate.util.HtmlLinksExtractor

public class HtmlLinksExtractor
extends HTMLEditorKit.ParserCallback

This class extracts links from HTML files. Implements the behaviour of the HTML reader. Methods of an object of this class are called by the HTML parser when events will appear.

Field Summary
`private HTML.Tag` `currentTag` The tag currently being processed
`private static boolean` `DEBUG` Debug flag

Fields inherited from class javax.swing.text.html.HTMLEditorKit.ParserCallback
`IMPLIED`

Constructor Summary
`HtmlLinksExtractor()`

Method Summary
`void` `flush()` This method is called once, when the HTML parser reaches the end of its input streamin order to notify the parserCallback that there is nothing more to parse.
`void` `handleComment(char[] text, int pos)` This method is called when the HTML parser encounts a comment
`void` `handleEndTag(HTML.Tag t, int pos)` This method is called when the HTML parser encounts the end of a tag that means that the tag is paired by a beginning tag
`void` `handleError(String errorMsg, int pos)` This method is called when the HTML parser encounts an error it depends on the programmer if he wants to deal with that error
`void` `handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)` This method is called when the HTML parser encounts an empty tag
`void` `handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)` This method is called when the HTML parser encounts the beginning of a tag that means that the tag is paired by an end tag and it's not an empty one.
`void` `handleText(char[] text, int pos)` This method is called when the HTML parser encounts text (PCDATA)
`private static List` `listAllFiles(File aFile, Set foldersToIgnore)` Given a certain folder it lists recursively all the files contained in that folder.
`private static void` `listFilesRec(File aFile, List fileNames, List foldersToExplore, Set foldersToIgnore)` Helper method for listAllFiles
`static void` `main(String[] args)` Extract links from all .html files below a directory
`private void` `printAttributes(MutableAttributeSet a)`

Methods inherited from class javax.swing.text.html.HTMLEditorKit.ParserCallback
`<clinit>, handleEndOfLineString`

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

Field Detail

### DEBUG

    private static final boolean DEBUG

  Debug flag

### currentTag

    private HTML.Tag currentTag

  The tag currently being processed

Constructor Detail

### HtmlLinksExtractor

    public HtmlLinksExtractor()

Method Detail

### handleStartTag

    public void handleStartTag(HTML.Tag t,
                               MutableAttributeSet a,
                               int pos)

  This method is called when the HTML parser encounts the beginning of a tag that means that the tag is paired by an end tag and it's not an empty one.
  Overrides:
    `handleStartTag` in class `HTMLEditorKit.ParserCallback`

### printAttributes

    private void printAttributes(MutableAttributeSet a)

### handleEndTag

    public void handleEndTag(HTML.Tag t,
                             int pos)

  This method is called when the HTML parser encounts the end of a tag that means that the tag is paired by a beginning tag
  Overrides:
    `handleEndTag` in class `HTMLEditorKit.ParserCallback`

### handleSimpleTag

    public void handleSimpleTag(HTML.Tag t,
                                MutableAttributeSet a,
                                int pos)

  This method is called when the HTML parser encounts an empty tag
  Overrides:
    `handleSimpleTag` in class `HTMLEditorKit.ParserCallback`

### handleText

    public void handleText(char[] text,
                           int pos)

  This method is called when the HTML parser encounts text (PCDATA)
  Overrides:
    `handleText` in class `HTMLEditorKit.ParserCallback`

### handleError

    public void handleError(String errorMsg,
                            int pos)

  This method is called when the HTML parser encounts an error it depends on the programmer if he wants to deal with that error
  Overrides:
    `handleError` in class `HTMLEditorKit.ParserCallback`

### flush

    public void flush()
               throws BadLocationException

  This method is called once, when the HTML parser reaches the end of its input streamin order to notify the parserCallback that there is nothing more to parse.
  Overrides:
    `flush` in class `HTMLEditorKit.ParserCallback`

### handleComment

    public void handleComment(char[] text,
                              int pos)

  This method is called when the HTML parser encounts a comment
  Overrides:
    `handleComment` in class `HTMLEditorKit.ParserCallback`

### listAllFiles

    private static List listAllFiles(File aFile,
                                     Set foldersToIgnore)

  Given a certain folder it lists recursively all the files contained in that folder. It returns a list of strings representing the file names

### listFilesRec

    private static void listFilesRec(File aFile,
                                     List fileNames,
                                     List foldersToExplore,
                                     Set foldersToIgnore)

  Helper method for listAllFiles

### main

    public static void main(String[] args)

  Extract links from all .html files below a directory