NumericCharacterReference
Date: 2016-12-04

net.htmlparser.jericho

## Class NumericCharacterReference

- java.lang.Object
- - net.htmlparser.jericho.Segment
  - - net.htmlparser.jericho.CharacterReference
    - - net.htmlparser.jericho.NumericCharacterReference

- All Implemented Interfaces:
    java.lang.CharSequence, java.lang.Comparable<Segment>

      public class NumericCharacterReference
      extends CharacterReference

  Represents an HTML Numeric Character Reference.

  A numeric character reference can be one of two types:

  Decimal Character Reference
    A numeric character reference specifying the unicode code point in decimal notation.
    This is signified by the absence of an '`x`' character after the '`#`', (eg "`&#62;`").
  Hexadecimal Character Reference
    A numeric character reference specifying the unicode code point in hexadecimal notation.
    This is signified by the presence of an '`x`' character after the '`#`', (eg "`&#x3e;`").

  Static methods to encode and decode strings and single characters can be found in the `CharacterReference` superclass.

  `NumericCharacterReference` instances are obtained using one of the following methods:

  - `CharacterReference.parse(CharSequence characterReferenceText)`
  - `Source.getNextCharacterReference(int pos)`
  - `Source.getPreviousCharacterReference(int pos)`
  - `Segment.getAllCharacterReferences()`
  See Also:
    `CharacterReference`, `CharacterEntityReference`

