net.htmlparser.jericho
Class NumericCharacterReference

java.lang.Object
  extended by Segment
      extended by CharacterReference
          extended by 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:

See Also:
CharacterReference, CharacterEntityReference

Field Summary
 
Fields inherited from class CharacterReference
INVALID_CODE_POINT
 
Method Summary
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 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 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, 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.