private void writeAMF3Data(AMF3Object data) throws IOException { dataOutput.writeByte(AMF0Body.DATA_TYPE_AMF3_OBJECT); AMF3Serializer amf3 = (AMF3Serializer)dataOutput; amf3.reset(); amf3.writeObject(data.getValue()); }
private void writeAMF3Data(AMF3Object data) throws IOException { dataOutput.writeByte(AMF0Body.DATA_TYPE_AMF3_OBJECT); AMF3Serializer amf3 = (AMF3Serializer)dataOutput; amf3.reset(); amf3.writeObject(data.getValue()); }
private void writeAMF3Data(AMF3Object data) throws IOException { dataOutput.writeByte(AMF0Body.DATA_TYPE_AMF3_OBJECT); AMF3Serializer amf3 = (AMF3Serializer)dataOutput; amf3.reset(); amf3.writeObject(data.getValue()); }
protected void writeAMF3Dictionary(AMFDictionaryValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_DICTIONARY; Map<?, ?> o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = o.size(); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.weakKeys ? 0x01 : 0x00); for (Map.Entry<?, ?> entry : o.entrySet()) { writeObject(entry.getKey()); writeObject(entry.getValue()); } } }
protected void writeAMF3Dictionary(AMFDictionaryValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_DICTIONARY; Map<?, ?> o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = o.size(); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.weakKeys ? 0x01 : 0x00); for (Map.Entry<?, ?> entry : o.entrySet()) { writeObject(entry.getKey()); writeObject(entry.getValue()); } } }
protected void writeAMF3Dictionary(AMFDictionaryValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_DICTIONARY; Map<?, ?> o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = o.size(); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.weakKeys ? 0x01 : 0x00); for (Map.Entry<?, ?> entry : o.entrySet()) { writeObject(entry.getKey()); writeObject(entry.getValue()); } } }
@Override public void writeObject(Object obj) throws IOException { if (obj instanceof AbstractMessage && ! (obj instanceof CommandMessage)) { AbstractMessage abstractMessage = (AbstractMessage) obj; OSGiGraniteClassUtil.setDestination(abstractMessage.getDestination()); abstractMessage.setHeader(OSGiConstants.BYTEARRAY_BODY_HEADER, Boolean.TRUE.toString()); ByteArrayOutputStream bais = new ByteArrayOutputStream(); AMF3Serializer ser = new AMF3Serializer(bais); ser.writeObject(abstractMessage.getBody()); abstractMessage.setBody(bais.toByteArray()); } super.writeObject(obj); } }
protected void writeAMF3ObjectArray(Object array) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_ARRAY; int index = storedObjects.putIfAbsent(array); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = Array.getLength(array); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = 0x01; for (int i = 0; i < length; i++) writeObject(Array.get(array, i)); } }
protected void writeAMF3ObjectArray(Object array) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_ARRAY; int index = storedObjects.putIfAbsent(array); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = Array.getLength(array); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = 0x01; for (int i = 0; i < length; i++) writeObject(Array.get(array, i)); } }
protected void writeAMF3VectorObject(AMFVectorObjectValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_VECTOR_OBJECT; Object o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = getArrayOrCollectionLength(o); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.fixed ? 0x01 : 0x00); writeAMF3StringData(value.type); if (o.getClass().isArray()) { for (int i = 0; i < length; i++) writeObject(Array.get(o, i)); } else { for (Object item : (Collection<?>)o) writeObject(item); } } }
protected void writeAMF3ObjectArray(Object array) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_ARRAY; int index = storedObjects.putIfAbsent(array); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = Array.getLength(array); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = 0x01; for (int i = 0; i < length; i++) writeObject(Array.get(array, i)); } }
protected void writeAMF3VectorObject(AMFVectorObjectValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_VECTOR_OBJECT; Object o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = getArrayOrCollectionLength(o); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.fixed ? 0x01 : 0x00); writeAMF3StringData(value.type); if (o.getClass().isArray()) { for (int i = 0; i < length; i++) writeObject(Array.get(o, i)); } else { for (Object item : (Collection<?>)o) writeObject(item); } } }
protected void writeAMF3VectorObject(AMFVectorObjectValue value) throws IOException { ensureCapacity(1); buffer[position++] = AMF3_VECTOR_OBJECT; Object o = value.value; int index = storedObjects.putIfAbsent(o); if (index >= 0) writeAMF3UnsignedIntegerData(index << 1); else { int length = getArrayOrCollectionLength(o); writeAMF3UnsignedIntegerData(length << 1 | 0x01); ensureCapacity(1); buffer[position++] = (byte)(value.fixed ? 0x01 : 0x00); writeAMF3StringData(value.type); if (o.getClass().isArray()) { for (int i = 0; i < length; i++) writeObject(Array.get(o, i)); } else { for (Object item : (Collection<?>)o) writeObject(item); } } }
protected void writeAMF3Array(Object array) throws IOException { if (debugMore) logMore.debug("writeAMF3Array(array=%s)", array); write(AMF3_ARRAY); int index = indexOfStoredObjects(array); if (index >= 0) writeAMF3IntegerData(index << 1); else { addToStoredObjects(array); int length = Array.getLength(array); writeAMF3IntegerData(length << 1 | 0x01); write(0x01); for (int i = 0; i < length; i++) writeObject(Array.get(array, i)); } }
@Override public void encode(Message[] messages, OutputStream output) throws IOException { SimpleGraniteContext.createThreadInstance(config.getGraniteConfig(), config.getServicesConfig(), new HashMap<String, Object>(0), getClientType().toString()); try { AMF3Serializer serializer = new AMF3Serializer(output); serializer.writeObject(messages); serializer.close(); } finally { GraniteContext.release(); } }
@Override public void encode(Message[] messages, OutputStream output) throws IOException { SimpleGraniteContext.createThreadInstance(config.getGraniteConfig(), config.getServicesConfig(), new HashMap<String, Object>(0), getClientType().toString()); try { AMF3Serializer serializer = new AMF3Serializer(output); serializer.writeObject(messages); serializer.close(); } finally { GraniteContext.release(); } }
@Override public void encode(Message[] messages, OutputStream output) throws IOException { SimpleGraniteContext.createThreadInstance(config.getGraniteConfig(), config.getServicesConfig(), new HashMap<String, Object>(0), getClientType().toString()); try { AMF3Serializer serializer = new AMF3Serializer(output); serializer.writeObject(messages); serializer.close(); } finally { GraniteContext.release(); } }