Repository maintains a set of elements.
Reponsibilities:
This module dispatches these events:
Assign a value to a field. This will not insert an Operation into UndoStack (bypass = true). Use it carefully.
Insert an element to an array field. This will not insert an Operation into UndoStack (bypass = true). Use it carefully.
Do an Operation If operation.bypass == true, the operation will not be pushed to UndoStack.
Find the first matched element satisfying the predicate.
Find all elements satisfying the predicate.
Return element by id.
Return all instances of EdgeView linked to the given view.
Return instances of a specified type name(s).
Return all elements referencing to the given element.
Return all instances of Relationship connected to the given model element.
Return all views associated with the given model.
Return true if the given parameter is an element in this Repository.
Lookup an element and then find. (See Element.prototype.lookup
and find
).
Return an array of elements selected by selector expression. This is a quite heavy operation, so you need to concern about performance.
Selector expression
- Children selector
ex) Package1:: -- all children of Package1
- Type selector: "@<type>"
ex) Package1::@UMLClass
- Field selector: ".<field>"
ex) Class1.attributes, Package1.owendElements
- Value selector: "[field=value]"
ex) Class1.operations[isAbstract=false]
- Name selector: "<name>" (equivalent to "[name=<name>]")
ex) Class1, Class1::Attribute1
Selector examples: @UMLClass Package1::Class1.attributes[type=String] Package1::Model1::@UMLInterface.operations[isAbstract=false]