public MappingReflector( ITypeDiscoveryService typeDiscoveryService, IClassIDProvider classIDProvider, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator domainObjectCreator) { ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("domainObjectCreator", domainObjectCreator); _typeDiscoveryService = typeDiscoveryService; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _nameResolver = nameResolver; _mappingObjectFactory = new ReflectionBasedMappingObjectFactory( _nameResolver, _classIDProvider, _propertyMetadataProvider, _domainModelConstraintProvider, domainObjectCreator); }
public ClassReflector( Type type, IMappingObjectFactory mappingObjectFactory, IMemberInformationNameResolver nameResolver, IClassIDProvider classIDProvider, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator instanceCreator) { ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom("type", type, typeof(DomainObject)); ArgumentUtility.CheckNotNull("mappingObjectFactory", mappingObjectFactory); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("instanceCreator", instanceCreator); _type = type; _mappingObjectFactory = mappingObjectFactory; _nameResolver = nameResolver; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _instanceCreator = instanceCreator; }
public ClassDefinition( string id, Type classType, bool isAbstract, ClassDefinition baseClass, Type storageGroupType, IPersistentMixinFinder persistentMixinFinder, IDomainObjectCreator instanceCreator) { ArgumentUtility.CheckNotNullOrEmpty("id", id); ArgumentUtility.CheckNotNull("classType", classType); ArgumentUtility.CheckNotNull("persistentMixinFinder", persistentMixinFinder); _id = id; _storageGroupType = storageGroupType; _classType = classType; _persistentMixinFinder = persistentMixinFinder; _isAbstract = isAbstract; _propertyAccessorDataCache = new PropertyAccessorDataCache(this); _cachedRelationEndPointDefinitions = new DoubleCheckedLockingContainer <RelationEndPointDefinitionCollection> ( () => RelationEndPointDefinitionCollection.CreateForAllRelationEndPoints(this, true)); _cachedPropertyDefinitions = new DoubleCheckedLockingContainer <PropertyDefinitionCollection> ( () => new PropertyDefinitionCollection(PropertyDefinitionCollection.CreateForAllProperties(this, true), true)); _baseClass = baseClass; _instanceCreator = instanceCreator; _handleCreator = new Lazy <Func <ObjectID, IDomainObjectHandle <DomainObject> > > (BuildHandleCreator, LazyThreadSafetyMode.PublicationOnly); }
public override void SetUp() { base.SetUp(); _transaction = ClientTransactionObjectMother.Create(); _eventSinkWithMock = MockRepository.GenerateStrictMock <IClientTransactionEventSink>(); _invalidDomainObjectManagerMock = MockRepository.GenerateStrictMock <IInvalidDomainObjectManager> (); _dataManagerMock = MockRepository.GenerateStrictMock <IDataManager> (); _enlistedDomainObjectManagerMock = MockRepository.GenerateStrictMock <IEnlistedDomainObjectManager> (); _persistenceStrategyMock = MockRepository.GenerateStrictMock <IPersistenceStrategy>(); _agent = new ObjectLifetimeAgent( _transaction, _eventSinkWithMock, _invalidDomainObjectManagerMock, _dataManagerMock, _enlistedDomainObjectManagerMock, _persistenceStrategyMock); _objectID1 = DomainObjectIDs.Order1; _domainObject1 = DomainObjectMother.CreateFakeObject(_objectID1); _dataContainer1 = DataContainerObjectMother.CreateExisting(_domainObject1); _objectID2 = DomainObjectIDs.Order3; _domainObject2 = DomainObjectMother.CreateFakeObject(_objectID2); _dataContainer2 = DataContainerObjectMother.CreateExisting(_domainObject2); _domainObjectCreatorMock = MockRepository.GenerateStrictMock <IDomainObjectCreator>(); _typeDefinitionWithCreatorMock = ClassDefinitionObjectMother.CreateClassDefinitionWithTable( TestDomainStorageProviderDefinition, classType: typeof(OrderItem), instanceCreator: _domainObjectCreatorMock); _objectIDWithCreatorMock = new ObjectID(_typeDefinitionWithCreatorMock, Guid.NewGuid()); }
public ClassDefinitionWithUnresolvedClassType( string id, Type classType, bool isAbstract, ClassDefinition baseClass, IPersistentMixinFinder persistentMixinFinder, IDomainObjectCreator instanceCreator) : base(id, classType, isAbstract, baseClass, null, persistentMixinFinder, instanceCreator) { }
public static ClassDefinition CreateClassDefinitionWithTable( StorageProviderDefinition storageProviderDefinition, string id = null, Type classType = null, bool isAbstract = false, ClassDefinition baseClass = null, Type storageGroupType = null, IPersistentMixinFinder persistentMixinFinder = null, IDomainObjectCreator instanceCreator = null) { var classDefinition = CreateClassDefinition(id, classType, isAbstract, baseClass, storageGroupType, persistentMixinFinder, instanceCreator); classDefinition.SetStorageEntity(TableDefinitionObjectMother.Create(storageProviderDefinition)); return(classDefinition); }
public static ClassDefinition CreateClassDefinition( string id = null, Type classType = null, bool isAbstract = false, ClassDefinition baseClass = null, Type storageGroupType = null, IPersistentMixinFinder persistentMixinFinder = null, IDomainObjectCreator instanceCreator = null) { id = id ?? "Test"; classType = classType ?? typeof(Order); persistentMixinFinder = persistentMixinFinder ?? new PersistentMixinFinderStub(classType, Type.EmptyTypes); instanceCreator = instanceCreator ?? MockRepository.GenerateStrictMock <IDomainObjectCreator>(); return(new ClassDefinition(id, classType, isAbstract, baseClass, storageGroupType, persistentMixinFinder, instanceCreator)); }
public ReflectionBasedMappingObjectFactory( IMemberInformationNameResolver nameResolver, IClassIDProvider classIDProvider, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator instanceCreator) { ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("instanceCreator", instanceCreator); _nameResolver = nameResolver; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _instanceCreator = instanceCreator; }