Package com.ctc.wstx.io
Class WstxInputData
- java.lang.Object
-
- com.ctc.wstx.io.WstxInputData
-
- Direct Known Subclasses:
StreamScanner
public class WstxInputData extends Object
Base class used by readers (specifically, byStreamScanner
, and its sub-classes) to encapsulate input buffer portion of the class. Philosophically this should probably be done via containment (composition), not sub-classing but for performance reason, this "core" class is generally extended from instead.Main reason for the input data portion to be factored out of main class is that this way it can also be passed to nested input handling Objects, which can then manipulate input buffers of the caller, efficiently.
-
-
Field Summary
Fields Modifier and Type Field Description static char
CHAR_NULL
Null-character is used as return value from some method(s), since it is not a legal character in an XML document.static char
CHAR_SPACE
static char
INT_NULL
static char
INT_SPACE
static int
MAX_UNICODE_CHAR
This constant defines the highest Unicode character allowed in XML content.protected long
mCurrInputProcessed
Number of characters that were contained in previous blocks (blocks that were already processed prior to the current buffer).protected int
mCurrInputRow
Current row location of current point in input buffer, starting from 1protected int
mCurrInputRowStart
Current index of the first character of the current row in input buffer.protected char[]
mInputBuffer
Current buffer from which data is read; generally data is read into buffer from input source, but not always (especially when using nested input contexts when expanding parsed entity references etc).protected int
mInputEnd
Index of character after last available one in the buffer.protected int
mInputPtr
Pointer to next available character in bufferprotected boolean
mXml11
Flag that indicates whether XML content is to be treated as per XML 1.1 specification or not (if not, it'll use xml 1.0).
-
Constructor Summary
Constructors Modifier Constructor Description protected
WstxInputData()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copyBufferStateFrom(WstxInputData src)
Note: Only public due to sub-classes needing to call this on base class instance from different package (confusing?)static int
findIllegalNameChar(String name, boolean nsAware, boolean xml11)
Method that can be called to check whether given String contains any characters that are not legal XML names.static int
findIllegalNmtokenChar(String nmtoken, boolean nsAware, boolean xml11)
static String
getCharDesc(char c)
protected boolean
isNameChar(char c)
Method that can be used to check whether specified character is a valid character of an XML 1.0/1.1 name as any other char than the first one; except that colon (:) is not recognized as valid here: caller has to verify it separately (since it generally affects namespace mapping of a qualified name).static boolean
isNameChar(char c, boolean nsAware, boolean xml11)
protected boolean
isNameStartChar(char c)
Method that can be used to check whether specified character is a valid first character of an XML 1.0/1.1 name; except that colon (:) is not recognized as a start char here: caller has to verify it separately (since it generally affects namespace mapping of a qualified name).static boolean
isNameStartChar(char c, boolean nsAware, boolean xml11)
static boolean
isSpaceChar(char c)
-
-
-
Field Detail
-
CHAR_NULL
public static final char CHAR_NULL
Null-character is used as return value from some method(s), since it is not a legal character in an XML document.- See Also:
- Constant Field Values
-
INT_NULL
public static final char INT_NULL
- See Also:
- Constant Field Values
-
CHAR_SPACE
public static final char CHAR_SPACE
- See Also:
- Constant Field Values
-
INT_SPACE
public static final char INT_SPACE
- See Also:
- Constant Field Values
-
MAX_UNICODE_CHAR
public static final int MAX_UNICODE_CHAR
This constant defines the highest Unicode character allowed in XML content.- See Also:
- Constant Field Values
-
mXml11
protected boolean mXml11
Flag that indicates whether XML content is to be treated as per XML 1.1 specification or not (if not, it'll use xml 1.0).
-
mInputBuffer
protected char[] mInputBuffer
Current buffer from which data is read; generally data is read into buffer from input source, but not always (especially when using nested input contexts when expanding parsed entity references etc).
-
mInputPtr
protected int mInputPtr
Pointer to next available character in buffer
-
mInputEnd
protected int mInputEnd
Index of character after last available one in the buffer.
-
mCurrInputProcessed
protected long mCurrInputProcessed
Number of characters that were contained in previous blocks (blocks that were already processed prior to the current buffer).
-
mCurrInputRow
protected int mCurrInputRow
Current row location of current point in input buffer, starting from 1
-
mCurrInputRowStart
protected int mCurrInputRowStart
Current index of the first character of the current row in input buffer. Needed to calculate column position, if necessary; benefit of not having column itself is that this only has to be updated once per line.
-
-
Method Detail
-
copyBufferStateFrom
public void copyBufferStateFrom(WstxInputData src)
Note: Only public due to sub-classes needing to call this on base class instance from different package (confusing?)
-
isNameStartChar
protected final boolean isNameStartChar(char c)
Method that can be used to check whether specified character is a valid first character of an XML 1.0/1.1 name; except that colon (:) is not recognized as a start char here: caller has to verify it separately (since it generally affects namespace mapping of a qualified name).
-
isNameChar
protected final boolean isNameChar(char c)
Method that can be used to check whether specified character is a valid character of an XML 1.0/1.1 name as any other char than the first one; except that colon (:) is not recognized as valid here: caller has to verify it separately (since it generally affects namespace mapping of a qualified name).
-
isNameStartChar
public static final boolean isNameStartChar(char c, boolean nsAware, boolean xml11)
-
isNameChar
public static final boolean isNameChar(char c, boolean nsAware, boolean xml11)
-
findIllegalNameChar
public static final int findIllegalNameChar(String name, boolean nsAware, boolean xml11)
Method that can be called to check whether given String contains any characters that are not legal XML names.- Returns:
- Index of the first illegal xml name characters, if any; -1 if the name is completely legal
-
findIllegalNmtokenChar
public static final int findIllegalNmtokenChar(String nmtoken, boolean nsAware, boolean xml11)
-
isSpaceChar
public static final boolean isSpaceChar(char c)
-
getCharDesc
public static String getCharDesc(char c)
-
-