1 package org.sapia.regis.loader; 2 3 import java.util.ArrayList ; 4 import java.util.HashMap ; 5 import java.util.List ; 6 7 import org.sapia.regis.DuplicateNodeException; 8 import org.sapia.regis.RWNode; 9 import org.sapia.util.xml.confix.ConfigurationException; 10 import org.sapia.util.xml.confix.ObjectHandlerIF; 11 12 public class RegistryTag extends BaseTag implements ObjectHandlerIF{ 13 14 private List nodes = new ArrayList (); 15 private String defaultOperation = NodeTag.OP_UPDATE; 16 17 static Class [] ALLOWED = new Class []{NodeTag.class}; 18 19 public NodeTag createNode(){ 20 NodeTag node = new NodeTag(); 21 nodes.add(node); 22 return node; 23 } 24 25 public void setDefaultOperation(String operation){ 26 this.defaultOperation = operation; 27 } 28 29 void create(RWNode root) throws DuplicateNodeException{ 30 ConfigContext ctx = new ConfigContext(root, new HashMap ()); 31 ctx.setDefaultOperation(defaultOperation); 32 for(int i = 0; i < nodes.size(); i++){ 33 NodeTag nodeCfg = (NodeTag)nodes.get(i); 34 nodeCfg.create(ctx); 35 } 36 } 37 38 public void handleObject(String name, Object child) throws ConfigurationException { 39 ConfigUtils.checkAllowed(getTagName(), name, child, ALLOWED); 40 this.nodes.add(child); 41 } 42 43 } 44 | Popular Tags |