RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package zephyr.plugin.core.api.internal.monitoring.helpers; 00002 00003 import zephyr.plugin.core.api.internal.codeparser.codetree.ClassNode; 00004 import zephyr.plugin.core.api.internal.codeparser.codetree.CodeTrees; 00005 import zephyr.plugin.core.api.internal.codeparser.interfaces.CodeParser; 00006 import zephyr.plugin.core.api.internal.codeparser.parsers.CodeTreeParser; 00007 import zephyr.plugin.core.api.internal.monitoring.abstracts.DataMonitorAdapter; 00008 import zephyr.plugin.core.api.internal.monitoring.abstracts.MonitorContainerNode; 00009 import zephyr.plugin.core.api.internal.monitoring.abstracts.MonitoredDataTraverser; 00010 import zephyr.plugin.core.api.monitoring.abstracts.DataMonitor; 00011 import zephyr.plugin.core.api.monitoring.abstracts.Monitored; 00012 00013 public class Parser { 00014 public static void parse(final DataMonitor dataMonitor, Object toParse, int levelRequired) { 00015 DataMonitorAdapter monitorAdapter = new DataMonitorAdapter() { 00016 @Override 00017 public void add(MonitorContainerNode codeNode) { 00018 String codePath = CodeTrees.mergePath(codeNode); 00019 String[] labels = codeNode.createLabels(); 00020 Monitored[] monitored = codeNode.createMonitored(); 00021 for (int i = 0; i < monitored.length; i++) 00022 dataMonitor.add(codePath + labels[i], monitored[i]); 00023 } 00024 }; 00025 MonitoredDataTraverser traverser = new MonitoredDataTraverser(monitorAdapter, levelRequired); 00026 CodeParser codeParser = new CodeTreeParser(levelRequired); 00027 ClassNode classNode = new ClassNode("", null, null, null); 00028 codeParser.parse(classNode, toParse, null); 00029 CodeTrees.traverse(traverser, classNode); 00030 } 00031 }