Class LinkExtractor

java.lang.Object
org.nibor.autolink.LinkExtractor

public class LinkExtractor extends Object
Extracts links from input.

Create and configure an extractor using builder(), then call extractLinks(java.lang.CharSequence).

  • Field Details

    • urlScanner

      private final Scanner urlScanner
    • wwwScanner

      private final Scanner wwwScanner
    • emailScanner

      private final Scanner emailScanner
  • Constructor Details

  • Method Details

    • builder

      public static LinkExtractor.Builder builder()
    • extractLinks

      public Iterable<LinkSpan> extractLinks(CharSequence input)
      Extract the links from the input text. Can be called multiple times with different inputs (thread-safe).
      Parameters:
      input - the input text, must not be null
      Returns:
      a lazy iterable for the links in order that they appear in the input, never null
      See Also:
    • extractSpans

      public Iterable<Span> extractSpans(CharSequence input)
      Extract spans from the input text. A span is a substring of the input and represents either a link (see LinkSpan) or plain text outside a link.

      Using this is more convenient than extractLinks(java.lang.CharSequence) if you want to transform the whole input text to a different format.

      Parameters:
      input - the input text, must not be null
      Returns:
      a lazy iterable for the spans in order that they appear in the input, never null
    • trigger

      private Scanner trigger(char c)