Package nu.validator.htmlparser.impl
Class UTF16Buffer
java.lang.Object
nu.validator.htmlparser.impl.UTF16Buffer
An UTF-16 buffer that knows the start and end indeces of its unconsumed
content.
- Version:
- $Id$
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final char[]
The backing store of the buffer.private int
The index of the slot immediately after the last character in the backing buffer that is part of the logical content of thisUTF16Buffer
.private int
The index of the first unconsumed character in the backing buffer. -
Constructor Summary
ConstructorsConstructorDescriptionUTF16Buffer
(char[] buffer, int start, int end) Constructor for wrapping an existing UTF-16 code unit array. -
Method Summary
Modifier and TypeMethodDescriptionvoid
adjust
(boolean lastWasCR) Adjusts the start index to skip over the first character if it is a line feed and the previous character was a carriage return.char[]
Returns the backing buffer.int
getEnd()
Returns the end index.int
getStart()
Returns the start index.boolean
hasMore()
Checks if the buffer has data left.void
setEnd
(int end) Sets the end index.void
setStart
(int start) Sets the start index.
-
Field Details
-
buffer
private final char[] bufferThe backing store of the buffer. May be larger than the logical content of thisUTF16Buffer
. -
start
private int startThe index of the first unconsumed character in the backing buffer. -
end
private int endThe index of the slot immediately after the last character in the backing buffer that is part of the logical content of thisUTF16Buffer
.
-
-
Constructor Details
-
UTF16Buffer
public UTF16Buffer(char[] buffer, int start, int end) Constructor for wrapping an existing UTF-16 code unit array.- Parameters:
buffer
- the backing bufferstart
- the index of the first character to consumeend
- the index immediately after the last character to consume
-
-
Method Details
-
getStart
public int getStart()Returns the start index.- Returns:
- the start index
-
setStart
public void setStart(int start) Sets the start index.- Parameters:
start
- the start index
-
getBuffer
public char[] getBuffer()Returns the backing buffer.- Returns:
- the backing buffer
-
getEnd
public int getEnd()Returns the end index.- Returns:
- the end index
-
hasMore
public boolean hasMore()Checks if the buffer has data left.- Returns:
true
if there's data left
-
adjust
public void adjust(boolean lastWasCR) Adjusts the start index to skip over the first character if it is a line feed and the previous character was a carriage return.- Parameters:
lastWasCR
- whether the previous character was a carriage return
-
setEnd
public void setEnd(int end) Sets the end index.- Parameters:
end
- the end index
-