public Message addlist(Object... args) { for (Object o : args) { if (o == null) { adduint8(T_NIL); } else if (o instanceof Integer) { adduint8(T_INT); addint32(((Integer) o).intValue()); } else if (o instanceof String) { adduint8(T_STR); addstring((String) o); } else if (o instanceof Coord) { adduint8(T_COORD); addcoord((Coord) o); } else if (o instanceof byte[]) { byte[] b = (byte[]) o; adduint8(T_BYTES); if (b.length < 128) { adduint8(b.length); } else { adduint8(0x80); addint32(b.length); } addbytes(b); } else if (o instanceof Float) { adduint8(T_FLOAT32); addfloat32(((Float) o).floatValue()); } else if (o instanceof Double) { adduint8(T_FLOAT64); addfloat64(((Float) o).floatValue()); } else { throw (new RuntimeException("Cannot encode a " + o.getClass() + " as TTO")); } } return (this); }
public Message addstring2(String str) { addbytes(str.getBytes(Utils.utf8)); return (this); }
public Message addbytes(byte[] src) { addbytes(src, 0, src.length); return (this); }