public class ClosingPositionBufProcessor extends AbstractStringAwareBufProcessor implements ByteBufProcessor
A ByteBufProcessor
to find a closing character position. Applying this to a buffer will output the position of the closing of the section, relative to that buffer’s readerIndex, or -1 if the end of the section couldn’t be found.
Note that this processor will only work correctly if the number of opening and closing characters match up. This is typically the case when searching for open and closing {} in a streaming JSON response (in which case the constructor variant that detects JSON strings should be used).
It is invoked on a ByteBuf
by calling ByteBuf.forEachByte(ByteBufProcessor)
methods.
FIND_CR, FIND_CRLF, FIND_LF, FIND_LINEAR_WHITESPACE, FIND_NON_CR, FIND_NON_CRLF, FIND_NON_LF, FIND_NON_LINEAR_WHITESPACE, FIND_NON_NUL, FIND_NUL
Constructor and Description |
---|
ClosingPositionBufProcessor(char openingChar,
char closingChar) |
ClosingPositionBufProcessor(char openingChar,
char closingChar,
boolean detectJsonString) |
Modifier and Type | Method and Description |
---|---|
boolean |
process(byte current) |
isEscaped
public ClosingPositionBufProcessor(char openingChar, char closingChar)
openingChar
- the opening section character (used to detect a sub-section).closingChar
- the closing section character to search for.public ClosingPositionBufProcessor(char openingChar, char closingChar, boolean detectJsonString)
openingChar
- the opening section character (used to detect a sub-section)closingChar
- the closing section character to search for.detectJsonString
- set to true to not inspect bytes detected as being part of a String.public boolean process(byte current) throws Exception
process
in interface ByteBufProcessor
Exception
Copyright © 2017 Couchbase, Inc.. All rights reserved.