/// <summary> /// Construct a <b>Category</b> with the given name. /// </summary> /// <param name="classification">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>Category</b>.</param> /// <param name="concrete">Indicates if the <b>Category</b> is concrete.</param> protected Category(ClassificationScheme classification, string name, bool concrete) { this.name = name; this.concrete = concrete; classification.Add(this); }
/// <summary> /// Construct a <b>Category</b> that is a sub-classification of other /// <b>Category</b> instances. /// </summary> /// <param name="scheme">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>Category</b>.</param> /// <param name="concrete">Indicates if the <b>Category</b> is concrete.</param> /// <param name="parents">The parent <b>Category</b> instances.</param> protected Category(ClassificationScheme scheme, string name, bool concrete, Category [] parents) : this(scheme, name, concrete) { foreach (Category parent in parents) { this.superCategories.Add(parent); parent.subCategories.Add(this); } }
/// <summary> /// Construct an <b>AbstractCategory</b> that is a sub-classification of other /// <see cref="Category"/> instances. /// </summary> /// <param name="scheme">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>AbstractCategory</b>.</param> /// <param name="parents">The parent <see cref="Category"/> instances.</param> public AbstractCategory(ClassificationScheme scheme, string name, Category [] parents) : base(scheme, name, false, parents) { }
/// <summary> /// Construct an <b>AbstractCategory</b> with the given name. /// </summary> /// <param name="scheme">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>AbstractCategory</b>.</param> public AbstractCategory(ClassificationScheme scheme, string name) : base(scheme, name, false) { }
/// <summary> /// Construct a <b>DelegatedRefinableCategory</b> that is a sub-classification /// of other <see cref="Category"/> instances. /// </summary> /// <param name="scheme">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>DelegatedRefinableCategory</b>.</param> /// <param name="parents">The parent <see cref="Category"/> instances.</param> /// <param name="function">The delegate to use for classification.</param> public DelegatedRefinableCategory (ClassificationScheme scheme, string name, Category [] parents, ApplicableDelegate function) : base (scheme, name, parents) { this.function = function; }
/// <summary> /// Construct a <b>DelegatedCategory</b> that is a sub-classification /// of another <see cref="Category"/>. /// </summary> /// <param name="scheme">The owning <see cref="ClassificationScheme"/>.</param> /// <param name="name">The name of this <b>DelegatedCategory</b>.</param> /// <param name="concrete">Indicates if the <b>Category</b> is concrete.</param> /// <param name="parent">The parent <see cref="Category"/>.</param> /// <param name="function">The delegate to use for applicability.</param> public DelegatedCategory(ClassificationScheme scheme, string name, bool concrete, Category parent, ApplicableDelegate function) : base(scheme, name, concrete, parent) { this.function = function; }