Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Visitor design pattern is implemented in UML model structure. Every com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element has the accept(AbstractVisitor) method for visiting it.
The com.nomagic.uml2.impl.ModelVisitor has the visit<element_metatype> method for all types of model elements. This is very useful when you are working with a large collection of elements and need to perform actions, specific for every type of Element (for example, save/load, copy/paste, or a specific properties setting).
Just derive your class from com.nomagic.magicdraw.uml.InheritanceVisitor and override some visit... methods and call accept(AbstractVisitor) for Elements.
Code Block | ||
---|---|---|
| ||
ModelVisitor myVisitor = new ModelVisitor() { // override some visit methods ... public void visitClass(Class element, VisitorContext context) { //this is my UML Class } }; Project project = ...; Package root = project.getPrimaryModel(); Iterator<Element> it = root.getOwnedElement().iterator(); while (it.hasNext()) { it.next().accept(myVisitor); } |
Info |
---|
You can find the code examples in <programinstallation direc tory><installation_directory>\openapi\examples\statistics |