Package hudson

Class MarkupText


  • public class MarkupText
    extends AbstractMarkupText
    Mutable representation of string with HTML mark up.

    This class is used to put mark up on plain text. See MarkupTextTest for a typical usage and its result.

    Since:
    1.70
    Author:
    Kohsuke Kawaguchi
    • Constructor Detail

      • MarkupText

        public MarkupText​(String text)
        Parameters:
        text - Plain text. This shouldn't include any markup nor escape. Those are done later in toString(boolean).
    • Method Detail

      • subText

        public MarkupText.SubText subText​(int start,
                                          int end)
        Returns a subtext.
        Specified by:
        subText in class AbstractMarkupText
        Parameters:
        end - If negative, -N means "trim the last N-1 chars". That is, (s,-1) is the same as (s,length)
      • addMarkup

        public void addMarkup​(int startPos,
                              int endPos,
                              String startTag,
                              String endTag)
        Description copied from class: AbstractMarkupText
        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"

        Specified by:
        addMarkup in class AbstractMarkupText
      • addMarkup

        public void addMarkup​(int pos,
                              String tag)
      • toString

        public String toString​(boolean preEscape)
        Returns the fully marked-up text.
        Parameters:
        preEscape - If true, the escaping is for the <PRE> context. This leave SP and CR/LF intact. If false, the escape is for the normal HTML, thus SP becomes &nbsp; and CR/LF becomes <BR>
      • findTokens

        public List<MarkupText.SubText> findTokens​(Pattern pattern)
        Description copied from class: AbstractMarkupText
        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.

        Overrides:
        findTokens in class AbstractMarkupText