Exemple #1
0
        private bool IsTAAware(ClassMetadata classMetadata)
        {
            GenericReflector reflector = classMetadata.Reflector();

            return(reflector.ForClass(typeof(IActivatable)).IsAssignableFrom(classMetadata.ClassReflector
                                                                                 ()));
        }
 private GenericField[] Fields(GenericClass personClass, GenericReflector reflector
                               )
 {
     return(new GenericField[] { new GenericField("surname", reflector.ForClass(typeof(
                                                                                    string)), false), new GenericField("birthdate", reflector.ForClass(typeof(DateTime
                                                                                                                                                              )), false), new GenericField("bestFriend", personClass, false), new GenericField
                                     ("nArray", reflector.ForClass(typeof(int[][])), true) });
 }
        public IType GetFieldType()
        {
            GenericReflector reflecotr = objectContainer.Ext().Reflector();
            IReflectClass    klass     = reflecotr.ForName(m_classname);

            IReflectField rfield = DataLayerCommon.GetDeclaredFieldInHeirarchy(klass, m_fieldname);

            return(Db4oClient.TypeResolver.Resolve(rfield.GetFieldType()));
        }
        private void RegisterTypeHandler(IConfiguration config, Type clazz, ITypeHandler4
                                         typeHandler)
        {
            GenericReflector      reflector = ((Config4Impl)config).Reflector();
            IReflectClass         itemClass = reflector.ForClass(clazz);
            ITypeHandlerPredicate predicate = new _ITypeHandlerPredicate_229(itemClass);

            config.RegisterTypeHandler(predicate, typeHandler);
        }
        /// <summary>todo: Move the GenericClass creation into a utility/factory class.</summary>
        /// <remarks>todo: Move the GenericClass creation into a utility/factory class.</remarks>
        /// <returns></returns>
        public virtual GenericClass InitGenericClass()
        {
            GenericReflector reflector = new GenericReflector(null, Platform4.ReflectorForType
                                                                  (typeof(GenericObjectsTest)));
            GenericClass _objectIClass = (GenericClass)reflector.ForClass(typeof(object));
            GenericClass result        = new GenericClass(reflector, null, PersonClassname, _objectIClass
                                                          );

            result.InitFields(Fields(result, reflector));
            return(result);
        }
 private void InitClassReflectors(GenericReflector reflector)
 {
     IclassCompare         = reflector.ForClass(Const4.ClassCompare);
     IclassDb4otype        = reflector.ForClass(Const4.ClassDb4otype);
     IclassDb4otypeimpl    = reflector.ForClass(Const4.ClassDb4otypeimpl);
     IclassInternal        = reflector.ForClass(Const4.ClassInternal);
     IclassUnversioned     = reflector.ForClass(Const4.ClassUnversioned);
     IclassObject          = reflector.ForClass(Const4.ClassObject);
     IclassObjectcontainer = reflector.ForClass(Const4.ClassObjectcontainer);
     IclassStaticclass     = reflector.ForClass(Const4.ClassStaticclass);
     IclassString          = reflector.ForClass(typeof(string));
     IclassTransientclass  = reflector.ForClass(Const4.ClassTransientclass);
     Platform4.RegisterCollections(reflector);
 }
