com.wowza.wms.amf
Class AMFDataByteArray

Object
  extended by com.wowza.wms.amf.AMFData
      extended by com.wowza.wms.amf.AMFDataByteArray

public class AMFDataByteArray
extends AMFData

AMFDataByteArray: class for marshalling data between Wowza Pro server and Flash client. This class is a simple byte array.


Field Summary
 
Fields inherited from class com.wowza.wms.amf.AMFData
AMF_LEVEL0, AMF_LEVEL3, DATA_TYPE_AMF3, DATA_TYPE_AMF3_ARRAY, DATA_TYPE_AMF3_BOOLEAN_FALSE, DATA_TYPE_AMF3_BOOLEAN_TRUE, DATA_TYPE_AMF3_BYTEARRAY, DATA_TYPE_AMF3_DATE, DATA_TYPE_AMF3_INTEGER, DATA_TYPE_AMF3_NULL, DATA_TYPE_AMF3_NUMBER, DATA_TYPE_AMF3_OBJECT, DATA_TYPE_AMF3_STRING, DATA_TYPE_AMF3_UNDEFINED, DATA_TYPE_AMF3_XML_LEGACY, DATA_TYPE_AMF3_XML_TOP, DATA_TYPE_ARRAY, DATA_TYPE_AS_OBJECT, DATA_TYPE_BOOLEAN, DATA_TYPE_BYTEARRAY, DATA_TYPE_CUSTOM_CLASS, DATA_TYPE_DATE, DATA_TYPE_INTEGER, DATA_TYPE_LONG_STRING, DATA_TYPE_MIXED_ARRAY, DATA_TYPE_MOVIE_CLIP, DATA_TYPE_NULL, DATA_TYPE_NUMBER, DATA_TYPE_OBJECT, DATA_TYPE_OBJECT_END, DATA_TYPE_RECORDSET, DATA_TYPE_REFERENCE_OBJECT, DATA_TYPE_STRING, DATA_TYPE_UNDEFINED, DATA_TYPE_UNKNOWN, DATA_TYPE_XML, DATA_TYPE_XML_TOP, MILLS_PER_HOUR, type
 
Constructor Summary
AMFDataByteArray()
          Create empty AMFDataByteArray object
AMFDataByteArray(byte[] data)
          Deserialize entire byte array and create AMFDataByteArray object.
AMFDataByteArray(byte[] data, int offset, int size)
          Deserialize data array starting at offest for size bytes and create AMFDataByteArray object.
AMFDataByteArray(java.nio.ByteBuffer data)
          Deserialize entire data array and create AMFDataByteArray object.
AMFDataByteArray(java.nio.ByteBuffer data, AMFDataContextDeserialize context)
          Deserialize entire data array and create AMFDataByteArray object.
 
Method Summary
 int compress()
          Compress the internal buffer using the ZLIB compression library
 int decompress()
          Decompress the internal buffer using the ZLIB compression library
 void deserialize(java.nio.ByteBuffer data)
          Deserialize data in byte buffer
 void deserialize(java.nio.ByteBuffer data, AMFDataContextDeserialize context)
          Deserialize data in byte buffer
 Object getValue()
          Returns the underlying byte[] data buffer
 byte[] serialize()
          Serial object to byte array
 byte[] serialize(AMFDataContextSerialize context)
          Serial object to byte array
 void serialize(java.io.DataOutputStream out)
          Serialize object to output stream
 void serialize(java.io.DataOutputStream out, AMFDataContextSerialize context)
          Serialize object to output stream
 void serialize(java.io.DataOutputStream out, int objectEncoding)
          Serialize object to output stream
 byte[] serialize(int objectEncoding)
          Serial object to byte array
 int size()
          Returns the number of bytes in the byte array
 byte[] toArray()
          Returns the underlying data buffer (not a copy)
 java.nio.ByteBuffer toByteBuffer()
          Wraps the underlying data buffer with a ByteBuffer object.
 String toString()
          Return object as formatted string
static AMFDataByteArray wrap(byte[] data)
          Wraps a byte[] into a AMFDataByteArray.
static AMFDataByteArray wrap(java.nio.ByteBuffer data)
          Wraps a ByteBuffer into a AMFDataByteArray.
 
Methods inherited from class com.wowza.wms.amf.AMFData
createContextDeserialize, createContextDeserialize, createContextSerialize, createContextSerialize, deserializeInnerObject, getReference, getType, isAMF3Start, isArrayStart, isByteArrayStart, isMixedArrayStart, isObjEnd, isObjStart, peekByte, setType, skipByte, testNextByte, triggerAMF3Switch
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AMFDataByteArray

