@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; }
@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; }
@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; }
protected Object readAMF3Array() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored array. return storedObjects.get(lengthOrIndex); String key = readAMF3String(); if (key.length() == 0) { Object[] objects = new Object[lengthOrIndex]; storedObjects.add(objects); for (int i = 0; i < lengthOrIndex; i++) objects[i] = readObject(); return objects; } Map<Object, Object> map = new HashMap<Object, Object>(lengthOrIndex); storedObjects.add(map); while (key.length() > 0) { map.put(key, readObject()); key = readAMF3String(); } for (int i = 0; i < lengthOrIndex; i++) map.put(Integer.valueOf(i), readObject()); return map; }
protected Object readAMF3Array() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored array. return storedObjects.get(lengthOrIndex); String key = readAMF3String(); if (key.length() == 0) { Object[] objects = new Object[lengthOrIndex]; storedObjects.add(objects); for (int i = 0; i < lengthOrIndex; i++) objects[i] = readObject(); return objects; } Map<Object, Object> map = new HashMap<Object, Object>(lengthOrIndex); storedObjects.add(map); while (key.length() > 0) { map.put(key, readObject()); key = readAMF3String(); } for (int i = 0; i < lengthOrIndex; i++) map.put(Integer.valueOf(i), readObject()); return map; }
protected Object readAMF3Array() throws IOException { final int type = readAMF3UnsignedInteger(); final int lengthOrIndex = type >>> 1; if ((type & 0x01) == 0) // stored array. return storedObjects.get(lengthOrIndex); String key = readAMF3String(); if (key.length() == 0) { Object[] objects = new Object[lengthOrIndex]; storedObjects.add(objects); for (int i = 0; i < lengthOrIndex; i++) objects[i] = readObject(); return objects; } Map<Object, Object> map = new HashMap<Object, Object>(lengthOrIndex); storedObjects.add(map); while (key.length() > 0) { map.put(key, readObject()); key = readAMF3String(); } for (int i = 0; i < lengthOrIndex; i++) map.put(Integer.valueOf(i), readObject()); return map; }
final byte encoding = (byte)((flags >>> 2) & 0x03); String alias = readAMF3String(); String className = aliasRegistry.getTypeForAlias(alias); String name = readAMF3String(); desc.defineProperty(name);
final byte encoding = (byte)((flags >>> 2) & 0x03); String alias = readAMF3String(); String className = aliasRegistry.getTypeForAlias(alias); String name = readAMF3String(); desc.defineProperty(name);
final byte encoding = (byte)((flags >>> 2) & 0x03); String alias = readAMF3String(); String className = aliasRegistry.getTypeForAlias(alias); String name = readAMF3String(); desc.defineProperty(name);
protected Object readAMF3Array() throws IOException { Object result = null; int type = readAMF3Integer(); if ((type & 0x01) == 0) // stored array. result = getFromStoredObjects(type >> 1); else { final int size = type >> 1; String key = readAMF3String(); if (key.length() == 0) { Object[] objects = new Object[size]; addToStoredObjects(objects); for (int i = 0; i < size; i++) objects[i] = readObject(); result = objects; } else { Map<Object, Object> map = new HashMap<Object, Object>(); addToStoredObjects(map); while(key.length() > 0) { map.put(key, readObject()); key = readAMF3String(); } for (int i = 0; i < size; i++) map.put(Integer.valueOf(i), readObject()); result = map; } } if (debugMore) logMore.debug("readAMF3Array() -> %s", result); return result; }
protected void readStandard(ActionScriptClassDescriptor desc, Object result) throws IOException { // defined values... final int count = desc.getPropertiesCount(); for (int i = 0; i < count; i++) { Property property = desc.getProperty(i); Object value = readObject(readUnsignedByte()); if (value != null && value.getClass() == property.getType()) property.setValue(result, value, false); else property.setValue(result, value, true); } // dynamic values... if (desc.isDynamic()) { while (true) { String name = readAMF3String(); if (name.length() == 0) break; Object value = readObject(readUnsignedByte()); desc.setPropertyValue(name, result, value); } } }
protected void readStandard(ActionScriptClassDescriptor desc, Object result) throws IOException { // defined values... final int count = desc.getPropertiesCount(); for (int i = 0; i < count; i++) { Property property = desc.getProperty(i); Object value = readObject(readUnsignedByte()); if (value != null && value.getClass() == property.getType()) property.setValue(result, value, false); else property.setValue(result, value, true); } // dynamic values... if (desc.isDynamic()) { while (true) { String name = readAMF3String(); if (name.length() == 0) break; Object value = readObject(readUnsignedByte()); desc.setPropertyValue(name, result, value); } } }
protected void readStandard(ActionScriptClassDescriptor desc, Object result) throws IOException { // defined values... final int count = desc.getPropertiesCount(); for (int i = 0; i < count; i++) { Property property = desc.getProperty(i); Object value = readObject(readUnsignedByte()); if (value != null && value.getClass() == property.getType()) property.setValue(result, value, false); else property.setValue(result, value, true); } // dynamic values... if (desc.isDynamic()) { while (true) { String name = readAMF3String(); if (name.length() == 0) break; Object value = readObject(readUnsignedByte()); desc.setPropertyValue(name, result, value); } } }
return readAMF3Double(); case AMF3_STRING: // 0x06; return readAMF3String(); case AMF3_XML: // 0x07; return readAMF3Xml();
return readAMF3Double(); case AMF3_STRING: // 0x06; return readAMF3String(); case AMF3_XML: // 0x07; return readAMF3Xml();
return readAMF3Double(); case AMF3_STRING: // 0x06; return readAMF3String(); case AMF3_XML: // 0x07; return readAMF3Xml();
return readAMF3Double(); case AMF3_STRING: // 0x06; return readAMF3String(); case AMF3_XML: // 0x07; return readAMF3Xml();
if (debug) log.debug("readAMF3Object() - encoding=%d", encoding); String alias = readAMF3String(); String className = context.getGraniteConfig().getAliasRegistry().getTypeForAlias(alias); if (debug) log.debug("readAMF3Object() - alias=%, className=%s", alias, className); String name = readAMF3String(); if (debug) log.debug("readAMF3Object() - defining property name=%s", name); desc.defineProperty(name); if (debug) log.debug("readAMF3Object() - reading dynamic properties..."); while (true) { String name = readAMF3String(); if (name.length() == 0) break;