Class Output

  • All Implemented Interfaces:
    Output
    Direct Known Subclasses:
    Output

    public class Output
    extends BaseOutput
    implements Output
    Author:
    The Red5 Project, Luke Hubbard, Codegent Ltd (luke@codegent.com), Paul Gregoire (mondain@gmail.com), Harald Radi (harald.radi@nme.at)
    • Field Detail

      • log

        protected static org.slf4j.Logger log
      • buf

        protected org.apache.mina.core.buffer.IoBuffer buf
        Output buffer
    • Constructor Detail

      • Output

        public Output​(org.apache.mina.core.buffer.IoBuffer buf)
        Creates output with given byte buffer
        Parameters:
        buf - Byte buffer
    • Method Detail

      • isCustom

        public boolean isCustom​(Object custom)
        Whether object is custom
        Specified by:
        isCustom in interface Output
        Parameters:
        custom - Object
        Returns:
        true if object is of user type, false otherwise
      • checkWriteReference

        protected boolean checkWriteReference​(Object obj)
      • writeArray

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

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

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

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

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

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

        public void writeBoolean​(Boolean bol)
        Write boolean
        Specified by:
        writeBoolean in interface Output
        Parameters:
        bol - Boolean
      • writeCustom

        public void writeCustom​(Object custom)
        Write custom (user) object
        Specified by:
        writeCustom in interface Output
        Parameters:
        custom - Custom data type object
      • writeDate

        public void writeDate​(Date date)
        Write date
        Specified by:
        writeDate in interface Output
        Parameters:
        date - Date
      • writeNull

        public void writeNull()
        Specified by:
        writeNull in interface Output
      • writeNumber

        public void writeNumber​(Number num)
        Write number
        Specified by:
        writeNumber in interface Output
        Parameters:
        num - Number
      • writeReference

        public void writeReference​(Object obj)
        Write reference to complex data type
        Specified by:
        writeReference in interface Output
        Parameters:
        obj - Referenced object
      • writeObject

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

        protected boolean serializeField​(Class<?> objectClass,
                                         String keyName,
                                         Field field,
                                         Method getter)
      • getField

        protected Field getField​(Class<?> objectClass,
                                 String keyName)
      • getGetter

        protected Method getGetter​(Class<?> objectClass,
                                   org.apache.commons.beanutils.BeanMap beanMap,
                                   String keyName)
      • writeObject

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

        protected void writeArbitraryObject​(Object object)
        Writes an arbitrary object to the output.
        Parameters:
        object - Object to write
      • writeString

        public void writeString​(String string)
        Write string
        Specified by:
        writeString in interface Output
        Parameters:
        string - String
      • writeByteArray

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

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

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

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

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

        protected static byte[] encodeString​(String string)
        Encode string.
        Parameters:
        string - string to encode
        Returns:
        encoded string
      • putString

        public static void putString​(org.apache.mina.core.buffer.IoBuffer buf,
                                     String string)
        Write out string
        Parameters:
        buf - Byte buffer to write to
        string - String to write
      • writeXML

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

        public void writeXML​(String xml)
        Convenience method to allow XML text to be used, instead of requiring an XML Document.
        Parameters:
        xml - xml to write
      • buf

        public org.apache.mina.core.buffer.IoBuffer buf()
        Return buffer of this Output object
        Returns:
        Byte buffer of this Output object
      • reset

        public void reset()
      • getStringCache

        protected static net.sf.ehcache.Cache getStringCache()
      • getSerializeCache

        protected static net.sf.ehcache.Cache getSerializeCache()
      • getFieldCache

        protected static net.sf.ehcache.Cache getFieldCache()
      • getGetterCache

        protected static net.sf.ehcache.Cache getGetterCache()
      • destroyCache

        public static void destroyCache()