Exemple #7
0
        public virtual GenericClass ClassMetaToGenericClass(GenericReflector reflector, ClassInfo
                                                            classMeta)
        {
            if (classMeta.IsSystemClass())
            {
                return((GenericClass)reflector.ForName(classMeta.GetClassName()));
            }
            var className = classMeta.GetClassName();
            // look up from generic class table.
            var genericClass = LookupGenericClass(className);

            if (genericClass != null)
            {
                return(genericClass);
            }
            var reflectClass = reflector.ForName(className);

            if (reflectClass != null)
            {
                return((GenericClass)reflectClass);
            }
            GenericClass genericSuperClass = null;
            var          superClassMeta    = classMeta.GetSuperClass();

            if (superClassMeta != null)
            {
                genericSuperClass = ClassMetaToGenericClass(reflector, superClassMeta);
            }
            genericClass = new GenericClass(reflector, null, className, genericSuperClass);
            RegisterGenericClass(className, genericClass);
            var fields        = classMeta.GetFields();
            var genericFields = new GenericField[fields.Length];

            for (var i = 0; i < fields.Length; ++i)
            {
                var fieldClassMeta    = fields[i].GetFieldClass();
                var fieldName         = fields[i].GetFieldName();
                var genericFieldClass = ClassMetaToGenericClass(reflector, fieldClassMeta
                                                                );
                genericFields[i] = new GenericField(fieldName, genericFieldClass, fields[i]._isPrimitive
                                                    );
            }
            genericClass.InitFields(genericFields);
            return(genericClass);
        }
        public ReplicationReflector(IReplicationProvider providerA, IReplicationProvider
                                    providerB, IReflector reflector)
        {
            if (reflector == null)
            {
                if ((_container = ContainerFrom(providerA)) != null)
                {
                    return;
                }
                if ((_container = ContainerFrom(providerB)) != null)
                {
                    return;
                }
            }
            GenericReflector genericReflector = new GenericReflector(null, reflector == null ?
                                                                     Platform4.ReflectorForType(typeof(Db4objects.Drs.Inside.ReplicationReflector)) :
                                                                     reflector);

            Platform4.RegisterCollections(genericReflector);
            _reflector = genericReflector;
        }
        public GenericReflector Reflector()
        {
            GenericReflector reflector = (GenericReflector)_config.Get(ReflectorKey);

            if (reflector == null)
            {
                IReflector configuredReflector = (IReflector)_config.Get(ConfiguredReflectorKey);
                if (configuredReflector == null)
                {
                    configuredReflector = Platform4.CreateReflector(ClassLoader());
                    _config.Put(ConfiguredReflectorKey, configuredReflector);
                }
                reflector = new GenericReflector(configuredReflector);
                _config.Put(ReflectorKey, reflector);
            }
            // TODO: transaction assignment has been moved to YapStreamBase#initialize1().
            // implement better, more generic solution as described in COR-288
            //		if(! reflector.hasTransaction() && i_stream != null){
            //			reflector.setTransaction(i_stream.getSystemTransaction());
            //		}
            return(reflector);
        }
 internal HandlerRegistry(ObjectContainerBase container, byte stringEncoding, GenericReflector
                          reflector)
 {
     // this is the master container and not valid
     // for TransportObjectContainer
     _handlerVersions = new HandlerVersionRegistry(this);
     _stringIO        = BuiltInStringEncoding.StringIoForEncoding(stringEncoding, container.ConfigImpl
                                                                  .StringEncoding());
     _container           = container;
     container._handlers  = this;
     _reflector           = reflector;
     _diagnosticProcessor = container.ConfigImpl.DiagnosticProcessor();
     InitClassReflectors(reflector);
     _indexes          = new SharedIndexedFields();
     _virtualFields[0] = _indexes._version;
     _virtualFields[1] = _indexes._uUID;
     _virtualFields[2] = _indexes._commitTimestamp;
     RegisterBuiltinHandlers();
     RegisterPlatformTypes();
     InitArrayHandlers();
     Platform4.RegisterPlatformHandlers(container);
 }
 public GenericArrayReflector(GenericReflector reflector)
 {
     _delegate = reflector.GetDelegate().Array();
 }
        public static void RegisterCollections(GenericReflector reflector)
        {
//            reflector.RegisterCollectionUpdateDepth(
//                typeof(IDictionary),
//                3);
        }
Exemple #13
0
 public GenericArrayClass(GenericReflector reflector, IReflectClass delegateClass,
     string name, GenericClass superclass) : base(reflector, delegateClass, name, superclass
         )
 {
 }
Exemple #14
0
 public GenericArrayClass(GenericReflector reflector, IReflectClass delegateClass,
                          string name, GenericClass superclass) : base(reflector, delegateClass, name, superclass
                                                                       )
 {
 }
Exemple #15
0
 public GenericClassBuilder(GenericReflector reflector, IReflector delegate_)
 {
     _reflector = reflector;
     _delegate  = delegate_;
 }
Exemple #16
0
 public GenericClassBuilder(GenericReflector reflector, IReflector delegate_)
 {
     _reflector = reflector;
     _delegate = delegate_;
 }
 public GenericArrayReflector(GenericReflector reflector)
 {
     _delegate = reflector.GetDelegate().Array();
 }