public void ReadData(IObjectDataInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            _attributeName = input.ReadString();
            _value         = input.ReadObject <object>();
            _equal         = input.ReadBool();
            _less          = input.ReadBool();
        }
Esempio n. 2
0
 public void ReadData(IObjectDataInput input)
 {
     Bool         = input.ReadBool();
     BoolArray    = input.ReadBoolArray();
     Byte         = input.ReadByte();
     ByteArray    = input.ReadByteArray();
     Char         = input.ReadChar();
     CharArray    = input.ReadCharArray();
     Short        = input.ReadShort();
     ShortArray   = input.ReadShortArray();
     Int          = input.ReadInt();
     IntArray     = input.ReadIntArray();
     Long         = input.ReadLong();
     LongArray    = input.ReadLongArray();
     Float        = input.ReadFloat();
     FloatArray   = input.ReadFloatArray();
     Double       = input.ReadDouble();
     DoubleArray  = input.ReadDoubleArray();
     Serializable = input.ReadObject <IIdentifiedDataSerializable>();
     //input.ReadObject(SerializableArray);
     //Portable = input.ReadObject<IPortable>();
     //input.ReadObject(PortableArray);
     Chars       = new string(input.ReadCharArray());
     String      = input.ReadString();
     StringArray = input.ReadStringArray();
     DateTime    = input.ReadObject <DateTime>();
 }
        /// <exception cref="System.IO.IOException"></exception>
        public IIdentifiedDataSerializable Read(IObjectDataInput input)
        {
            var factoryId = 0;
            var id        = 0;

            try
            {
                var identified = input.ReadBool();
                if (!identified)
                {
                    throw new SerializationException("Non-identified DataSerializable is not supported by .NET client. " +
                                                     "Please use IIdentifiedDataSerializable instead.");
                }

                factoryId = input.ReadInt();
                if (!_factories.TryGetValue(factoryId, out var factory))
                {
                    throw new SerializationException($"No DataSerializerFactory registered with id: {factoryId}.");
                }

                id = input.ReadInt();
                var serializable = factory.Create(id);
                if (serializable == null)
                {
                    throw new SerializationException($"{factory} (factoryId: {factoryId}) failed to create an instance for id: {id}.");
                }

                serializable.ReadData(input);
                return(serializable);
            }
            catch (IOException) { throw; }
            catch (SerializationException) { throw; }
            catch (Exception e)
            {
                throw new SerializationException($"Failed to read DataSerializable with factoryId: {factoryId}, id: {id} ({e.GetType()}: {e.Message}).", e);
            }
        }