RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package zephyr.plugin.core.api.internal.monitoring.abstracts; 00002 00003 import zephyr.plugin.core.api.internal.codeparser.interfaces.CodeNode; 00004 import zephyr.plugin.core.api.internal.codeparser.interfaces.ParentNode; 00005 import zephyr.plugin.core.api.internal.codeparser.interfaces.Traverser; 00006 00007 public class MonitoredDataTraverser implements Traverser, MonitorParser { 00008 private final DataMonitorAdapter monitorAdapter; 00009 private final int levelRequired; 00010 public static final int MonitorEverythingLevel = Integer.MAX_VALUE; 00011 00012 public MonitoredDataTraverser(DataMonitorAdapter monitorAdapter, int levelRequired) { 00013 this.monitorAdapter = monitorAdapter; 00014 this.levelRequired = levelRequired; 00015 } 00016 00017 @Override 00018 public boolean inNode(CodeNode codeNode) { 00019 if (codeNode.level() > levelRequired) 00020 return false; 00021 if (codeNode instanceof ParentNode) 00022 return true; 00023 if (codeNode instanceof MonitorContainerNode) 00024 monitorAdapter.add((MonitorContainerNode) codeNode); 00025 return false; 00026 } 00027 00028 @Override 00029 public void outNode(CodeNode codeNode) { 00030 } 00031 }