Package hudson

Class AbstractMarkupText

Direct Known Subclasses:
MarkupText, MarkupText.SubText

public abstract class AbstractMarkupText extends Object
Common part between MarkupText and MarkupText.SubText.

See MarkupText for more discussion about what this class represents.

Kohsuke Kawaguchi
  • Method Details

    • getText

      public abstract String getText()
      Returns the plain text portion of this MarkupText without any markup, nor any escape.
    • charAt

      public char charAt(int idx)
    • length

      public final int length()
      Length of the plain text.
    • subText

      public abstract MarkupText.SubText subText(int start, int end)
      Returns a subtext.
      end - If negative, -N means "trim the last N-1 chars". That is, (s,-1) is the same as (s,length)
    • addMarkup

      public abstract void addMarkup(int startPos, int endPos, String startTag, String endTag)
      Adds a start tag and end tag at the specified position.

      For example, if the text was "abc", then addMarkup(1,2,"<b>","</b>") would generate "a<b>b</b>c"

    • addHyperlink

      public void addHyperlink(int startPos, int endPos, String url)
      Inserts an A tag that surrounds the given position.
    • addHyperlinkLowKey

      public void addHyperlinkLowKey(int startPos, int endPos, String url)
      Inserts an A tag that surrounds the given position. But this hyperlink is less visible.
    • hide

      public void hide(int startPos, int endPos)
      Hides the given text.
    • wrapBy

      public final void wrapBy(String startTag, String endTag)
      Adds a start tag and end tag around the entire text
    • findToken

      public MarkupText.SubText findToken(Pattern pattern)
      Find the first occurrence of the given pattern in this text, or null.
    • findTokens

      public List<MarkupText.SubText> findTokens(Pattern pattern)
      Find all "tokens" that match the given pattern in this text.

      A token is like a substring, except that it's aware of word boundaries. For example, while "bc" is a string of "abc", calling findTokens with "bc" as a pattern on string "abc" won't match anything.

      This method is convenient for finding keywords that follow a certain syntax from natural text. You can then use MarkupText.SubText.surroundWith(String,String) to put mark up around such text.

    • createSubText

      protected abstract MarkupText.SubText createSubText(Matcher m)