public GeneralizationRelationship Clone(CompositeType derivedType, CompositeType baseType)
		{
			GeneralizationRelationship generalization = 
				new GeneralizationRelationship(derivedType, baseType);
			generalization.CopyFrom(this);
			return generalization;
		}
 public CompositeTypeEditor SetCompositeType(CompositeType type, bool memberOnly = false)
 {
     MemberOnly = memberOnly;
     SetTypeBase(type);
     compositeType = type;
     LanguageSpecificInitialization();
     InitEditStack();
     memberListEditor.ValueChanged += new EditValueChangedEventHandler(memberEditor_ValueChanged);
     return this;
 }
Example #3
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		protected Member(string name, CompositeType parent)
		{
			if (parent == null)
				throw new ArgumentNullException("parent");
            if (parent.Language != this.Language)
				throw new ArgumentException(Strings.ErrorLanguagesDoNotEqual);

			Initializing = true;
			Parent = parent;
			Name = name;
			ValidType = DefaultType;
			Initializing = false;
		}
Example #4
0
        protected internal override Field Clone(CompositeType newParent)
		{
			UmlField field = new UmlField(newParent);
			field.CopyFrom(this);
			return field;
		}
Example #5
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlField(CompositeType parent) : this("newField", parent)
		{
		}
Example #6
0
		protected internal abstract Field Clone(CompositeType newParent);
Example #7
0
		/// <exception cref="ArgumentException">
		/// <paramref name="operation"/> cannot be overridden.不能被重寫
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="operation"/> is null.
		/// </exception>
		protected internal abstract Operation Override(Operation operation, CompositeType newParent);
		/// <exception cref="ArgumentException">
		/// The language does not support explicit interface implementation.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="operation"/> is null.-or-
		/// <paramref name="newParent"/> is null.
		/// </exception>
		protected internal override Operation Implement(Operation operation,
			CompositeType newParent, bool explicitly)
		{
			if (newParent == null)
				throw new ArgumentNullException("newParent");
			if (operation == null)
				throw new ArgumentNullException("operation");

			Operation newOperation = operation.Clone(newParent);

			newOperation.AccessModifier = AccessModifier.Public;
			newOperation.ClearModifiers();
			newOperation.IsStatic = false;

			if (explicitly) {
				newOperation.Name = string.Format("{0}.{1}",
					((InterfaceType) operation.Parent).Name, newOperation.Name);
			}

			return newOperation;
		}
Example #9
0
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		protected Constructor(CompositeType parent) : base(null, parent)
		{
		}
Example #10
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlProperty(string name, CompositeType parent) : base(name, parent)
		{
		}
Example #11
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpMethod(CompositeType parent) : this("NewMethod", parent)
		{
		}
Example #12
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlProperty(CompositeType parent) : this("NewProperty", parent)
		{
		}
Example #13
0
		public override Operation Clone(CompositeType newParent)
		{
			UmlProperty property = new UmlProperty(newParent);
			property.CopyFrom(this);
			return property;
		}
Example #14
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlEvent(CompositeType parent) : this("NewEvent", parent)
		{
		}
Example #15
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpProperty(CompositeType parent) : this("NewProperty", parent)
		{
		}
Example #16
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		protected Event(string name, CompositeType parent) : base(name, parent)
		{
		}
Example #17
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlField(string name, CompositeType parent) : base(name, parent)
		{
			IsConstant = false;
		}
Example #18
0
		public override Operation Clone(CompositeType newParent)
		{
			UmlConstructor constructor = new UmlConstructor(newParent);
			constructor.CopyFrom(this);
			return constructor;
		}
Example #19
0
		public override Operation Clone(CompositeType newParent)
		{
			CSharpMethod method = new CSharpMethod(newParent);
			method.CopyFrom(this);
			return method;
		}
Example #20
0
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal UmlConstructor(CompositeType parent) : base(parent)
		{
		}
Example #21
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpMethod(string name, CompositeType parent) : base(name, parent)
		{
		}
Example #22
0
		public override Operation Clone(CompositeType newParent)
		{
			CSharpEvent newEvent = new CSharpEvent(newParent);
			newEvent.CopyFrom(this);
			return newEvent;
		}
		/// <exception cref="ArgumentException">
		/// <paramref name="operation"/> cannot be overridden.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="operation"/> is null.
		/// </exception>
		protected internal override Operation Override(Operation operation, CompositeType newParent)
		{
			if (operation == null)
				throw new ArgumentNullException("operation");

			if (!operation.IsVirtual && !operation.IsAbstract && !operation.IsOverride ||
				operation.IsSealed)
			{
				throw new ArgumentException(
					Strings.ErrorCannotOverride, "operation");
			}

			Operation newOperation = operation.Clone(newParent);
			newOperation.IsVirtual = false;
			newOperation.IsAbstract = false;
			newOperation.IsOverride = true;

			return newOperation;
		}
Example #24
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpEvent(string name, CompositeType parent) : base(name, parent)
		{
		}
Example #25
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpField(CompositeType parent) : this("newField", parent)
		{
		}
Example #26
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		protected Field(string name, CompositeType parent) : base(name, parent)
        {
		}
Example #27
0
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		internal CSharpEvent(CompositeType parent) : this("NewEvent", parent)
		{
		}
		/// <exception cref="RelationshipException">
		/// Cannot create generalization.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="derivedType"/> is null.-or-
		/// <paramref name="baseType"/> is null.
		/// </exception>
		internal GeneralizationRelationship(CompositeType derivedType, CompositeType baseType)
			: base(derivedType, baseType)
		{
			Attach();
		}
Example #29
0
		/// <exception cref="BadSyntaxException">
		/// The <paramref name="name"/> does not fit to the syntax.
		/// </exception>
		/// <exception cref="ArgumentException">
		/// The language of <paramref name="parent"/> does not equal.
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="parent"/> is null.
		/// </exception>
		protected Method(string name, CompositeType parent) : base(name, parent)
		{
		}
Example #30
0
		/// <exception cref="ArgumentException">
		/// The language does not support explicit interface implementation.
        /// 語言不支持顯式接口實現
		/// </exception>
		/// <exception cref="ArgumentNullException">
		/// <paramref name="operation"/> is null.-or-
		/// <paramref name="newParent"/> is null.
		/// </exception>
		protected internal abstract Operation Implement(Operation operation,
			CompositeType newParent, bool explicitly);