@Override public List<Message<Object>> parse(String address, String args) { final char[] chars = FastStringUtils.toCharArray(args); if (chars.length > 2 && chars[PROTOCOL_MARKER_POSITION] == PROTOCOL_MARKER) { final char versionMarker = chars[VERSION_MARKER_POSITION]; if (versionMarker == PROTOCOL_MESSAGE_TYPE_GROUP) { final char[][] cargs = CharScanner.splitFromStartWithLimit(chars, (char) PROTOCOL_SEPARATOR, 0, METHOD_NAME_POS + 2); char[] returnAddressChars = cargs[RETURN_ADDRESS_POS]; final String returnAddress = FastStringUtils.noCopyStringFromChars(returnAddressChars); final char[][] messageBuffers = CharScanner.splitFrom(chars, (char) PROTOCOL_MESSAGE_SEPARATOR, 2); List<Message<Object>> messages = new ArrayList<>(messageBuffers.length); for (int index = 1; index < messageBuffers.length; index++) { char[] messageBuffer = messageBuffers[index]; final Message<Object> m = parseMessageFromChars(returnAddress, messageBuffer); messages.add(m); } return messages; } else { die("Unsupported method call", args); return null; } } return null; }
public MultiMap<String, String> parseHeaders(String header) { if (Str.isEmpty(header)) { return null; } MultiMap<String, String> params = new MultiMapImpl<>(); final char[][] split = CharScanner.split(FastStringUtils.toCharArray(header), (char) Protocol.PROTOCOL_ENTRY_HEADER_DELIM); for (char[] entry : split) { final char[][] kvSplit = CharScanner.split(entry, (char) PROTOCOL_KEY_HEADER_DELIM); if (kvSplit.length > 1) { char[] ckey = kvSplit[0]; char[] valuesAsOne = kvSplit[1]; final char[][] values = CharScanner.split(valuesAsOne, (char) PROTOCOL_VALUE_HEADER_DELIM); String key = new String(ckey); for (char[] value : values) { params.add(key, new String(value)); } } } return params; }
public void addAsUTF( byte[] value ) { String str = new String(value, StandardCharsets.UTF_8); final char[] chars = FastStringUtils.toCharArray(str); this.add(chars); }
public final CharBuf decodeJsonString ( byte[] bytes, int start, int to ) { String str = new String(bytes, start, to - start, StandardCharsets.UTF_8); final char[] chars = FastStringUtils.toCharArray(str); this.decodeJsonString(chars); return this; }
/** * See if chars is in another string * @param chars chars * @param str string * @return true or false */ public static boolean in( char[] chars, String str ) { return Chr.in ( chars, FastStringUtils.toCharArray(str) ); }
/** * See if a char is in a string * @param c char * @param offset offset * @param str string * @return true or false */ public static boolean in( char c, int offset, String str ) { return Chr.in ( c, offset, FastStringUtils.toCharArray(str) ); }
/** * Parse float * @param buffer input buffer * @param from from * @param to to * @return value */ public static float parseFloat( String buffer, int from, int to ) { return CharScanner.parseFloat( FastStringUtils.toCharArray(buffer), from , to ); }
/** * parse an long within a range * @param buffer input string * @return value */ public static long parseLong( String buffer, int from, int to ) { return CharScanner.parseLong( FastStringUtils.toCharArray(buffer), from , to ); }
public static String[] splitByCharsFromToDelims( final String string, int from, int to, final char... delimiters ) { char[][] comps = CharScanner.splitByCharsFromToDelims( FastStringUtils.toCharArray( string ), from, to, delimiters ); return Str.fromCharArrayOfArrayToStringArray( comps ); }
/** * Gets slice of a string. * @param str string * @param start start index of slice * @return new string */ public static String slc( String str, int start ) { return FastStringUtils.noCopyStringFromChars(Chr.slc(FastStringUtils.toCharArray(str), start)); }
/** * Gets end slice of a string. * @param str string * @param end end index of slice * @return new string */ public static String slcEnd( String str, int end ) { return FastStringUtils.noCopyStringFromChars( Chr.slcEnd( FastStringUtils.toCharArray(str), end ) ); }
/** * Gets rid of null characters lurking in the string * @param str string * @return new string */ public static String compact( String str ) { return FastStringUtils.noCopyStringFromChars( Chr.compact( FastStringUtils.toCharArray(str) ) ); }
/** * Split a string by space * @param str string to split * @return string array */ public static String[] splitBySpace( String str ) { char[][] split = CharScanner.splitBySpace(FastStringUtils.toCharArray(str)); return fromCharArrayOfArrayToStringArray( split ); }
/** * Convert to camel case and pass upper or lower * @param inStr string to convert * @param upper upper flag * @return new string */ public static String camelCase( String inStr, boolean upper ) { char[] in = FastStringUtils.toCharArray(inStr); char[] out = Chr.camelCase( in, upper ); return FastStringUtils.noCopyStringFromChars( out ); }
/** * Gets slice of a string. * @param str string * @param start start index of slice * @return new string */ public static String slc( String str, int start ) { return FastStringUtils.noCopyStringFromChars(Chr.slc(FastStringUtils.toCharArray(str), start)); }
/** * Get slice of string * @param str string * @param start start index * @param end end index * @return new string */ public static String slc( String str, int start, int end ) { return FastStringUtils.noCopyStringFromChars(Chr.slc(FastStringUtils.toCharArray(str), start, end)); }
/** * Gets rid of null characters lurking in the string * @param str string * @return new string */ public static String compact( String str ) { return FastStringUtils.noCopyStringFromChars( Chr.compact( FastStringUtils.toCharArray(str) ) ); }
/** * Split a string by commas * @param str string to split * @return string array */ public static String[] splitComma( String str ) { char[][] split = Chr.splitComma( FastStringUtils.toCharArray(str) ); return fromCharArrayOfArrayToStringArray( split ); }
/** * Split a string by space * @param str string to split * @return string array */ public static String[] splitBySpace( String str ) { char[][] split = CharScanner.splitBySpace(FastStringUtils.toCharArray(str)); return fromCharArrayOfArrayToStringArray( split ); }
@Override public final void serializeDate( JsonSerializerInternal jsonSerializer, Date date, CharBuf builder ) { String string = dateCache.get ( date ); if ( string == null) { CharBuf buf = CharBuf.create ( Dates.JSON_TIME_LENGTH ); Dates.jsonDateChars ( calendar, date, buf ); string = buf.toString(); dateCache.put ( date, string ); } builder.addChars ( FastStringUtils.toCharArray( string ) ); } }