IAMFDataObjAMFDataMixedArraypublic class AMFDataObj extends AMFData implements IAMFDataObj
AMFDataObj: class for marshalling data between Wowza Pro server and Flash client. Object with attributes. Implementation is very similar to a java.util.Map. Each parameter is an item in the map.
AMFDataObj amfDataObj = new AMFDataObj();
amfDataObj.put("key1", "item1");
amfDataObj.put("key2", "item2");
amfDataObj.put("key3", "item3");
AMFDataObj amfDataObj;
List keys = amfDataObj.getKeys();
Iterator iter = keys.iterator();
while(iter.hasNext())
{
String key = (String)iter.next();
AMFData value = amfDataObj.get(key);
int itemType = value.getType();
WMSLoggerFactory.getLogger(null).debug(key+"="+value.toString()+" (type:"+itemType+")");
}
AMFDataObj amfDataObj;
// If you know the type you can access it directly
String dataString = amfDataObj.getString("stringData");
long dataLong = amfDataObj.getLong("longData");
double dataDouble = amfDataObj.getDouble("doubleData");
boolean dataBoolean = amfDataObj.getBoolean("booleanData");
// This illustrate how to decode the value if
// you don't know the type
AMFData myItemKey1 = amfDataObj.get("theData");
switch (myItemKey1.getType())
{
default:
case AMFDataItem.DATA_TYPE_UNDEFINED:
case AMFDataItem.DATA_TYPE_UNKNOWN:
case AMFDataItem.DATA_TYPE_NULL:
// the value is null or undefined
break;
case AMFDataItem.DATA_TYPE_NUMBER:
double amfDataDouble = ((AMFDataItem)myItemKey1).doubleValue();
break;
case AMFDataItem.DATA_TYPE_BOOLEAN:
boolean amfDataBoolean = ((AMFDataItem)myItemKey1).booleanValue();
break;
case AMFDataItem.DATA_TYPE_STRING:
String amfDataString = ((AMFDataItem)myItemKey1).toString();
break;
case AMFDataItem.DATA_TYPE_DATE:
Date amfDataDate = ((AMFDataItem)myItemKey1).dateValue();
break;
case AMFDataItem.DATA_TYPE_OBJECT:
AMFDataObj amfDataValObj = (AMFDataObj)myItemKey1;
break;
case AMFDataItem.DATA_TYPE_MIXED_ARRAY:
AMFDataMixedArray amfDataMixedArray = (AMFDataMixedArray)myItemKey1;
break;
case AMFDataItem.DATA_TYPE_ARRAY:
AMFDataArray amfDataArray = (AMFDataArray)myItemKey1;
break;
}
| Modifier and Type | Field | Description |
|---|---|---|
static int |
DECODE_OBJ_REF |
|
static int |
DECODE_TRAITS |
|
static int |
DECODE_TRAITS_EXT |
|
static int |
DECODE_TRAITS_REF |
|
static int |
DECODE_UNDEFINED |
|
protected java.util.Map<String,AMFData> |
members |
|
protected java.util.List<String> |
order |
|
protected IAMFExternalizable |
serializer |
|
protected AMFDataTrait |
trait |
AMF_DEFAULT_DESERIALIZE_CHARSETNAME, 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 | Description |
|---|---|
AMFDataObj() |
Create empty AMFDataObj object
|
AMFDataObj(byte[] data) |
Deserialize entire data array and create AMFDataObj object
|
AMFDataObj(byte[] data,
int offset,
int size) |
Deserialize data array starting at offest for size bytes and create AMFDataObj object
|
AMFDataObj(java.nio.ByteBuffer data) |
Deserialize entire data array and create AMFDataObj object
|
AMFDataObj(java.nio.ByteBuffer data,
AMFDataContextDeserialize context) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
containsKey(String name) |
Return true if the object/array contains key
|
void |
deserialize(java.nio.ByteBuffer data) |
Deserialize data in byte buffer
|
void |
deserialize(java.nio.ByteBuffer data,
AMFDataContextDeserialize context) |
Deserialize data in byte buffer
|
AMFData |
get(int index) |
Return the object at a particular index.
|
AMFData |
get(String name) |
Return the object at a particular key.
|
boolean |
getBoolean(int index) |
Get item at index return as boolean
|
boolean |
getBoolean(String name) |
Get item at key return as boolean
|
byte |
getByte(int index) |
Get item at index return as byte
|
byte |
getByte(String name) |
Get item at key return as byte
|
String |
getClassName() |
|
java.util.Date |
getDate(int index) |
Get item at index return as Date
|
java.util.Date |
getDate(String name) |
Get item at key return as Date
|
double |
getDouble(int index) |
Get item at index return as double
|
double |
getDouble(String name) |
Get item at key return as double
|
float |
getFloat(int index) |
Get item at index return as float
|
float |
getFloat(String name) |
Get item at key return as float
|
int |
getInt(int index) |
Get item at index return as int
|
int |
getInt(String name) |
Get item at key return as int
|
String |
getKey(int index) |
Return the key at a particular index.
|
java.util.List |
getKeys() |
Return a list of all the keys (the list is a copy)
|
long |
getLong(int index) |
Get item at index return as long
|
long |
getLong(String name) |
Get item at key return as long
|
AMFDataObj |
getObject(int index) |
Get item at index return as AMFDataObj
|
AMFDataObj |
getObject(String name) |
Get item at key return as AMFDataObj
|
IAMFExternalizable |
getSerializer() |
|
short |
getShort(int index) |
Get item at index return as short
|
short |
getShort(String name) |
Get item at key return as short
|
String |
getString(int index) |
Get item at index return as String
|
String |
getString(String name) |
Get item at key return as String
|
AMFDataTrait |
getTrait() |
|
Object |
getValue() |
Convert object to Java native class
|
void |
put(String name,
boolean data) |
Put or replace boolean value at key (data will be wrapped in an AMFDataItem object)
|
void |
put(String name,
double data) |
Put or replace double value at key (data will be wrapped in an AMFDataItem object)
|
void |
put(String name,
int data) |
Put or replace int value at key (data will be wrapped in an AMFDataItem object)
|
void |
put(String name,
long data) |
Put or replace long value at key (data will be wrapped in an AMFDataItem object)
|
void |
put(String name,
AMFData data) |
Put or replace object at key
|
void |
put(String name,
String data) |
Put or replace string value at key (data will be wrapped in an AMFDataItem object)
|
void |
put(String name,
java.util.Date data) |
Put or replace date value at key (data will be wrapped in an AMFDataItem object)
|
AMFData |
remove(int index) |
Remove element by index
|
AMFData |
remove(String name) |
Remove element by key
|
byte[] |
serialize() |
Serial object to byte array
|
byte[] |
serialize(int objectEncoding) |
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,
int objectEncoding) |
Serialize object to output stream
|
void |
serialize(java.io.DataOutputStream out,
AMFDataContextSerialize context) |
Serialize object to output stream
|
void |
setClassName(String className) |
|
void |
setSerializer(IAMFExternalizable serializer) |
|
int |
size() |
Return the number of members of this object/array
|
String |
toString() |
Return object as formatted string
|
createContextDeserialize, createContextDeserialize, createContextSerialize, createContextSerialize, deserializeInnerObject, getReference, getType, isAMF3Start, isArrayStart, isByteArrayStart, isMixedArrayStart, isObjEnd, isObjStart, peekByte, setType, skipByte, testNextByte, triggerAMF3Switchpublic static final int DECODE_OBJ_REF
public static final int DECODE_TRAITS
public static final int DECODE_TRAITS_EXT
public static final int DECODE_TRAITS_REF
public static final int DECODE_UNDEFINED
protected java.util.Map<String,AMFData> members
protected java.util.List<String> order
protected IAMFExternalizable serializer
protected AMFDataTrait trait
public AMFDataObj()
public AMFDataObj(byte[] data)
data - binary datapublic AMFDataObj(byte[] data,
int offset,
int size)
data - binary dataoffset - starting offset into datasize - size of data to deserializepublic AMFDataObj(java.nio.ByteBuffer data)
data - binary datapublic AMFDataObj(java.nio.ByteBuffer data,
AMFDataContextDeserialize context)
public boolean containsKey(String name)
IAMFDataObjcontainsKey in interface IAMFDataObjname - keypublic void deserialize(java.nio.ByteBuffer data)
AMFDatadeserialize in class AMFDatadata - binary datapublic void deserialize(java.nio.ByteBuffer data,
AMFDataContextDeserialize context)
AMFDatadeserialize in class AMFDatadata - binary datacontext - deserialization context used by AMF3public AMFData get(int index)
IAMFDataObjget in interface IAMFDataObjindex - indexpublic AMFData get(String name)
IAMFDataObjget in interface IAMFDataObjname - keypublic boolean getBoolean(int index)
IAMFDataObjgetBoolean in interface IAMFDataObjindex - indexpublic boolean getBoolean(String name)
IAMFDataObjgetBoolean in interface IAMFDataObjname - keypublic byte getByte(int index)
IAMFDataObjgetByte in interface IAMFDataObjindex - indexpublic byte getByte(String name)
IAMFDataObjgetByte in interface IAMFDataObjname - keypublic String getClassName()
public java.util.Date getDate(int index)
IAMFDataObjgetDate in interface IAMFDataObjindex - indexpublic java.util.Date getDate(String name)
IAMFDataObjgetDate in interface IAMFDataObjname - keypublic double getDouble(int index)
IAMFDataObjgetDouble in interface IAMFDataObjindex - indexpublic double getDouble(String name)
IAMFDataObjgetDouble in interface IAMFDataObjname - keypublic float getFloat(int index)
IAMFDataObjgetFloat in interface IAMFDataObjindex - indexpublic float getFloat(String name)
IAMFDataObjgetFloat in interface IAMFDataObjname - keypublic int getInt(int index)
IAMFDataObjgetInt in interface IAMFDataObjindex - indexpublic int getInt(String name)
IAMFDataObjgetInt in interface IAMFDataObjname - keypublic String getKey(int index)
IAMFDataObjgetKey in interface IAMFDataObjpublic java.util.List getKeys()
IAMFDataObjgetKeys in interface IAMFDataObjpublic long getLong(int index)
IAMFDataObjgetLong in interface IAMFDataObjindex - indexpublic long getLong(String name)
IAMFDataObjgetLong in interface IAMFDataObjname - keypublic AMFDataObj getObject(int index)
IAMFDataObjgetObject in interface IAMFDataObjindex - indexpublic AMFDataObj getObject(String name)
IAMFDataObjgetObject in interface IAMFDataObjname - keypublic IAMFExternalizable getSerializer()
public short getShort(int index)
IAMFDataObjgetShort in interface IAMFDataObjindex - indexpublic short getShort(String name)
IAMFDataObjgetShort in interface IAMFDataObjname - keypublic String getString(int index)
IAMFDataObjgetString in interface IAMFDataObjindex - indexpublic String getString(String name)
IAMFDataObjgetString in interface IAMFDataObjname - keypublic AMFDataTrait getTrait()
public Object getValue()
AMFDatapublic void put(String name,
boolean data)
IAMFDataObjput in interface IAMFDataObjname - keydata - boolean valuepublic void put(String name,
double data)
IAMFDataObjput in interface IAMFDataObjname - keydata - double valuepublic void put(String name,
int data)
IAMFDataObjput in interface IAMFDataObjname - keydata - int valuepublic void put(String name,
long data)
IAMFDataObjput in interface IAMFDataObjname - keydata - long valuepublic void put(String name,
AMFData data)
IAMFDataObjput in interface IAMFDataObjname - keydata - objectpublic void put(String name,
String data)
IAMFDataObjput in interface IAMFDataObjname - keydata - string valuepublic void put(String name,
java.util.Date data)
IAMFDataObjput in interface IAMFDataObjname - keydata - date valuepublic AMFData remove(int index)
IAMFDataObjremove in interface IAMFDataObjindex - indexpublic AMFData remove(String name)
IAMFDataObjremove in interface IAMFDataObjname - keypublic byte[] serialize()
AMFDatapublic byte[] serialize(int objectEncoding)
AMFDatapublic byte[] serialize(AMFDataContextSerialize context)
AMFDatapublic void serialize(java.io.DataOutputStream out)
AMFDatapublic void serialize(java.io.DataOutputStream out,
int objectEncoding)
AMFDatapublic void serialize(java.io.DataOutputStream out,
AMFDataContextSerialize context)
AMFDatapublic void setClassName(String className)
public void setSerializer(IAMFExternalizable serializer)
public int size()
public String toString()
toString in class Object