RLPark 1.0.0
Reinforcement Learning Framework in Java
|
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 }