Class Output

All Implemented Interfaces:
Output

public class Output extends Output implements Output
AMF3 output writer
Author:
The Red5 Project, Joachim Bauch (jojo@struktur.de), Harald Radi (harald.radi@nme.at)
See Also:
  • Field Details

    • log

      protected static org.slf4j.Logger log
    • amf3_mode

      private int amf3_mode
      Set to a value above 0 to disable writing of the AMF3 object tag.
    • stringReferences

      private ConcurrentMap<String,Integer> 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

      public void writeBoolean(Boolean bol)
      Write boolean
      Specified by:
      writeBoolean in interface Output
      Overrides:
      writeBoolean in class Output
      Parameters:
      bol - Boolean
    • writeNull

      public void writeNull()
      Specified by:
      writeNull in interface Output
      Overrides:
      writeNull in class Output
    • putInteger

      protected void putInteger(long value)
    • encodeString

      protected static byte[] encodeString(String string)
    • putString

      protected void putString(String str, byte[] encoded)
    • putString

      public void putString(String string)
      Specified by:
      putString in interface Output
      Overrides:
      putString in class Output
    • writeNumber

      public void writeNumber(Number num)
      Write number
      Specified by:
      writeNumber in interface Output
      Overrides:
      writeNumber in class Output
      Parameters:
      num - Number
    • writeString

      public void writeString(String string)
      Write string
      Specified by:
      writeString in interface Output
      Overrides:
      writeString in class Output
      Parameters:
      string - String
    • writeDate

      public void writeDate(Date date)
      Write date
      Specified by:
      writeDate in interface Output
      Overrides:
      writeDate in class Output
      Parameters:
      date - Date
    • writeArray

      public void writeArray(Collection<?> array)
      Write array.
      Specified by:
      writeArray in interface Output
      Overrides:
      writeArray in class Output
      Parameters:
      array - Array to write
    • writeArray

      public void writeArray(Object[] array)
      Write array.
      Specified by:
      writeArray in interface Output
      Overrides:
      writeArray in class Output
      Parameters:
      array - Array to write
    • writeArray

      public void writeArray(Object array)
      Write primitive array.
      Specified by:
      writeArray in interface Output
      Overrides:
      writeArray in class Output
      Parameters:
      array - Array to write
    • writePrimitiveByteArray

      private void writePrimitiveByteArray(byte[] bytes)
      Use the specialized BYTEARRAY type.
    • writePrimitiveArrayFallback

      private void writePrimitiveArrayFallback(Object array)
      Use the general ARRAY type, writing the primitive array as an array of objects (the boxed primitives) instead.
    • writeMap

      public void writeMap(Map<Object,Object> map)
      Write map.
      Specified by:
      writeMap in interface Output
      Overrides:
      writeMap in class Output
      Parameters:
      map - Map to write
    • writeMap

      public void writeMap(Collection<?> array)
      Write array as map.
      Specified by:
      writeMap in interface Output
      Overrides:
      writeMap in class Output
      Parameters:
      array - Array to write
    • writeArbitraryObject

      protected void writeArbitraryObject(Object object)
      Writes an arbitrary object to the output.
      Overrides:
      writeArbitraryObject in class Output
      Parameters:
      object - Object to write
    • writeObject

      public void writeObject(Object object)
      Write object.
      Specified by:
      writeObject in interface Output
      Overrides:
      writeObject in class Output
      Parameters:
      object - Object to write
    • writeObject

      public void writeObject(Map<Object,Object> map)
      Write map as object.
      Specified by:
      writeObject in interface Output
      Overrides:
      writeObject in class Output
      Parameters:
      map - Map to write
    • writeRecordSet

      public void writeRecordSet(RecordSet recordset)
      Write recordset.
      Specified by:
      writeRecordSet in interface Output
      Overrides:
      writeRecordSet in class Output
      Parameters:
      recordset - Recordset to write
    • writeXML

      public void writeXML(Document xml)
      Write XML object
      Specified by:
      writeXML in interface Output
      Overrides:
      writeXML in class Output
      Parameters:
      xml - XML document
    • writeByteArray

      public void writeByteArray(ByteArray array)
      Write ByteArray object (AMF3 only).
      Specified by:
      writeByteArray in interface Output
      Overrides:
      writeByteArray in class Output
      Parameters:
      array - object to write
    • writeVectorInt

      public void writeVectorInt(Vector<Integer> vector)
      Write a Vector<int>.
      Specified by:
      writeVectorInt in interface Output
      Overrides:
      writeVectorInt in class Output
      Parameters:
      vector - vector
    • writeVectorUInt

      public void writeVectorUInt(Vector<Long> vector)
      Write a Vector<uint>.
      Specified by:
      writeVectorUInt in interface Output
      Overrides:
      writeVectorUInt in class Output
      Parameters:
      vector - vector
    • writeVectorNumber

      public void writeVectorNumber(Vector<Double> vector)
      Write a Vector<Number>.
      Specified by:
      writeVectorNumber in interface Output
      Overrides:
      writeVectorNumber in class Output
      Parameters:
      vector - vector
    • writeVectorObject

      public void writeVectorObject(Vector<Object> vector)
      Write a Vector<Object>.
      Specified by:
      writeVectorObject in interface Output
      Overrides:
      writeVectorObject in class Output
      Parameters:
      vector - vector