|
|
from TW.StructuralModel.Queries import NodeList |
from TW.StructuralModel.Queries import NodeList |
from TW.StructuralModel._Aspects import ComputedFeature #, StructuralModel |
from TW.StructuralModel._Aspects import ComputedFeature #, StructuralModel |
from TW.Features import Transform, FeatureSet |
|
import MMX |
import MMX |
|
|
|
|
class _ComputedFeatures(Transform): |
# XXX from TW.Features import Transform, FeatureSet |
|
|
|
#class _ComputedFeatures(Transform): |
|
|
def transform(self,maker,dict,verticalContext): |
# def transform(self,maker,dict,verticalContext): |
for k,v in dict.items(): |
# for k,v in dict.items(): |
if type(v) is FunctionType: |
# if type(v) is FunctionType: |
maker[k]=ComputedFeature(v) |
# maker[k]=ComputedFeature(v) |
|
|
ComputedFeatures = _ComputedFeatures() |
#ComputedFeatures = _ComputedFeatures() |
|
|
|
|
from os.path import join,dirname |
from os.path import join,dirname |
|
|
|
|
|
|
|
|
|
|
class UMLModel(MetaModel): # XXX needs StructuralModel, too |
class UMLModel(MetaModel): # XXX needs StructuralModel, too |
|
|
class Integer: |
class Integer: |
|
|
class ModelElement: |
class ModelElement: |
|
|
__features__ = FeatureSet(ComputedFeatures) |
# XXX __features__ = FeatureSet(ComputedFeatures) |
|
|
def QualifiedName(self): |
def QualifiedName(self): |
name = self.name() |
name = self.name() |
|
|
class GeneralizableElement: |
class GeneralizableElement: |
|
|
__features__ = FeatureSet(ComputedFeatures) |
# XXX __features__ = FeatureSet(ComputedFeatures) |
|
|
def superclasses(self): |
def superclasses(self): |
return self.generalizations.Get('parent') |
return self.generalizations.Get('parent') |