diff --git a/uml4net/POCO/Classification/IRedefinableTemplateSignature.cs b/uml4net/POCO/Classification/IRedefinableTemplateSignature.cs
index 3c7d4bbd..3f56015c 100644
--- a/uml4net/POCO/Classification/IRedefinableTemplateSignature.cs
+++ b/uml4net/POCO/Classification/IRedefinableTemplateSignature.cs
@@ -20,6 +20,9 @@
namespace uml4net.POCO.Classification
{
+ using System.Collections.Generic;
+
+ using uml4net.Decorators;
using uml4net.POCO.CommonStructure;
///
@@ -28,5 +31,26 @@ namespace uml4net.POCO.Classification
///
public interface IRedefinableTemplateSignature : IRedefinableElement, ITemplateSignature
{
+ ///
+ /// The Classifier that owns this RedefinableTemplateSignature.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1)]
+ [RedefinedProperty("TemplateSignature-template")]
+ [SubsettedProperty("RedefinableElement-redefinitionContext")]
+ public IClassifier Classifier { get; set; }
+
+ ///
+ /// The signatures extended by this RedefinableTemplateSignature.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: int.MaxValue)]
+ [SubsettedProperty("RedefinableElement-redefinedElement")]
+ public List ExtendedSignature { get; set; }
+
+ ///
+ /// The formal template parameters of the extended signatures.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: int.MaxValue, isReadOnly:true, isDerived:true)]
+ [SubsettedProperty("TemplateSignature-parameter")]
+ public ITemplateParameter InheritedParameter { get; }
}
}
diff --git a/uml4net/POCO/Classification/RedefinableTemplateSignature.cs b/uml4net/POCO/Classification/RedefinableTemplateSignature.cs
index 57ebf0de..24f3a787 100644
--- a/uml4net/POCO/Classification/RedefinableTemplateSignature.cs
+++ b/uml4net/POCO/Classification/RedefinableTemplateSignature.cs
@@ -122,5 +122,30 @@ public class RedefinableTemplateSignature : IRedefinableTemplateSignature
[Property(aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isReadOnly: true, isDerived: true, isDerivedUnion: true)]
[Implements(implementation: "IRedefinableElement.RedefinitionContext")]
public IClassifier RedefinitionContext => throw new NotImplementedException();
+
+ ///
+ /// The Classifier that owns this RedefinableTemplateSignature.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1)]
+ [RedefinedProperty("TemplateSignature-template")]
+ [SubsettedProperty("RedefinableElement-redefinitionContext")]
+ [Implements(implementation: "IRedefinableTemplateSignature.Classifier")]
+ public IClassifier Classifier { get; set; }
+
+ ///
+ /// The signatures extended by this RedefinableTemplateSignature.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: int.MaxValue)]
+ [SubsettedProperty("RedefinableElement-redefinedElement")]
+ [Implements(implementation: "IRedefinableTemplateSignature.ExtendedSignature")]
+ public List ExtendedSignature { get; set; }
+
+ ///
+ /// The formal template parameters of the extended signatures.
+ ///
+ [Property(aggregation: AggregationKind.None, lowerValue: 1, upperValue: int.MaxValue, isReadOnly: true, isDerived: true)]
+ [SubsettedProperty("TemplateSignature-parameter")]
+ [Implements(implementation: "IRedefinableTemplateSignature.InheritedParameter")]
+ public ITemplateParameter InheritedParameter => throw new NotImplementedException();
}
}