public OneToManyAssociationSpec(IOneToManyAssociationSpecImmutable association, INakedObjectsFramework framework)
            : base(association, framework)
        {
            IsASet = association.ContainsFacet <IIsASetFacet>();

            ElementSpec = MetamodelManager.GetSpecification(association.ElementSpec);
        }
Beispiel #2
0
        public OneToManyAssociationSpec(IMetamodelManager metamodel, IOneToManyAssociationSpecImmutable association, ISession session, ILifecycleManager lifecycleManager, INakedObjectManager manager, IObjectPersistor persistor)
            : base(metamodel, association, session, lifecycleManager, manager, persistor)
        {
            IsASet = association.ContainsFacet <IIsASetFacet>();

            ElementSpec = MetamodelManager.GetSpecification(association.ElementSpec);
        }
        protected AssociationSpecAbstract(IMetamodelManager metamodel, IAssociationSpecImmutable association, ISession session, ILifecycleManager lifecycleManager, INakedObjectManager manager)
            : base(association.Identifier.MemberName, association, session, lifecycleManager, metamodel)
        {
            Assert.AssertNotNull(manager);

            this.manager = manager;
            returnSpec   = MetamodelManager.GetSpecification(association.ReturnSpec);
        }
        private INakedObject GetAssociation(INakedObject fromObject)
        {
            object obj = GetFacet <IPropertyAccessorFacet>().GetProperty(fromObject);

            if (obj == null)
            {
                return(null);
            }
            var spec = (IObjectSpec)MetamodelManager.GetSpecification(obj.GetType());

            if (spec.ContainsFacet(typeof(IComplexTypeFacet)))
            {
                return(Manager.CreateAggregatedAdapter(fromObject, ((IAssociationSpec)this).Id, obj));
            }
            return(Manager.CreateAdapter(obj, null, null));
        }
        public override Tuple <string, IObjectSpec>[] GetChoicesParameters()
        {
            var propertyChoicesFacet = GetFacet <IPropertyChoicesFacet>();

            return(propertyChoicesFacet == null ? new Tuple <string, IObjectSpec>[] {} :
                   propertyChoicesFacet.ParameterNamesAndTypes.Select(t => new Tuple <string, IObjectSpec>(t.Item1, (IObjectSpec)MetamodelManager.GetSpecification(t.Item2))).ToArray());
        }
Beispiel #6
0
 protected AssociationSpecAbstract(IAssociationSpecImmutable association, INakedObjectsFramework framework)
     : base(association.Identifier.MemberName, association, framework)
 {
     Manager    = framework.NakedObjectManager ?? throw new InitialisationException($"{nameof(framework.NakedObjectManager)} is null");
     ReturnSpec = MetamodelManager.GetSpecification(association.ReturnSpec);
 }
Beispiel #7
0
 protected AssociationSpecAbstract(IMetamodelManager metamodel, IAssociationSpecImmutable association, ISession session, ILifecycleManager lifecycleManager, INakedObjectManager manager, IObjectPersistor persistor)
     : base(association.Identifier.MemberName, association, session, lifecycleManager, metamodel, persistor)
 {
     Manager    = manager ?? throw new InitialisationException($"{nameof(manager)} is null");
     ReturnSpec = MetamodelManager.GetSpecification(association.ReturnSpec);
 }