RLPark 1.0.0
Reinforcement Learning Framework in Java

AbstractParentNode.java

Go to the documentation of this file.
00001 package zephyr.plugin.core.api.internal.codeparser.codetree;
00002 
00003 import java.util.Iterator;
00004 import java.util.LinkedHashMap;
00005 import java.util.Map;
00006 
00007 import zephyr.plugin.core.api.internal.codeparser.interfaces.CodeNode;
00008 import zephyr.plugin.core.api.internal.codeparser.interfaces.MutableParentNode;
00009 import zephyr.plugin.core.api.internal.codeparser.interfaces.ParentNode;
00010 
00011 public abstract class AbstractParentNode extends AbstractCodeNode implements MutableParentNode {
00012   private final Map<String, CodeNode> children = new LinkedHashMap<String, CodeNode>();
00013 
00014   protected AbstractParentNode(String label, ParentNode parent, int level) {
00015     super(label, parent, level);
00016   }
00017 
00018   @Override
00019   public void addChild(CodeNode child) {
00020     children.put(child.label(), child);
00021   }
00022 
00023   @Override
00024   public CodeNode getChild(int index) {
00025     Iterator<CodeNode> iterator = children.values().iterator();
00026     for (int i = 0; i < index; i++)
00027       iterator.next();
00028     return iterator.next();
00029   }
00030 
00031   @Override
00032   public int nbChildren() {
00033     return children.size();
00034   }
00035 
00036   @Override
00037   public CodeNode getChild(String id) {
00038     return children.get(id);
00039   }
00040 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark