/** * Encodes an {@code Args} instance into a UTF8-encoded string. * * @return The UTF8-encoded string. */ public String encode() { StringBuilder builder = new StringBuilder(); for (Entry<String, Object> entry : entrySet()) { if (builder.length() > 0) builder.append('&'); String key = entry.getKey(); Object value = entry.getValue(); if (value instanceof String[]) { encodeValues(builder, key, (String[])value); } else { builder.append(encode(key)); builder.append('='); builder.append(encode(value.toString())); } } return builder.toString(); }