/// <summary> /// Reads object /// </summary> /// <param name="abstractHessianInput">Instance of AbstractHessianInput</param> /// <returns>Object that was read</returns> public override object ReadObject(AbstractHessianInput abstractHessianInput) { int intCode = abstractHessianInput.ReadListStart(); switch (intCode) { case CHessianProtocolConstants.PROT_NULL: return(null); case CHessianProtocolConstants.PROT_REF_TYPE: return(abstractHessianInput.ReadRef()); } int intLength = abstractHessianInput.ReadLength(); return(ReadList(abstractHessianInput, intLength)); }
/// <summary> /// Reads objects as list /// <see cref="ReadList(AbstractHessianInput,int)"/> /// </summary> /// <param name="abstractHessianInput">HessianInput - Instance</param> /// <returns>List instance</returns> public override object ReadObject(AbstractHessianInput abstractHessianInput) { int intCode = abstractHessianInput.ReadListStart(); switch (intCode) { case CHessianInput.PROT_NULL: return(null); case CHessianInput.PROT_REF_TYPE: return(abstractHessianInput.ReadRef()); } String strType = abstractHessianInput.ReadType(); int intLength = abstractHessianInput.ReadLength(); return(ReadList(abstractHessianInput, intLength)); }
/// <summary> /// Reads map from input /// </summary> /// <param name="abstractHessianInput">Input stream</param> /// <returns>Read map or null</returns> public override object ReadObject(AbstractHessianInput abstractHessianInput) { //Read map start int code = abstractHessianInput.ReadMapStart(); switch (code) { case CHessianProtocolConstants.PROT_NULL: return(null); case CHessianProtocolConstants.PROT_REF_TYPE: return(abstractHessianInput.ReadRef()); case 'r': throw new CHessianException("remote type is not implemented!"); } return(ReadMap(abstractHessianInput)); }