Class VersionableGroupBase<T, G>
Provides a base class from which classes implementing DDI item groups may derive.
Inheritance
Inherited Members
Namespace: Algenta.Colectica.Model.Ddi
Assembly: Algenta.Colectica.Model.Ddi.dll
Syntax
public abstract class VersionableGroupBase<T, G> : DescribableBase, IVersionableGroup, IVersionable, IIdentifiable, IVisitable, IHasCustomFields, IDescribable where T : class, IVersionable where G : class, IVersionableGroup
Type Parameters
Name | Description |
---|---|
T | The .NET type of the items contained in the group. |
G | The .NET type of nested groups that may be contained in the group. |
Constructors
VersionableGroupBase()
Initializes a new instance of the VersionableGroupBase<T, G> class.
Declaration
public VersionableGroupBase()
Properties
ChildGroups
Gets the child groups that are nested in this group.
Declaration
public ObservableCollection<G> ChildGroups { get; }
Property Value
Type | Description |
---|---|
ObservableCollection<G> |
ChildGroupsList
Gets the group's child groups cast as an IList.
Declaration
public IList ChildGroupsList { get; }
Property Value
Type | Description |
---|---|
IList |
Implements
ChildGroupType
Gets the item type of the groups that may be nested within this group.
Declaration
public Guid ChildGroupType { get; protected set; }
Property Value
Type | Description |
---|---|
Guid |
Implements
ChildItemType
Gets the item type contained by this group.
Declaration
public Guid ChildItemType { get; protected set; }
Property Value
Type | Description |
---|---|
Guid |
Implements
ChildTypesAccepted
Gets the child types that may be added to this item type.
Declaration
public override Collection<Guid> ChildTypesAccepted { get; }
Property Value
Type | Description |
---|---|
Collection<Guid> | The child types that may be added to this item type. |
Overrides
Concept
Gets or sets a concept that defines this group.
Declaration
public Concept Concept { get; set; }
Property Value
Type | Description |
---|---|
Concept |
Implements
Items
Gets the items contained in the group.
Declaration
public ObservableCollection<T> Items { get; }
Property Value
Type | Description |
---|---|
ObservableCollection<T> |
ItemsList
Gets an the group's items cast as an IList.
Declaration
public IList ItemsList { get; }
Property Value
Type | Description |
---|---|
IList |
Implements
Keywords
Gets a collection of keywords that apply to the group.
Declaration
public ObservableCollection<CodeValue> Keywords { get; set; }
Property Value
Type | Description |
---|---|
ObservableCollection<CodeValue> |
Implements
Subjects
Gets a collection of subjects that apply to the group.
Declaration
public ObservableCollection<CodeValue> Subjects { get; set; }
Property Value
Type | Description |
---|---|
ObservableCollection<CodeValue> |
Implements
TypeOfGroup
Gets or sets a type indicating why items are in this group. The term used here may come from a controlled vocabulary.
Declaration
public CodeValue TypeOfGroup { get; set; }
Property Value
Type | Description |
---|---|
CodeValue |
Implements
Universes
Gets or sets a universe that defines this group.
Declaration
public ObservableCollection<Universe> Universes { get; set; }
Property Value
Type | Description |
---|---|
ObservableCollection<Universe> |
Implements
Methods
AddChild(IVersionable)
Adds the provided child to this item.
Declaration
public override void AddChild(IVersionable child)
Parameters
Type | Name | Description |
---|---|---|
IVersionable | child | The item to be added as a child of this item. |
Overrides
GetChildren()
Gets the identifiers of the item's children.
Declaration
public override ChildItemCollection GetChildren()
Returns
Type | Description |
---|---|
ChildItemCollection | The identifiers of the item's children. |
Overrides
Implements
RemoveChild(IVersionable)
Removes the child.
Declaration
public virtual bool RemoveChild(IVersionable child)
Parameters
Type | Name | Description |
---|---|---|
IVersionable | child | The child. |
Returns
Type | Description |
---|---|
System.Boolean | The number of items removed. |
RemoveChild(IdentifierTriple)
Removes the specified child.
Declaration
public override int RemoveChild(IdentifierTriple child)
Parameters
Type | Name | Description |
---|---|---|
IdentifierTriple | child | The child to be removed. |
Returns
Type | Description |
---|---|
System.Int32 | The number of children removed from the item. |
Overrides
ReplaceChild(IdentifierTriple, IVersionable)
Replaces the child with the specified identifier with the provided item.
Declaration
public override int ReplaceChild(IdentifierTriple toReplace, IVersionable child)
Parameters
Type | Name | Description |
---|---|---|
IdentifierTriple | toReplace | The identifier of the child to replace. |
IVersionable | child | The new child. |
Returns
Type | Description |
---|---|
System.Int32 | The number of children replaced. |