Class ClassifierBase<TModelContract>
Base abstract class for classifiers.
Inheritance
Implements
Inherited Members
Namespace: Kephas.Model.Elements
Assembly: Kephas.Model.dll
Syntax
public abstract class ClassifierBase<TModelContract> : ModelElementBase<TModelContract>, IConstructibleElement, IClassifier, IModelElement, INamedElement, IAggregatedElementInfo, ITypeInfo, IElementInfo, IExpando, IDynamicMetaObjectProvider, IIndexable, IAttributeProvider where TModelContract : IClassifier
Type Parameters
Name | Description |
---|---|
TModelContract | The type of the model contract (the model interface). |
Constructors
| Improve this Doc View SourceClassifierBase(IModelConstructionContext, String)
Initializes a new instance of the ClassifierBase<TModelContract> class.
Declaration
protected ClassifierBase(IModelConstructionContext constructionContext, string name)
Parameters
Type | Name | Description |
---|---|---|
IModelConstructionContext | constructionContext | Context for the construction. |
System.String | name | The name. |
Properties
| Improve this Doc View SourceBaseClassifier
Gets the base classifier.
Declaration
public IClassifier BaseClassifier { get; }
Property Value
Type | Description |
---|---|
IClassifier | The base classifier. |
BaseMixins
Gets the base mixins.
Declaration
public IEnumerable<IClassifier> BaseMixins { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClassifier> | The base mixins. |
GenericTypeArguments
Gets a read-only list of ITypeInfo objects that represent the type arguments of a closed generic type.
Declaration
public IReadOnlyList<ITypeInfo> GenericTypeArguments { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<ITypeInfo> | The generic arguments. |
GenericTypeDefinition
Gets a ITypeInfo object that represents a generic type definition from which the current generic type can be constructed.
Declaration
public ITypeInfo GenericTypeDefinition { get; }
Property Value
Type | Description |
---|---|
ITypeInfo | The generic type definition. |
GenericTypeParameters
Gets a read-only list of ITypeInfo objects that represent the type parameters of a generic type definition (open generic).
Declaration
public IReadOnlyList<ITypeInfo> GenericTypeParameters { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<ITypeInfo> | The generic arguments. |
IsAspect
Gets a value indicating whether this classifier is an aspect of other classifiers.
Declaration
public bool IsAspect { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
IsMixin
Gets a value indicating whether this classifier is a mixin.
Declaration
public bool IsMixin { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
Methods
Gets the classifier methods.
Declaration
public IEnumerable<IMethod> Methods { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IMethod> | The classifier methods. |
Namespace
Gets the namespace of the type.
Declaration
public string Namespace { get; }
Property Value
Type | Description |
---|---|
System.String | The namespace of the type. |
Projection
Gets or sets the projection where the model element is defined.
Declaration
public IModelProjection Projection { get; protected set; }
Property Value
Type | Description |
---|---|
IModelProjection | The projection. |
Properties
Gets the classifier properties.
Declaration
public IEnumerable<IProperty> Properties { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IProperty> | The classifier properties. |
Methods
| Improve this Doc View SourceComputeBaseClassifier(IModelConstructionContext, IEnumerable<ITypeInfo>)
Calculates the base classifier.
Declaration
protected virtual IClassifier ComputeBaseClassifier(IModelConstructionContext constructionContext, IEnumerable<ITypeInfo> baseTypes)
Parameters
Type | Name | Description |
---|---|---|
IModelConstructionContext | constructionContext | Context for the construction. |
System.Collections.Generic.IEnumerable<ITypeInfo> | baseTypes | List of base types. |
Returns
Type | Description |
---|---|
IClassifier | The calculated base classifier. |
ComputeBaseMixins(IModelConstructionContext, IEnumerable<ITypeInfo>)
Calculates the base mixins.
Declaration
protected virtual IEnumerable<IClassifier> ComputeBaseMixins(IModelConstructionContext constructionContext, IEnumerable<ITypeInfo> baseTypes)
Parameters
Type | Name | Description |
---|---|---|
IModelConstructionContext | constructionContext | Context for the construction. |
System.Collections.Generic.IEnumerable<ITypeInfo> | baseTypes | List of base types. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClassifier> | The calculated base mixins. |
ComputeBaseTypes(IModelConstructionContext, IList<ITypeInfo>)
Calculates the base types.
Declaration
protected virtual IList<ITypeInfo> ComputeBaseTypes(IModelConstructionContext constructionContext, IList<ITypeInfo> parts)
Parameters
Type | Name | Description |
---|---|---|
IModelConstructionContext | constructionContext | Context for the construction. |
System.Collections.Generic.IList<ITypeInfo> | parts | The parts. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IList<ITypeInfo> | The calculated base types. |
ComputeIsAspect()
Calculates the flag indicating whether the classifier is an aspect or not.
Declaration
protected virtual bool ComputeIsAspect()
Returns
Type | Description |
---|---|
System.Boolean |
|
ComputeIsAspectOf()
For an aspect, calculates the function to select the classifiers for which this classifier is an aspect.
Declaration
protected virtual Func<IClassifier, bool> ComputeIsAspectOf()
Returns
Type | Description |
---|---|
System.Func<IClassifier, System.Boolean> | A function. |
ComputeIsMixin()
Calculates the flag indicating whether the classifier is a mixin or not.
Declaration
protected virtual bool ComputeIsMixin()
Returns
Type | Description |
---|---|
System.Boolean |
|
CreateInstance(IEnumerable<Object>)
Creates an instance with the provided arguments (if any).
Declaration
public virtual object CreateInstance(IEnumerable<object> args = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Object> | args | The arguments. |
Returns
Type | Description |
---|---|
System.Object | The new instance. |
IsAspectOf(IClassifier)
Indicates whether this classifier is an aspect of the provided classifier.
Declaration
public virtual bool IsAspectOf(IClassifier classifier)
Parameters
Type | Name | Description |
---|---|---|
IClassifier | classifier | The classifier. |
Returns
Type | Description |
---|---|
System.Boolean |
|
MakeGenericType(IEnumerable<ITypeInfo>, IContext)
Constructs a generic type baed on the provided type arguments.
Declaration
public ITypeInfo MakeGenericType(IEnumerable<ITypeInfo> typeArguments, IContext constructionContext = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<ITypeInfo> | typeArguments | The type arguments. |
IContext | constructionContext | The construction context (optional). |
Returns
Type | Description |
---|---|
ITypeInfo | A constructed ITypeInfo. |
OnCompleteConstruction(IModelConstructionContext)
Called when the construction is complete.
Declaration
protected override void OnCompleteConstruction(IModelConstructionContext constructionContext)
Parameters
Type | Name | Description |
---|---|---|
IModelConstructionContext | constructionContext | Context for the construction. |
Overrides
Explicit Interface Implementations
| Improve this Doc View SourceITypeInfo.BaseTypes
Gets the bases of this ITypeInfo. They include the real base and also the implemented interfaces.
Declaration
IEnumerable<ITypeInfo> ITypeInfo.BaseTypes { get; }
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ITypeInfo> | The bases. |
ITypeInfo.GetMember(String, Boolean)
Gets a member by the provided name.
Declaration
IElementInfo ITypeInfo.GetMember(string name, bool throwIfNotFound)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The member name. |
System.Boolean | throwIfNotFound | True to throw if the requested member is not found. |
Returns
Type | Description |
---|---|
IElementInfo | The requested member, or |
ITypeInfo.Members
Gets the members.
Declaration
IEnumerable<IElementInfo> ITypeInfo.Members { get; }
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IElementInfo> | The members. |
ITypeInfo.Properties
Gets the enumeration of properties.
Declaration
IEnumerable<IPropertyInfo> ITypeInfo.Properties { get; }
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IPropertyInfo> |