protected int readAMF3Integer() throws IOException { return ((readAMF3UnsignedInteger() << 3) >> 3); }
protected String readAMF3XmlString() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object return (String)storedObjects.get(lengthOrIndex); byte[] bytes = new byte[lengthOrIndex]; readFully(bytes, 0, lengthOrIndex); String result = new String(bytes, UTF8); storedObjects.add(result); return result; }
protected byte[] readAMF3ByteArray() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object. return (byte[])storedObjects.get(lengthOrIndex); byte[] result = new byte[lengthOrIndex]; readFully(result, 0, lengthOrIndex); storedObjects.add(result); return result; }
protected String readAMF3XmlString() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object return (String)storedObjects.get(lengthOrIndex); byte[] bytes = new byte[lengthOrIndex]; readFully(bytes, 0, lengthOrIndex); String result = new String(bytes, UTF8); storedObjects.add(result); return result; }
protected String readAMF3XmlString() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object return (String)storedObjects.get(lengthOrIndex); byte[] bytes = new byte[lengthOrIndex]; readFully(bytes, 0, lengthOrIndex); String result = new String(bytes, UTF8); storedObjects.add(result); return result; }
protected byte[] readAMF3ByteArray() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object. return (byte[])storedObjects.get(lengthOrIndex); byte[] result = new byte[lengthOrIndex]; readFully(result, 0, lengthOrIndex); storedObjects.add(result); return result; }
protected byte[] readAMF3ByteArray() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored object. return (byte[])storedObjects.get(lengthOrIndex); byte[] result = new byte[lengthOrIndex]; readFully(result, 0, lengthOrIndex); storedObjects.add(result); return result; }
protected Date readAMF3Date() throws IOException { final int type = readAMF3UnsignedInteger(); if ((type & 0x01) == 0) // stored Date return (Date)storedObjects.get(type >>> 1); ensureAvailable(8); Date result = new Date((long)Double.longBitsToDouble(readLongData(buffer, position))); position += 8; storedObjects.add(result); return result; }
protected Date readAMF3Date() throws IOException { final int type = readAMF3UnsignedInteger(); if ((type & 0x01) == 0) // stored Date return (Date)storedObjects.get(type >>> 1); ensureAvailable(8); Date result = new Date((long)Double.longBitsToDouble(readLongData(buffer, position))); position += 8; storedObjects.add(result); return result; }
protected Date readAMF3Date() throws IOException { final int type = readAMF3UnsignedInteger(); if ((type & 0x01) == 0) // stored Date return (Date)storedObjects.get(type >>> 1); ensureAvailable(8); Date result = new Date((long)Double.longBitsToDouble(readLongData(buffer, position))); position += 8; storedObjects.add(result); return result; }
protected int[] readAMF3VectorInt() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (int[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... int[] vector = new int[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readInt(); return vector; }
protected double[] readAMF3VectorNumber() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (double[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... double[] vector = new double[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readDouble(); return vector; }
protected int[] readAMF3VectorInt() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (int[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... int[] vector = new int[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readInt(); return vector; }
protected long[] readAMF3VectorUint() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (long[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... long[] vector = new long[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = (readInt() & 0xffffffffL); return vector; }
protected long[] readAMF3VectorUint() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (long[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... long[] vector = new long[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = (readInt() & 0xffffffffL); return vector; }
protected double[] readAMF3VectorNumber() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (double[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... double[] vector = new double[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readDouble(); return vector; }
protected long[] readAMF3VectorUint() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (long[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... long[] vector = new long[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = (readInt() & 0xffffffffL); return vector; }
protected double[] readAMF3VectorNumber() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (double[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... double[] vector = new double[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readDouble(); return vector; }
protected int[] readAMF3VectorInt() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (int[])storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... int[] vector = new int[lengthOrIndex]; storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector[i] = readInt(); return vector; }
@SuppressWarnings("unchecked") protected List<Object> readAMF3VectorObject() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored vector. return (List<Object>)storedObjects.get(lengthOrIndex); readByte(); // fixed flag: unused... readAMF3String(); // component class name: unused... List<Object> vector = new ArrayList<Object>(lengthOrIndex); storedObjects.add(vector); for (int i = 0; i < lengthOrIndex; i++) vector.add(readObject()); return vector; }