1 package jfun.yan.monitoring; 2 3 import jfun.yan.Component; 4 import jfun.yan.Registrar; 5 import jfun.yan.containers.SimpleContainer; 6 import jfun.yan.containers.SimpleRegistrar; 7 8 27 public class MonitoringContainer extends SimpleContainer { 28 private final Monitors mon; 29 private void defaultRegister(Object key, Component c){ 30 registerComponent(key, defaultTransform(c)); 31 } 32 private void defaultRegister(Component c){ 33 registerComponent(defaultTransform(c)); 34 } 35 40 public MonitoringContainer(Registrar target, ComponentMonitor mon) { 41 super(target); 42 this.mon = new Monitors(mon); 43 } 44 48 public MonitoringContainer(ComponentMonitor mon){ 49 this(new SimpleRegistrar(), mon); 50 } 51 public void registerConstructor(Object key, Class c, Class [] param_types) { 52 defaultRegister(key, mon.ctor(c, param_types)); 53 } 54 55 public void registerConstructor(Object key, Class c) { 56 defaultRegister(key, mon.ctor(c)); 57 } 58 59 public void registerStaticMethod(Class c, String name, Class [] param_types) { 60 defaultRegister(mon.static_method(c, name, param_types)); 61 } 62 63 public void registerStaticMethod(Class c, String name) { 64 defaultRegister(mon.static_method(c, name)); 65 } 66 67 public void registerStaticMethod(Object key, Class c, String name, Class [] param_types) { 68 defaultRegister(key, mon.static_method(c, name, param_types)); 69 } 70 71 public void registerStaticMethod(Object key, Class c, String name) { 72 defaultRegister(key, mon.static_method(c, name)); 73 } 74 public void registerMethod(Object key, Object obj, String name, Class [] param_types){ 75 defaultRegister(key, mon.method(obj, name, param_types)); 76 } 77 public void registerMethod(Object key, Object obj, String name){ 78 defaultRegister(key, mon.method(obj, name)); 79 } 80 public void registerMethod(Object obj, String name, Class [] param_types){ 81 defaultRegister(mon.method(obj, name, param_types)); 82 } 83 public void registerMethod(Object obj, String name){ 84 defaultRegister(mon.method(obj, name)); 85 } 86 } 87 | Popular Tags |