package nl.fontys.sofa.limo.view.node; import nl.fontys.sofa.limo.view.node.bean.AbstractBeanNode; /** * Interface which defines methods to detach a BeanNode from the data model. * <p> * The bean node is detached from the data model inside the graph scene to allow * for quick changes that are not persisted. This also allows making "quick and * dirty" changes when visiting a customer while still keeping the original data * intact. * * @author Sebastiaan Heijmann */ public interface DetachableNode { /** * Get a detached copy of a node. The bean of this copy is not mapped to a * database instance is it sets the id of the bean to null. * <p> * This is necessary if you want to use this node inside a graph scene * because persisting changes inside the graph scene should not be possible * to allow changes values quickly without affecting the original master * data. * * @return AbstractBeanNode - the detached node. */ AbstractBeanNode getDetachedNodeCopy(); }