Source code for pyuseocl.state

# coding=utf-8

"""
Simple metamodel for object states. Contains definitions for:

- State,
- Object,
- Link,
- LinkObject.
"""

from collections import OrderedDict

[docs]class State(object): def __init__(self): self.objects = OrderedDict() self.links = OrderedDict() self.linkObject = OrderedDict()
[docs]class StateElement(object): def __init__(self, state): self.state = state
[docs]class Object(StateElement): def __init__(self, state, className, name): super(Object,self).__init__(state) state.objects[name] = self self.name = name self.className = className self.attributes = OrderedDict()
[docs] def set(self, name, value): self.attributes[name] = value
[docs]class LinkObject(StateElement): def __init__(self, state, associationClassName, name, objects) : super(LinkObject, self).__init__(state) state.linkObject[name] = self self.name = name self.className = associationClassName self.attributes = OrderedDict() self.roles = objects
[docs] def set(self, name, value): self.attributes[name] = value