- - ### Field Summary

    - ### Fields inherited from class net.htmlparser.jericho.CharacterReference

      `INVALID_CODE_POINT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `encode(java.lang.CharSequence unencodedText)` Encodes the specified text, escaping special characters into numeric character references.
    `static java.lang.String` | `encodeDecimal(java.lang.CharSequence unencodedText)` Encodes the specified text, escaping special characters into decimal character references.
    `static java.lang.String` | `encodeHexadecimal(java.lang.CharSequence unencodedText)` Encodes the specified text, escaping special characters into hexadecimal character references.
    `java.lang.String` | `getCharacterReferenceString()` Returns the correct encoded form of this numeric character reference.
    `static java.lang.String` | `getCharacterReferenceString(int codePoint)` Returns the numeric character reference encoded form of the specified unicode code point.
    `java.lang.String` | `getDebugInfo()` Returns a string representation of this object useful for debugging purposes.
    `boolean` | `isDecimal()` Indicates whether this numeric character reference specifies the unicode code point in decimal format.
    `boolean` | `isHexadecimal()` Indicates whether this numeric character reference specifies the unicode code point in hexadecimal format.

    - ### Methods inherited from class net.htmlparser.jericho.CharacterReference

      `appendCharTo, decode, decode, decodeCollapseWhiteSpace, encode, encodeWithWhiteSpaceFormatting, getChar, getCodePoint, getCodePointFromCharacterReferenceString, getDecimalCharacterReferenceString, getDecimalCharacterReferenceString, getEncodingFilterWriter, getHexadecimalCharacterReferenceString, getHexadecimalCharacterReferenceString, getUnicodeText, getUnicodeText, isTerminated, parse, reencode, requiresEncoding`

    - ### Methods inherited from class net.htmlparser.jericho.Segment

      `charAt, compareTo, encloses, encloses, equals, getAllCharacterReferences, getAllElements, getAllElements, getAllElements, getAllElements, getAllElements, getAllElementsByClass, getAllStartTags, getAllStartTags, getAllStartTags, getAllStartTags, getAllStartTags, getAllStartTagsByClass, getAllTags, getAllTags, getBegin, getChildElements, getEnd, getFirstElement, getFirstElement, getFirstElement, getFirstElement, getFirstElementByClass, getFirstStartTag, getFirstStartTag, getFirstStartTag, getFirstStartTag, getFirstStartTag, getFirstStartTagByClass, getFormControls, getFormFields, getMaxDepthIndicator, getNodeIterator, getRenderer, getRowColumnVector, getSource, getStyleURISegments, getTextExtractor, getURIAttributes, hashCode, ignoreWhenParsing, isWhiteSpace, isWhiteSpace, length, parseAttributes, subSequence, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### isDecimal

          public boolean isDecimal()

      Indicates whether this numeric character reference specifies the unicode code point in decimal format.

      A numeric character reference in decimal format is referred to in this library as a decimal character reference.

      Returns:
        `true` if this numeric character reference specifies the unicode code point in decimal format, otherwise `false`.
      See Also:
        `isHexadecimal()`

    - #### isHexadecimal

          public boolean isHexadecimal()

      Indicates whether this numeric character reference specifies the unicode code point in hexadecimal format.

      A numeric character reference in hexadecimal format is referred to in this library as a hexadecimal character reference.

      Returns:
        `true` if this numeric character reference specifies the unicode code point in hexadecimal format, otherwise `false`.
      See Also:
        `isDecimal()`

    - #### encode

          public static java.lang.String encode(java.lang.CharSequence unencodedText)

      Encodes the specified text, escaping special characters into numeric character references.

      Each character is encoded only if the `requiresEncoding(char)` method would return `true` for that character.

      This method encodes all character references in decimal format, and is exactly the same as calling `encodeDecimal(CharSequence)`.

      To encode text using both character entity references and numeric character references, use the
      `CharacterReference.encode(CharSequence)` method instead.

      To encode text using hexadecimal character references only, use the `encodeHexadecimal(CharSequence)` method instead.

      Parameters:
        `unencodedText` - the text to encode.
      Returns:
        the encoded string.
      See Also:
        `CharacterReference.decode(CharSequence)`

    - #### encodeDecimal

          public static java.lang.String encodeDecimal(java.lang.CharSequence unencodedText)

      Encodes the specified text, escaping special characters into decimal character references.

      Each character is encoded only if the `requiresEncoding(char)` method would return `true` for that character.

      To encode text using both character entity references and numeric character references, use the
      `CharacterReference.encode(CharSequence)` method instead.

      To encode text using hexadecimal character references only, use the `encodeHexadecimal(CharSequence)` method instead.

      Parameters:
        `unencodedText` - the text to encode.
      Returns:
        the encoded string.
      See Also:
        `CharacterReference.decode(CharSequence)`

    - #### encodeHexadecimal

          public static java.lang.String encodeHexadecimal(java.lang.CharSequence unencodedText)

      Encodes the specified text, escaping special characters into hexadecimal character references.

      Each character is encoded only if the `requiresEncoding(char)` method would return `true` for that character.

      To encode text using both character entity references and numeric character references, use the
      `CharacterReference.encode(CharSequence)` method instead.

      To encode text using decimal character references only, use the `encodeDecimal(CharSequence)` method instead.

      Parameters:
        `unencodedText` - the text to encode.
      Returns:
        the encoded string.
      See Also:
        `CharacterReference.decode(CharSequence)`

    - #### getCharacterReferenceString

          public java.lang.String getCharacterReferenceString()

      Returns the correct encoded form of this numeric character reference.

      The returned string uses the same radix as the original character reference in the source document, i.e. decimal format if `isDecimal()` is `true`, and hexadecimal format if `isHexadecimal()` is `true`.

      Note that the returned string is not necessarily the same as the original source text used to create this object. This library recognises certain invalid forms of character references, as detailed in the `decode(CharSequence)` method.

      To retrieve the original source text, use the `toString()` method instead.

      Example:
        `CharacterReference.parse("&#62").getCharacterReferenceString()` returns "`&#62;`"
      Specified by:
        `getCharacterReferenceString` in class `CharacterReference`
      Returns:
        the correct encoded form of this numeric character reference.
      See Also:
        `CharacterReference.getCharacterReferenceString(int codePoint)`

    - #### getCharacterReferenceString

          public static java.lang.String getCharacterReferenceString(int codePoint)

      Returns the numeric character reference encoded form of the specified unicode code point.

      This method returns the character reference in decimal format, and is exactly the same as calling `CharacterReference.getDecimalCharacterReferenceString(int codePoint)`.

      To get either the character entity reference or numeric character reference, use the
      `CharacterReference.getCharacterReferenceString(int codePoint)` method instead.

      To get the character reference in hexadecimal format, use the `CharacterReference.getHexadecimalCharacterReferenceString(int codePoint)` method instead.

      Examples:
        `NumericCharacterReference.getCharacterReferenceString(62)` returns "`&#62;`"
        `NumericCharacterReference.getCharacterReferenceString('>')` returns "`&#62;`"
      Returns:
        the numeric character reference encoded form of the specified unicode code point.
      See Also:
        `CharacterReference.getCharacterReferenceString(int codePoint)`

    - #### getDebugInfo

          public java.lang.String getDebugInfo()

      Description copied from class: `Segment`
      Returns a string representation of this object useful for debugging purposes.
      Overrides:
        `getDebugInfo` in class `Segment`
      Returns:
        a string representation of this object useful for debugging purposes.