Package org.red5.io.amf3
Class Output
java.lang.Object
org.red5.io.object.BaseOutput
org.red5.io.amf.Output
org.red5.io.amf3.Output
- All Implemented Interfaces:
Output
AMF3 output writer
-
Field Summary
Modifier and TypeFieldDescriptionprivate int
Set to a value above 0 to disable writing of the AMF3 object tag.protected static org.slf4j.Logger
private ConcurrentMap<String,
Integer> List of strings already written.Fields inherited from class org.red5.io.object.BaseOutput
refId, refMap
-
Constructor Summary
ConstructorDescriptionOutput
(org.apache.mina.core.buffer.IoBuffer buf) Constructor of AMF3 output. -
Method Summary
Modifier and TypeMethodDescriptionprotected static byte[]
encodeString
(String string) void
Force using AMF3 everywhereprotected org.apache.mina.core.buffer.IoBuffer
Provide access to raw data.protected void
putInteger
(long value) void
protected void
protected void
protected void
writeArbitraryObject
(Object object) Writes an arbitrary object to the output.void
writeArray
(Object array) Write primitive array.void
writeArray
(Object[] array) Write array.void
writeArray
(Collection<?> array) Write array.void
writeBoolean
(Boolean bol) Write booleanvoid
writeByteArray
(ByteArray array) Write ByteArray object (AMF3 only).void
Write datevoid
writeMap
(Collection<?> array) Write array as map.void
Write map.void
void
writeNumber
(Number num) Write numbervoid
writeObject
(Object object) Write object.void
writeObject
(Map<Object, Object> map) Write map as object.private void
Use the general ARRAY type, writing the primitive array as an array of objects (the boxed primitives) instead.private void
writePrimitiveByteArray
(byte[] bytes) Use the specialized BYTEARRAY type.void
writeRecordSet
(RecordSet recordset) Write recordset.void
writeString
(String string) Write stringvoid
writeVectorInt
(Vector<Integer> vector) Write a Vector<int>.void
writeVectorNumber
(Vector<Double> vector) Write a Vector<Number>.void
writeVectorObject
(Vector<Object> vector) Write a Vector<Object>.void
writeVectorUInt
(Vector<Long> vector) Write a Vector<uint>.void
Write XML objectMethods inherited from class org.red5.io.amf.Output
buf, checkWriteReference, getField, getGetter, isCustom, putString, reset, writeCustom, writeReference, writeXML
Methods inherited from class org.red5.io.object.BaseOutput
clearReferences, getReferenceId, hasReference, storeReference
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.red5.io.object.Output
clearReferences, isCustom, writeCustom, writeReference
-
Field Details
-
log
protected static org.slf4j.Logger log -
amf3_mode
private int amf3_modeSet to a value above 0 to disable writing of the AMF3 object tag. -
stringReferences
List of strings already written.
-
-
Constructor Details
-
Output
public Output(org.apache.mina.core.buffer.IoBuffer buf) Constructor of AMF3 output.- Parameters:
buf
- instance of IoBuffer- See Also:
-
IoBuffer
-
-
Method Details
-
enforceAMF3
public void enforceAMF3()Force using AMF3 everywhere -
getBuffer
protected org.apache.mina.core.buffer.IoBuffer getBuffer()Provide access to raw data.- Returns:
- IoBuffer
-
writeAMF3
protected void writeAMF3() -
writeBoolean
Write boolean- Specified by:
writeBoolean
in interfaceOutput
- Overrides:
writeBoolean
in classOutput
- Parameters:
bol
- Boolean
-
writeNull
public void writeNull() -
putInteger
protected void putInteger(long value) -
encodeString
-
putString
-
putString
-
writeNumber
Write number- Specified by:
writeNumber
in interfaceOutput
- Overrides:
writeNumber
in classOutput
- Parameters:
num
- Number
-
writeString
Write string- Specified by:
writeString
in interfaceOutput
- Overrides:
writeString
in classOutput
- Parameters:
string
- String
-
writeDate
Write date -
writeArray
Write array.- Specified by:
writeArray
in interfaceOutput
- Overrides:
writeArray
in classOutput
- Parameters:
array
- Array to write
-
writeArray
Write array.- Specified by:
writeArray
in interfaceOutput
- Overrides:
writeArray
in classOutput
- Parameters:
array
- Array to write
-
writeArray
Write primitive array.- Specified by:
writeArray
in interfaceOutput
- Overrides:
writeArray
in classOutput
- Parameters:
array
- Array to write
-
writePrimitiveByteArray
private void writePrimitiveByteArray(byte[] bytes) Use the specialized BYTEARRAY type. -
writePrimitiveArrayFallback
Use the general ARRAY type, writing the primitive array as an array of objects (the boxed primitives) instead. -
writeMap
Write map. -
writeMap
Write array as map. -
writeArbitraryObject
Writes an arbitrary object to the output.- Overrides:
writeArbitraryObject
in classOutput
- Parameters:
object
- Object to write
-
writeObject
Write object.- Specified by:
writeObject
in interfaceOutput
- Overrides:
writeObject
in classOutput
- Parameters:
object
- Object to write
-
writeObject
Write map as object.- Specified by:
writeObject
in interfaceOutput
- Overrides:
writeObject
in classOutput
- Parameters:
map
- Map to write
-
writeRecordSet
Write recordset.- Specified by:
writeRecordSet
in interfaceOutput
- Overrides:
writeRecordSet
in classOutput
- Parameters:
recordset
- Recordset to write
-
writeXML
Write XML object -
writeByteArray
Write ByteArray object (AMF3 only).- Specified by:
writeByteArray
in interfaceOutput
- Overrides:
writeByteArray
in classOutput
- Parameters:
array
- object to write
-
writeVectorInt
Write a Vector<int>.- Specified by:
writeVectorInt
in interfaceOutput
- Overrides:
writeVectorInt
in classOutput
- Parameters:
vector
- vector
-
writeVectorUInt
Write a Vector<uint>.- Specified by:
writeVectorUInt
in interfaceOutput
- Overrides:
writeVectorUInt
in classOutput
- Parameters:
vector
- vector
-
writeVectorNumber
Write a Vector<Number>.- Specified by:
writeVectorNumber
in interfaceOutput
- Overrides:
writeVectorNumber
in classOutput
- Parameters:
vector
- vector
-
writeVectorObject
Write a Vector<Object>.- Specified by:
writeVectorObject
in interfaceOutput
- Overrides:
writeVectorObject
in classOutput
- Parameters:
vector
- vector
-