예제 #1
0
        internal Inheritance(MetaPopulation metaPopulation)
            : base(metaPopulation)
        {
            this.Id = Guid.NewGuid();

            metaPopulation.OnInheritanceCreated(this);
        }
예제 #2
0
        public MethodType(MetaPopulation metaPopulation, Guid id)
            : base(metaPopulation)
        {
            this.Id = id;

            metaPopulation.OnMethodTypeCreated(this);
        }
예제 #3
0
        internal Interface(MetaPopulation metaPopulation, Guid id)
            : base(metaPopulation)
        {
            this.Id = id;

            metaPopulation.OnInterfaceCreated(this);
        }
예제 #4
0
        internal Domain(MetaPopulation metaPopulation, Guid id)
            : base(metaPopulation)
        {
            this.Id = id;

            this.directSuperdomains = new List <Domain>();

            this.MetaPopulation.OnDomainCreated(this);
        }
예제 #5
0
        static MetaPopulation()
        {
            Instance = new MetaPopulation();
            var metaBuilder = new MetaBuilder(Instance);

            metaBuilder.BuildDomains();
            metaBuilder.BuildObjectTypes();
            metaBuilder.BuildOperandTypes();
        }
예제 #6
0
        public RelationType(MetaPopulation metaPopulation, Guid id, Guid associationTypeId, Guid roleTypdId)
            : base(metaPopulation)
        {
            this.Id = id;

            this.AssociationType = new AssociationType(this, associationTypeId);
            this.RoleType        = new RoleType(this, roleTypdId);

            metaPopulation.OnRelationTypeCreated(this);
        }
예제 #7
0
        internal Class(MetaPopulation metaPopulation, Guid id)
            : base(metaPopulation)
        {
            this.Id = id;

            this.concreteRoleTypeByRoleType     = new Dictionary <RoleType, ConcreteRoleType>();
            this.concreteMethodTypeByMethodType = new Dictionary <MethodType, ConcreteMethodType>();

            this.classes = new[] { this };
            metaPopulation.OnClassCreated(this);
        }
예제 #8
0
 internal Unit(MetaPopulation metaPopulation, Guid id)
     : base(metaPopulation)
 {
     this.Id = id;
     metaPopulation.OnUnitCreated(this);
 }
예제 #9
0
 public Path(MetaPopulation metaPopulation, params string[] propertyTypeIds)
     : this(propertyTypeIds.Select(x => (PropertyType)metaPopulation.Find(new Guid(x))).ToArray())
 {
 }
예제 #10
0
 protected ObjectType(MetaPopulation metaPopulation)
     : base(metaPopulation)
 {
 }
예제 #11
0
 protected MetaObjectBase(MetaPopulation metaPopulation) => this.MetaPopulation = metaPopulation;