package com.yoursway.genericmodel.ui.tests.viewmodel; import java.util.Collection; import com.yoursway.genericmodel.ui.INodeElement; import com.yoursway.genericmodel.ui.IViewModelRoot; import com.yoursway.genericmodel.ui.Visualizer; import com.yoursway.model.repository.IHandle; import com.yoursway.model.repository.IModelRoot; import com.yoursway.model.repository.ISnapshot; import com.yoursway.model.tracking.IMapSnapshot; public class NodeElement implements INodeElement { private final NodeElement parent; public NodeElement(NodeElement parent) { this.parent = parent; } public IHandle<Collection<INodeElement>> children() { return new IHandle<Collection<INodeElement>>() { public Class<? extends IModelRoot> getModelRootInterface() { return IViewModelRoot.class; } public Collection<INodeElement> resolve(ISnapshot snapshot) { return ((IMapSnapshot) snapshot).get(this); } @Override public String toString() { return "children"; } }; } public INodeElement getParent() { return parent; } public IHandle<Visualizer> visualizer() { return new IHandle<Visualizer>() { public Class<? extends IModelRoot> getModelRootInterface() { return IViewModelRoot.class; } public Visualizer resolve(ISnapshot snapshot) { return ((IMapSnapshot) snapshot).get(this); } @Override public String toString() { return "visualizer"; } }; } }