Exemplo n.º 1
0
 private object BuildOneInstance(NativeObjectInfo objectInfo)
 {
     if (objectInfo.IsAtomicNativeObject())
     {
         return(BuildOneInstance((AtomicNativeObjectInfo)objectInfo));
     }
     if (objectInfo.IsArrayObject())
     {
         return(BuildArrayInstance((ArrayObjectInfo)objectInfo));
     }
     if (objectInfo.IsNull())
     {
         return(null);
     }
     throw new OdbRuntimeException(
               NDatabaseError.InstanceBuilderNativeType.AddParameter(OdbType.GetNameFromId(objectInfo.GetOdbTypeId())));
 }
Exemplo n.º 2
0
        public object ReadAtomicNativeObjectInfoAsObject(int odbTypeId)
        {
            object o = null;

            switch (odbTypeId)
            {
            case OdbType.ByteId:
            {
                o = _fsi.ReadByte();
                break;
            }

            case OdbType.SByteId:
            {
                o = _fsi.ReadSByte();
                break;
            }

            case OdbType.BooleanId:
            {
                o = _fsi.ReadBoolean();
                break;
            }

            case OdbType.CharacterId:
            {
                o = _fsi.ReadChar();
                break;
            }

            case OdbType.FloatId:
            {
                o = _fsi.ReadFloat();
                break;
            }

            case OdbType.DoubleId:
            {
                o = _fsi.ReadDouble();
                break;
            }

            case OdbType.IntegerId:
            {
                o = _fsi.ReadInt();
                break;
            }

            case OdbType.UIntegerId:
            {
                o = _fsi.ReadUInt();
                break;
            }

            case OdbType.LongId:
            {
                o = _fsi.ReadLong();
                break;
            }

            case OdbType.ULongId:
            {
                o = _fsi.ReadULong();
                break;
            }

            case OdbType.ShortId:
            {
                o = _fsi.ReadShort();
                break;
            }

            case OdbType.UShortId:
            {
                o = _fsi.ReadUShort();
                break;
            }

            case OdbType.DecimalId:
            {
                o = _fsi.ReadBigDecimal();
                break;
            }

            case OdbType.DateId:
            {
                o = _fsi.ReadDate();
                break;
            }

            case OdbType.ObjectOidId:
            {
                var oid = _fsi.ReadLong();
                o = OIDFactory.BuildObjectOID(oid);
                break;
            }

            case OdbType.ClassOidId:
            {
                var cid = _fsi.ReadLong();
                o = OIDFactory.BuildClassOID(cid);
                break;
            }

            case OdbType.StringId:
            {
                o = _fsi.ReadString();
                break;
            }

            case OdbType.EnumId:
            {
                o = _fsi.ReadString();
                break;
            }
            }
            if (o == null)
            {
                throw new OdbRuntimeException(
                          NDatabaseError.NativeTypeNotSupported.AddParameter(odbTypeId).AddParameter(
                              OdbType.GetNameFromId(odbTypeId)));
            }
            return(o);
        }
Exemplo n.º 3
0
 private static object ThrowIfNotFound(int odbTypeId)
 {
     throw new OdbRuntimeException(
               NDatabaseError.InstanceBuilderNativeTypeInCollectionNotSupported.AddParameter(
                   OdbType.GetNameFromId(odbTypeId)));
 }