private final Object decodeNumber(boolean negative) { char[] chars = characterSource.readNumber (); Object value = null; if ( CharScanner.hasDecimalChar(chars, negative) ) { value = CharScanner.parseDouble( chars ); } else if (CharScanner.isInteger ( chars )) { value = CharScanner.parseInt ( chars ); } else if (CharScanner.isLong( chars )) { value = CharScanner.parseLong ( chars ); } return value; }
@Override public String errorDetails( String message ) { if (index < chars.length) { ch = chars[index]; } else { ch = chars[chars.length-1]; } return CharScanner.errorDetails ( message, chars, index, ch ); }
public static boolean isDecimalDigit( int c ) { return isDigit ( c ) || isDecimalChar ( c ); }
private MethodCall<Object> handleFastBodySubmissionVersion1Chars(final String returnAddress, char[] chars) { final char[][] args = CharScanner.splitFromStartWithLimit(chars, (char) PROTOCOL_SEPARATOR, 0, METHOD_NAME_POS + 2); id = CharScanner.parseLong(args[MESSAGE_ID_POS]); timestamp = CharScanner.parseLong(args[TIMESTAMP_POS]); final char[][] argumentList = CharScanner.split(body, (char) PROTOCOL_ARG_SEPARATOR);
@Override public long longValue () { if ( CharScanner.isInteger(buffer, startIndex, endIndex - startIndex) ){ return CharScanner.parseInt(buffer, startIndex, endIndex); } else if( CharScanner.isLong(buffer, startIndex, endIndex - startIndex)){ return CharScanner.parseLong(buffer, startIndex, endIndex); } else { return 0L; } }
for (;index<max; index++) { char ch = buffer[ index ]; if ( isNumberDigit(ch) ) { } else if ( ch <= 32 || isDelimiter( ch ) ) { break;} else if ( ch == '.' ) { foundDot = true; if ( isInteger( buffer, from, length ) ) { value = parseInt(buffer, from, index); } else { value = parseLong(buffer, from, index); if ( isInteger( buffer, from, length ) ) { lvalue = parseIntFromToIgnoreDot( buffer, from, index ); } else { lvalue = parseLongFromToIgnoreDot( buffer, from, index );
private final Value decodeNumberOverlay(final boolean minus) { char[] array = charArray; final int startIndex = __index; int index = __index; char currentChar; boolean doubleFloat = false; if (minus && index + 1 < array.length) { index++; } while (true) { currentChar = array[index]; if (CharScanner.isNumberDigit(currentChar)) { //noop } else if ( currentChar <= 32 ) { //white break; } else if ( CharScanner.isDelimiter ( currentChar ) ) { break; } else if ( CharScanner.isDecimalChar(currentChar) ) { doubleFloat = true; } index++; if (index >= array.length) break; } __index = index; __currentChar = currentChar; TypeType type = doubleFloat ? TypeType.DOUBLE : TypeType.INT; NumberValue value = new NumberValue ( chop, type, startIndex, __index, this.charArray ); return value; }
public long longValue() { return CharScanner.parseLong(buffer, 0, location); }
@Override public double doubleValue () { return CharScanner.parseDouble( this.buffer, startIndex, endIndex ); }
public static int parseInt( char[] digitChars ) { return parseInt(digitChars, 0, digitChars.length); }
public static boolean isInteger( char[] digitChars ) { return isInteger ( digitChars, 0, digitChars.length ); }
for (;index<max; index++) { int ch = buffer[ index ]; if ( CharScanner.isNumberDigit(ch) ) { } else if ( ch <= 32 || CharScanner.isDelimiter(ch) ) { break;} else if ( ch == '.' ) { foundDot = true;
private final Object decodeNumber() { Number num = CharScanner.parseJsonNumber( charArray, __index, charArray.length, endIndex ); __index = endIndex[0]; return num; }
@Override public void skipWhiteSpace() { try { index = CharScanner.skipWhiteSpace( readBuf, index, length ); if (index >= length && more) { ensureBuffer(); skipWhiteSpace(); } } catch ( Exception ex ) { ex.printStackTrace(); String str = CharScanner.errorDetails ( "skipWhiteSpaceIfNeeded issue", readBuf, index, ch ); Exceptions.handle ( ex, str, "\n\nLENGTH", length, "INDEX", index ); } }
public char[] readNumber( ) { try { ensureBuffer(); char [] results = CharScanner.readNumber( readBuf, index, length); index += results.length; if (index >= length && more) { ensureBuffer(); if (length!=0) { char results2[] = readNumber(); return Chr.add(results, results2); } else { return results; } } else { return results; } } catch (Exception ex) { String str = CharScanner.errorDetails ( "readNumber issue", readBuf, index, ch ); return Exceptions.handle ( char[].class, str, ex ); } }
private Value decodeStringLax() { int index = __index; char currentChar; final int startIndex = __index; boolean encoded = false; char [] charArray = this.charArray; for (; index < charArray.length; index++ ) { currentChar = charArray[ index ]; if (CharScanner.isDelimiter(currentChar)) break; else if (currentChar == '\\') break; } Value value = this.extractLaxString( startIndex, index, encoded, checkDates); __index = index; return value; }
public static boolean isLong( char[] digitChars ) { return isLong ( digitChars, 0, digitChars.length ); }