本文整理汇总了Java中com.fasterxml.jackson.core.io.CharTypes类的典型用法代码示例。如果您正苦于以下问题:Java CharTypes类的具体用法?Java CharTypes怎么用?Java CharTypes使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CharTypes类属于com.fasterxml.jackson.core.io包,在下文中一共展示了CharTypes类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toString
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Overridden to provide developer readable "JsonPath" representation
* of the context.
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder(64);
switch (_type) {
case TYPE_ROOT:
sb.append("/");
break;
case TYPE_ARRAY:
sb.append('[');
sb.append(getCurrentIndex());
sb.append(']');
break;
case TYPE_OBJECT:
default:
sb.append('{');
String currentName = currentName();
if (currentName != null) {
sb.append('"');
CharTypes.appendQuoted(sb, currentName);
sb.append('"');
} else {
sb.append('?');
}
sb.append('}');
break;
}
return sb.toString();
}
示例2: _skipLine
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Method for skipping contents of an input line; usually for CPP
* and YAML style comments.
*/
private final void _skipLine() throws IOException
{
// Ok: need to find EOF or linefeed
final int[] codes = CharTypes.getInputCodeComment();
while ((_inputPtr < _inputEnd) || _loadMore()) {
int i = (int) _inputBuffer[_inputPtr++] & 0xFF;
int code = codes[i];
if (code != 0) {
switch (code) {
case INT_LF:
++_currInputRow;
_currInputRowStart = _inputPtr;
return;
case INT_CR:
_skipCR();
return;
case '*': // nop for these comments
break;
case 2: // 2-byte UTF
_skipUtf8_2();
break;
case 3: // 3-byte UTF
_skipUtf8_3();
break;
case 4: // 4-byte UTF
_skipUtf8_4(i);
break;
default: // e.g. -1
if (code < 0) {
// Is this good enough error message?
_reportInvalidChar(i);
}
}
}
}
}
示例3: _skipCComment
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
private final void _skipCComment() throws IOException
{
// Need to be UTF-8 aware here to decode content (for skipping)
final int[] codes = CharTypes.getInputCodeComment();
int i = _inputData.readUnsignedByte();
// Ok: need the matching '*/'
main_loop:
while (true) {
int code = codes[i];
if (code != 0) {
switch (code) {
case '*':
i = _inputData.readUnsignedByte();
if (i == INT_SLASH) {
return;
}
continue main_loop;
case INT_LF:
case INT_CR:
++_currInputRow;
break;
case 2: // 2-byte UTF
_skipUtf8_2();
break;
case 3: // 3-byte UTF
_skipUtf8_3();
break;
case 4: // 4-byte UTF
_skipUtf8_4();
break;
default: // e.g. -1
// Is this good enough error message?
_reportInvalidChar(i);
}
}
i = _inputData.readUnsignedByte();
}
}
示例4: _skipLine
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Method for skipping contents of an input line; usually for CPP
* and YAML style comments.
*/
private final void _skipLine() throws IOException
{
// Ok: need to find EOF or linefeed
final int[] codes = CharTypes.getInputCodeComment();
while (true) {
int i = _inputData.readUnsignedByte();
int code = codes[i];
if (code != 0) {
switch (code) {
case INT_LF:
case INT_CR:
++_currInputRow;
return;
case '*': // nop for these comments
break;
case 2: // 2-byte UTF
_skipUtf8_2();
break;
case 3: // 3-byte UTF
_skipUtf8_3();
break;
case 4: // 4-byte UTF
_skipUtf8_4();
break;
default: // e.g. -1
if (code < 0) {
// Is this good enough error message?
_reportInvalidChar(i);
}
}
}
}
}
示例5: _handleOddName
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Method called when we see non-white space character other
* than double quote, when expecting a field name.
* In standard mode will just throw an exception; but
* in non-standard modes may be able to parse name.
*/
private JsonToken _handleOddName(int ch) throws IOException
{
// First: may allow single quotes
switch (ch) {
case '#':
// Careful, since this may alternatively be leading char of
// unquoted name...
if (JsonParser.Feature.ALLOW_YAML_COMMENTS.enabledIn(_features)) {
return _finishHashComment(MINOR_FIELD_LEADING_WS);
}
break;
case '/':
return _startSlashComment(MINOR_FIELD_LEADING_WS);
case '\'':
if (isEnabled(Feature.ALLOW_SINGLE_QUOTES)) {
return _finishAposName(0, 0, 0);
}
break;
case ']': // for better error reporting...
return _closeArrayScope();
}
// allow unquoted names if feature enabled:
if (!isEnabled(Feature.ALLOW_UNQUOTED_FIELD_NAMES)) {
// !!! TODO: Decode UTF-8 characters properly...
// char c = (char) _decodeCharForError(ch);
char c = (char) ch;
_reportUnexpectedChar(c, "was expecting double-quote to start field name");
}
// Also: note that although we use a different table here, it does NOT handle UTF-8
// decoding. It'll just pass those high-bit codes as acceptable for later decoding.
final int[] codes = CharTypes.getInputCodeUtf8JsNames();
// Also: must start with a valid character...
if (codes[ch] != 0) {
_reportUnexpectedChar(ch, "was expecting either valid name character (for unquoted name) or double-quote (for quoted) to start field name");
}
return _finishUnquotedName(0, ch, 1);
}
示例6: testQuoting
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
public void testQuoting()
{
StringBuilder sb = new StringBuilder();
CharTypes.appendQuoted(sb, "\n");
assertEquals("\\n", sb.toString());
sb = new StringBuilder();
CharTypes.appendQuoted(sb, "\u0000");
assertEquals("\\u0000", sb.toString());
}
示例7: _skipCppComment
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
private void _skipCppComment()
{
int[] arrayOfInt = CharTypes.getInputCodeComment();
while ((this._inputPtr < this._inputEnd) || (loadMore()))
{
byte[] arrayOfByte = this._inputBuffer;
int i = this._inputPtr;
this._inputPtr = (i + 1);
int j = 0xFF & arrayOfByte[i];
int k = arrayOfInt[j];
if (k != 0)
switch (k)
{
default:
break;
case 10:
_skipLF();
return;
case 13:
_skipCR();
return;
case 42:
break;
case 2:
_skipUtf8_2(j);
break;
case 3:
_skipUtf8_3(j);
break;
case 4:
_skipUtf8_4(j);
continue;
_reportInvalidChar(j);
}
}
}
示例8: toString
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
public final String toString()
{
StringBuilder localStringBuilder = new StringBuilder(64);
switch (this._type)
{
default:
break;
case 0:
localStringBuilder.append("/");
break;
case 1:
localStringBuilder.append('[');
localStringBuilder.append(getCurrentIndex());
localStringBuilder.append(']');
break;
case 2:
localStringBuilder.append('{');
if (this._currentName != null)
{
localStringBuilder.append('"');
CharTypes.appendQuoted(localStringBuilder, this._currentName);
localStringBuilder.append('"');
}
else
{
localStringBuilder.append('?');
}
localStringBuilder.append('}');
}
return localStringBuilder.toString();
}
示例9: _finishString
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
protected final void _finishString()
{
int i = this._inputPtr;
int j = this._inputEnd;
if (i < j)
{
int[] arrayOfInt = CharTypes.getInputCodeLatin1();
int m = arrayOfInt.length;
do
{
int n = this._inputBuffer[i];
if ((n < m) && (arrayOfInt[n] != 0))
{
if (n != 34)
break;
TextBuffer localTextBuffer2 = this._textBuffer;
char[] arrayOfChar2 = this._inputBuffer;
int i1 = this._inputPtr;
localTextBuffer2.resetWithShared(arrayOfChar2, i1, i - i1);
this._inputPtr = (i + 1);
return;
}
i++;
}
while (i < j);
}
TextBuffer localTextBuffer1 = this._textBuffer;
char[] arrayOfChar1 = this._inputBuffer;
int k = this._inputPtr;
localTextBuffer1.resetWithCopy(arrayOfChar1, k, i - k);
this._inputPtr = i;
_finishString2();
}
示例10: _parseApostropheFieldName
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
protected final String _parseApostropheFieldName()
{
int i = this._inputPtr;
int j = this._hashSeed;
int k = this._inputEnd;
if (i < k)
{
int[] arrayOfInt = CharTypes.getInputCodeLatin1();
int n = arrayOfInt.length;
do
{
int i1 = this._inputBuffer[i];
if (i1 == 39)
{
int i2 = this._inputPtr;
this._inputPtr = (i + 1);
return this._symbols.findSymbol(this._inputBuffer, i2, i - i2, j);
}
if ((i1 < n) && (arrayOfInt[i1] != 0))
break;
j = i1 + j * 33;
i++;
}
while (i < k);
}
int m = this._inputPtr;
this._inputPtr = i;
return _parseFieldName2(m, j, 39);
}
示例11: _parseFieldName
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
protected final String _parseFieldName(int paramInt)
{
if (paramInt != 34)
return _handleUnusualFieldName(paramInt);
int i = this._inputPtr;
int j = this._hashSeed;
int k = this._inputEnd;
if (i < k)
{
int[] arrayOfInt = CharTypes.getInputCodeLatin1();
int n = arrayOfInt.length;
do
{
int i1 = this._inputBuffer[i];
if ((i1 < n) && (arrayOfInt[i1] != 0))
{
if (i1 != 34)
break;
int i2 = this._inputPtr;
this._inputPtr = (i + 1);
return this._symbols.findSymbol(this._inputBuffer, i2, i - i2, j);
}
j = i1 + j * 33;
i++;
}
while (i < k);
}
int m = this._inputPtr;
this._inputPtr = i;
return _parseFieldName2(m, j, 34);
}
示例12: _skipLine
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Method for skipping contents of an input line; usually for CPP
* and YAML style comments.
*/
private final void _skipLine() throws IOException
{
// Ok: need to find EOF or linefeed
final int[] codes = CharTypes.getInputCodeComment();
while ((_inputPtr < _inputEnd) || loadMore()) {
int i = (int) _inputBuffer[_inputPtr++] & 0xFF;
int code = codes[i];
if (code != 0) {
switch (code) {
case INT_LF:
++_currInputRow;
_currInputRowStart = _inputPtr;
return;
case INT_CR:
_skipCR();
return;
case '*': // nop for these comments
break;
case 2: // 2-byte UTF
_skipUtf8_2(i);
break;
case 3: // 3-byte UTF
_skipUtf8_3(i);
break;
case 4: // 4-byte UTF
_skipUtf8_4(i);
break;
default: // e.g. -1
if (code < 0) {
// Is this good enough error message?
_reportInvalidChar(i);
}
}
}
}
}
示例13: toString
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
/**
* Overridden to provide developer readable "JsonPath" representation
* of the context.
*/
@Override
public String toString()
{
StringBuilder sb = new StringBuilder(64);
switch (_type) {
case TYPE_ROOT:
sb.append("/");
break;
case TYPE_ARRAY:
sb.append('[');
sb.append(getCurrentIndex());
sb.append(']');
break;
case TYPE_OBJECT:
sb.append('{');
if (_currentName != null) {
sb.append('"');
CharTypes.appendQuoted(sb, _currentName);
sb.append('"');
} else {
sb.append('?');
}
sb.append('}');
break;
}
return sb.toString();
}
示例14: _skipCppComment
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
private void _skipCppComment()
throws IOException, JsonParseException
{
// Ok: need to find EOF or linefeed
final int[] codes = CharTypes.getInputCodeComment();
while ((_inputPtr < _inputEnd) || loadMore()) {
int i = (int) _inputBuffer[_inputPtr++] & 0xFF;
int code = codes[i];
if (code != 0) {
switch (code) {
case INT_LF:
_skipLF();
return;
case INT_CR:
_skipCR();
return;
case INT_ASTERISK: // nop for these comments
break;
case 2: // 2-byte UTF
_skipUtf8_2(i);
break;
case 3: // 3-byte UTF
_skipUtf8_3(i);
break;
case 4: // 4-byte UTF
_skipUtf8_4(i);
break;
default: // e.g. -1
// Is this good enough error message?
_reportInvalidChar(i);
}
}
}
}
示例15: _finishString
import com.fasterxml.jackson.core.io.CharTypes; //导入依赖的package包/类
@Override
protected void _finishString()
throws IOException, JsonParseException
{
/* First: let's try to see if we have simple String value: one
* that does not cross input buffer boundary, and does not
* contain escape sequences.
*/
int ptr = _inputPtr;
final int inputLen = _inputEnd;
if (ptr < inputLen) {
final int[] codes = CharTypes.getInputCodeLatin1();
final int maxCode = codes.length;
do {
int ch = _inputBuffer[ptr];
if (ch < maxCode && codes[ch] != 0) {
if (ch == '"') {
_textBuffer.resetWithShared(_inputBuffer, _inputPtr, (ptr-_inputPtr));
_inputPtr = ptr+1;
// Yes, we got it all
return;
}
break;
}
++ptr;
} while (ptr < inputLen);
}
/* Either ran out of input, or bumped into an escape
* sequence...
*/
_textBuffer.resetWithCopy(_inputBuffer, _inputPtr, (ptr-_inputPtr));
_inputPtr = ptr;
_finishString2();
}