Package org.snakeyaml.engine.v2.scanner
Class StreamReader
java.lang.Object
org.snakeyaml.engine.v2.scanner.StreamReader
Read the provided stream of code points into String and implement look-ahead operations. Checks
if code points are in the allowed range.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final char[]
private final int
private int[]
Read data (as a moving window for input stream)private int
private int
Real length of the data in dataWindowprivate boolean
private int
index is only required to implement 1024 key length restriction and the total length restrictionprivate int
private final String
private int
The variable points to the current position in the data arrayprivate final Reader
private final boolean
-
Constructor Summary
ConstructorsConstructorDescriptionStreamReader
(Reader reader, LoadSettings loadSettings) Deprecated.use the other constructor with LoadSettings firstStreamReader
(String stream, LoadSettings loadSettings) Deprecated.use the other constructor with LoadSettings firstStreamReader
(LoadSettings loadSettings, Reader reader) CreateStreamReader
(LoadSettings loadSettings, String stream) Create -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
private boolean
ensureEnoughData
(int size) void
forward()
read the next character and move the pointer.void
forward
(int length) read the next length characters and move the pointer.int
int
getIndex()
int
getLine()
getMark()
GenerateMark
if it is configuredstatic boolean
isPrintable
(int c) Check if the code point is human-readablestatic boolean
isPrintable
(String data) Check if the all the data is human-readable (used in Representer)int
peek()
Peek the next code point (look without moving the pointer)int
peek
(int index) Peek the next index-th code pointprefix
(int length) Create String from code pointsprefixForward
(int length) prefix(length) immediately followed by forward(length)private void
update()
-
Field Details
-
name
-
stream
-
bufferSize
private final int bufferSize -
buffer
private final char[] buffer -
useMarks
private final boolean useMarks -
codePointsWindow
private int[] codePointsWindowRead data (as a moving window for input stream) -
dataLength
private int dataLengthReal length of the data in dataWindow -
pointer
private int pointerThe variable points to the current position in the data array -
eof
private boolean eof -
index
private int indexindex is only required to implement 1024 key length restriction and the total length restriction -
line
private int line -
column
private int column
-
-
Constructor Details
-
StreamReader
Deprecated.use the other constructor with LoadSettings first- Parameters:
reader
- - the inputloadSettings
- - configuration options
-
StreamReader
Create- Parameters:
loadSettings
- - configuration optionsreader
- - the input
-
StreamReader
Deprecated.use the other constructor with LoadSettings first- Parameters:
stream
- - the inputloadSettings
- - configuration options
-
StreamReader
Create- Parameters:
loadSettings
- - configuration optionsstream
- - the input
-
-
Method Details
-
isPrintable
Check if the all the data is human-readable (used in Representer)- Parameters:
data
- - content to be checked for human-readability- Returns:
- true only when everything is human-readable
-
isPrintable
public static boolean isPrintable(int c) Check if the code point is human-readable- Parameters:
c
- - code point to be checked for human-readability- Returns:
- true only when the code point is human-readable
-
getMark
GenerateMark
if it is configured -
forward
public void forward()read the next character and move the pointer. if the last character is high surrogate one more character will be read -
forward
public void forward(int length) read the next length characters and move the pointer. if the last character is high surrogate one more character will be read- Parameters:
length
- amount of characters to move forward
-
peek
public int peek()Peek the next code point (look without moving the pointer)- Returns:
- the next code point or 0 if empty
-
peek
public int peek(int index) Peek the next index-th code point- Parameters:
index
- to peek- Returns:
- the next index-th code point or 0 if empty
-
prefix
Create String from code points- Parameters:
length
- amount of the characters to convert- Returns:
- the String representation
-
prefixForward
prefix(length) immediately followed by forward(length)- Parameters:
length
- amount of characters to get- Returns:
- the next length code points
-
ensureEnoughData
private boolean ensureEnoughData() -
ensureEnoughData
private boolean ensureEnoughData(int size) -
update
private void update() -
getColumn
public int getColumn()- Returns:
- current position as number (in characters) from the beginning of the current line
-
getIndex
public int getIndex()- Returns:
- current position as number (in characters) from the beginning of the stream
-
getLine
public int getLine()- Returns:
- current line from the beginning of the stream
-