Mercurial > hg > Members > shoshi > TreeCMSv1
view src/treecms/proto/edit/EditableNodeAPITreeBuilder.java @ 11:bb802051dab3
added proxy based EditableNodeAPI
author | shoshi |
---|---|
date | Sat, 28 Aug 2010 20:39:41 +0900 |
parents | 8fbe7ba1d820 |
children | c8e31aaac297 |
line wrap: on
line source
package treecms.proto.edit; import java.util.List; import java.util.UUID; import treecms.proto.api.NodeAPI; import treecms.proto.api.NodeAPITreeBuilder; public class EditableNodeAPITreeBuilder implements NodeAPITreeBuilder { private NodeAPI m_root; private NodeAPI m_clone; public EditableNodeAPITreeBuilder(NodeAPI _root) { m_root = _root; m_clone = clone(_root); } private NodeAPI clone(NodeAPI _orig) { EditableNodeAPI clone = new EditableNodeAPI(_orig); List<NodeAPI> children = _orig.getChildList(); for(NodeAPI child : children){ //System.out.println(child.getTitle()); clone.addChild(clone(child)); } clone._resetFlag(); return clone; } public void discard() { //discard changes. m_clone = clone(m_root); } public void commit() { //commit changes } public void push() { //push changes } public String generateUUID() { return UUID.randomUUID().toString(); } @Override public NodeAPI getContents() { // TODO Auto-generated method stub return this.m_clone; } @Override public NodeAPI createNode() { // TODO Auto-generated method stub return new EditableNodeAPI(null); } }