public AMFDataByteArray()
Create empty AMFDataByteArray object


AMFDataByteArray

public AMFDataByteArray(byte[] data)
Deserialize entire byte array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or ByteBuffer, use the static wrap method.

Parameters:
data - binary data

AMFDataByteArray

public AMFDataByteArray(byte[] data,
                        int offset,
                        int size)
Deserialize data array starting at offest for size bytes and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or ByteBuffer, use the static wrap method.

Parameters:
data - binary data
offset - starting offset into data
size - size of data to deserialize

AMFDataByteArray

public AMFDataByteArray(java.nio.ByteBuffer data)
Deserialize entire data array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or ByteBuffer, use the static wrap method.

Parameters:
data - binary data

AMFDataByteArray

public AMFDataByteArray(java.nio.ByteBuffer data,
                        AMFDataContextDeserialize context)
Deserialize entire data array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or ByteBuffer, use the static wrap method.

Parameters:
data - binary data
context - deserialization context (used for AMF3 decoding)
Method Detail

compress

public int compress()
Compress the internal buffer using the ZLIB compression library

Returns:
size of compressed buffer

decompress

public int decompress()
Decompress the internal buffer using the ZLIB compression library

Returns:
size of decompressed buffer

deserialize

public void deserialize(java.nio.ByteBuffer data)
Description copied from class: AMFData
Deserialize data in byte buffer

Specified by:
deserialize in class AMFData
Parameters:
data - binary data

deserialize

public void deserialize(java.nio.ByteBuffer data,
                        AMFDataContextDeserialize context)
Description copied from class: AMFData
Deserialize data in byte buffer

Specified by:
deserialize in class AMFData
Parameters:
data - binary data
context - deserialization context used by AMF3

getValue

public Object getValue()
Returns the underlying byte[] data buffer

Specified by:
getValue in class AMFData
Returns:
java native class

serialize

public byte[] serialize()
Description copied from class: AMFData
Serial object to byte array

Specified by:
serialize in class AMFData
Returns:
serialized byte array

serialize

public byte[] serialize(AMFDataContextSerialize context)
Description copied from class: AMFData
Serial object to byte array

Specified by:
serialize in class AMFData
Parameters:
context - serialization context used by AMF3
Returns:
serialized byte array

serialize

public void serialize(java.io.DataOutputStream out)
Description copied from class: AMFData
Serialize object to output stream

Specified by:
serialize in class AMFData
Parameters:
out - Output stream

serialize

public void serialize(java.io.DataOutputStream out,
                      AMFDataContextSerialize context)
Description copied from class: AMFData
Serialize object to output stream

Specified by:
serialize in class AMFData
Parameters:
out - Output stream
context - serialization context used by AMF3

serialize

public void serialize(java.io.DataOutputStream out,
                      int objectEncoding)
Description copied from class: AMFData
Serialize object to output stream

Specified by:
serialize in class AMFData
Parameters:
out - Output stream
objectEncoding - object encoding level (see AMF_LEVEL*)

serialize

public byte[] serialize(int objectEncoding)
Description copied from class: AMFData
Serial object to byte array

Specified by:
serialize in class AMFData
Parameters:
objectEncoding - object encoding level (see AMF_LEVEL*)
Returns:
serialized byte array

size

public int size()
Returns the number of bytes in the byte array

Returns:
number of bytes in the array

toArray

public byte[] toArray()
Returns the underlying data buffer (not a copy)

Returns:
data buffer (not a copy)

toByteBuffer

public java.nio.ByteBuffer toByteBuffer()
Wraps the underlying data buffer with a ByteBuffer object.

Returns:
byte[] wrapped as ByteBuffer

toString

public String toString()
Return object as formatted string

Overrides:
toString in class Object

wrap

public static AMFDataByteArray wrap(byte[] data)
Wraps a byte[] into a AMFDataByteArray. Note: This method does not copy the array.

Parameters:
data - byte[] data
Returns:
wrapped byte[]

wrap

public static AMFDataByteArray wrap(java.nio.ByteBuffer data)
Wraps a ByteBuffer into a AMFDataByteArray. Note: This method only copies the ByteBuffer data if the ByteBuffer.array() method fails.

Parameters:
data - ByteBuffer data
Returns:
wrapped ByteBuffer