Class HtmlTools

java.lang.Object
org.apache.maven.doxia.util.HtmlTools

public class HtmlTools extends Object
The HtmlTools class defines methods to HTML handling.
Since:
1.0
  • Field Details

  • Constructor Details

    • HtmlTools

      private HtmlTools()
  • Method Details

    • getHtmlTag

      public static HTML.Tag getHtmlTag(String tagName)
      Returns a tag for a defined HTML tag name. This is one of the tags defined in HtmlMarkup. If the given name does not represent one of the defined tags, then null will be returned.
      Parameters:
      tagName - the String name requested.
      Returns:
      a tag constant corresponding to the tagName, or null if not found.
      Since:
      1.1
      See Also:
    • escapeHTML

      public static String escapeHTML(String text)
      Escape special HTML characters in a String in xml mode. Note: this method doesn't escape non-ascii characters by numeric characters references.
      Parameters:
      text - the String to escape, may be null.
      Returns:
      The escaped text or the empty string if text == null.
      See Also:
    • escapeHTML

      public static String escapeHTML(String text, boolean xmlMode)
      Escape special HTML characters in a String.
       < becomes &lt;
       > becomes &gt;
       & becomes &amp;
       " becomes &quot;
       ' becomes &apos; if xmlMode = true
       
      If xmlMode is true, every other character than the above remains unchanged, if xmlMode is false, non-ascii characters get replaced by their hex code. Note: all characters are encoded, i.e.:
       ř       = &#x159;
       𝟭 = &#x1d7ed;
       
      Parameters:
      text - The String to escape, may be null.
      xmlMode - true to replace also ' to &apos, false to replace non-ascii characters by numeric characters references.
      Returns:
      The escaped text or the empty string if text == null.
      Since:
      1.1
      See Also:
    • unescapeHTML

      public static String unescapeHTML(String text)
      Unescapes HTML entities in a string in non xml mode.
      Parameters:
      text - the String to unescape, may be null.
      Returns:
      a new unescaped String, null if null string input.
      Since:
      1.1.1.
      See Also:
    • unescapeHTML

      public static String unescapeHTML(String text, boolean xmlMode)
      Unescapes HTML entities in a string.

      Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes. Supports HTML 4.0 entities.

      For example, the string "&lt;Fran&ccedil;ais&gt;" will become "<Français>".

      Note: all unicode entities are decoded, i.e.:
       &#x159;   = ř
       &#x1d7ed; = 𝟭
       
      Parameters:
      text - the String to unescape, may be null.
      xmlMode - set to true to replace &apos by '.
      Returns:
      a new unescaped String, null if null string input.
      Since:
      1.1.1.
    • encodeURL

      public static String encodeURL(String url)
      Encode an url
      Parameters:
      url - the String to encode, may be null
      Returns:
      the text encoded, null if null String input
    • encodeId

      public static String encodeId(String id)
      Construct a valid id.

      Note: this method is identical to DoxiaUtils.encodeId( id, false ), the rules to encode an id are laid out there.

      Parameters:
      id - The id to be encoded.
      Returns:
      The trimmed and encoded id, or null if id is null.
      See Also:
    • isId

      public static boolean isId(String text)
      Determines if the specified text is a valid id according to the rules laid out in encodeId(String).
      Parameters:
      text - The text to be tested.
      Returns:
      true if the text is a valid id, otherwise false.
      See Also:
    • toCodePoint

      private static int toCodePoint(char high, char low)
    • isHighSurrogate

      private static boolean isHighSurrogate(char ch)
    • isValidCodePoint

      private static boolean isValidCodePoint(int codePoint)
    • isSupplementaryCodePoint

      private static boolean isSupplementaryCodePoint(int codePoint)
    • toChars

      public static char[] toChars(int codePoint)
      Converts the given code point to an equivalent character array.
      Parameters:
      codePoint - the code point to convert.
      Returns:
      If codePoint is a supplementary code point, returns a character array of length 2, otherwise a character array of length 1 containing only the original int as a char.