org.red5.io.object

## Interface Output

All Known Implementing Classes:
  Output, Output, Output

    public interface Output

Output interface which defines contract methods to be implemented

Author:
  The Red5 Project (red5@osflash.org), Luke Hubbard, Codegent Ltd (luke@codegent.com)

### Method Summary

Methods
`void` `clearReferences()` Clear references
`boolean` `isCustom(Object custom)` Whether object is custom
`void` `putString(String string)`
`boolean` `supportsDataType(byte type)`
`void` `writeArray(Collection<?> array, Serializer serializer)` Write array.
`void` `writeArray(Object[] array, Serializer serializer)` Write array.
`void` `writeArray(Object array, Serializer serializer)` Write primitive array.
`void` `writeBoolean(Boolean bol)` Write boolean
`void` `writeByteArray(ByteArray array)` Write ByteArray object (AMF3 only).
`void` `writeCustom(Object custom)` Write custom (user) object
`void` `writeDate(Date date)` Write date
`void` `writeMap(Collection<?> array, Serializer serializer)` Write array as map.
`void` `writeMap(Map<Object,Object> map, Serializer serializer)` Write map.
`void` `writeNull()`
`void` `writeNumber(Number num)` Write number
`void` `writeObject(Map<Object,Object> map, Serializer serializer)` Write map as object.
`void` `writeObject(Object object, Serializer serializer)` Write object.
`void` `writeRecordSet(RecordSet recordset, Serializer serializer)` Write recordset.
`void` `writeReference(Object obj)` Write reference to complex data type
`void` `writeString(String string)` Write string
`void` `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
`void` `writeVectorUInt(Vector<Long> vector)` Write a Vector<uint>.
`void` `writeXML(Document xml)` Write XML object

### Method Detail

#### supportsDataType

    boolean supportsDataType(byte type)

#### putString

    void putString(String string)

#### writeNumber

    void writeNumber(Number num)

Write number

Parameters:
  `num` - Number

#### writeBoolean

    void writeBoolean(Boolean bol)

Write boolean

Parameters:
  `bol` - Boolean

#### writeString

    void writeString(String string)

Write string

Parameters:
  `string` - String

#### writeDate

    void writeDate(Date date)

Write date

Parameters:
  `date` - Date

#### writeNull

    void writeNull()

#### writeArray

    void writeArray(Collection<?> array,
                  Serializer serializer)

Write array.

Parameters:
  `array` - Array to write.
  `serializer` - Serializer to use for subobjects.

#### writeArray

    void writeArray(Object[] array,
                  Serializer serializer)

Write array.

Parameters:
  `array` - Array to write.
  `serializer` - Serializer to use for subobjects.

#### writeArray

    void writeArray(Object array,
                  Serializer serializer)

Write primitive array.

Parameters:
  `array` - Array to write.
  `serializer` - Serializer to use for subobjects.

#### writeMap

    void writeMap(Map<Object,Object> map,
                Serializer serializer)

Write map.

Parameters:
  `map` - Map to write
  `serializer` - Serializer to use for subobjects.

#### writeMap

    void writeMap(Collection<?> array,
                Serializer serializer)

Write array as map.

Parameters:
  `array` - Array to write
  `serializer` - Serializer to use for subobjects.

#### writeObject

    void writeObject(Object object,
                   Serializer serializer)

Write object.

Parameters:
  `object` - Object to write
  `serializer` - Serializer to use for subobjects.

#### writeObject

    void writeObject(Map<Object,Object> map,
                   Serializer serializer)

Write map as object.

Parameters:
  `map` - Map to write
  `serializer` - Serializer to use for subobjects.

#### writeRecordSet

    void writeRecordSet(RecordSet recordset,
                      Serializer serializer)

Write recordset.

Parameters:
  `recordset` - Recordset to write.
  `serializer` - Serializer to use for subobjects.

#### writeXML

    void writeXML(Document xml)

Write XML object

Parameters:
  `xml` - XML document

#### writeByteArray

    void writeByteArray(ByteArray array)

Write ByteArray object (AMF3 only).

Parameters:
  `array` - object to write

#### writeVectorInt

    void writeVectorInt(Vector<Integer> vector)

Write a Vector<int>.

Parameters:
  `vector` -

#### writeVectorUInt

    void writeVectorUInt(Vector<Long> vector)

Write a Vector<uint>.

Parameters:
  `vector` -

#### writeVectorNumber

    void writeVectorNumber(Vector<Double> vector)

Write a Vector<Number>.

Parameters:
  `vector` -

#### writeVectorObject

    void writeVectorObject(Vector<Object> vector)

Write a Vector

Parameters:
  `vector` -

#### writeReference

    void writeReference(Object obj)

Write reference to complex data type

Parameters:
  `obj` - Referenced object

#### isCustom

    boolean isCustom(Object custom)

Whether object is custom

Parameters:
  `custom` - Object
Returns:
  true if object is of user type, false otherwise

#### writeCustom

    void writeCustom(Object custom)

Write custom (user) object

Parameters:
  `custom` - Custom data type object

#### clearReferences

    void clearReferences()

Clear references