Wahrscheinlich eine ziemliche Basic-Frage …:
Wie kann ich es einrichten, dass in meiner erweiterten Klasse ExtClass die erweiterte Aufzählung TypeExtANSTELLE der ursprünglichen Aufzählung Type verwendet wird?
Abstraktes Beispiel:
INTERLIS 2.4;
MODEL Base AT "mailto:localhost" VERSION "0.0.1" =
DOMAIN Type = (a,b,c);
TOPIC BaseTopic =
CLASS BaseClass =
Type:Type;
Description:TEXT;
END BaseClass;
END BaseTopic;
END Base.
MODEL Extension AT "mailto:localhost" VERSION "0.0.1" =
IMPORTS Base;
DOMAIN TypeExt EXTENDS Base.Type = (b(foo,bar));
TOPIC ExtTopic EXTENDS Base.BaseTopic =
CLASS ExtClass EXTENDS Base.BaseTopic.BaseClass =
!! how to replace "Type" with "TypeExt"?
END ExtClass;
END ExtTopic;
END Extension.
Mit (EXTENDED) wär’s mir klar, aber der Compiler meldet, dass dies für Aufzählungen nicht zulässig sei.
INTERLIS 2.4;
MODEL Base AT "mailto:localhost" VERSION "0.0.1" =
DOMAIN MyType = (a,b,c);
TOPIC BaseTopic =
CLASS BaseClass =
Type:MyType;
Description:TEXT*1000;
END BaseClass;
END BaseTopic;
END Base.
MODEL Extension AT "mailto:localhost" VERSION "0.0.1" =
IMPORTS Base;
DOMAIN TypeExt EXTENDS Base.MyType = (b(foo,bar));
TOPIC ExtTopic EXTENDS Base.BaseTopic =
CLASS ExtClass EXTENDS Base.BaseTopic.BaseClass =
Type (EXTENDED): TypeExt;
Description (EXTENDED):TEXT*999;
END ExtClass;
END ExtTopic;
END Extension.