1 22 23 package org.snmp4j.agent.mo.jmx; 24 25 import javax.management.*; 26 27 import org.snmp4j.agent.*; 28 import org.snmp4j.agent.mo.*; 29 import org.snmp4j.smi.*; 30 31 32 46 public class JMXDefaultMOFactory extends DefaultMOFactory { 47 48 private MBeanServerConnection server; 49 private JMXScalarSupport scalarSupport; 50 51 59 public JMXDefaultMOFactory(MBeanServerConnection server) { 60 this(server, null); 61 } 62 63 71 public JMXDefaultMOFactory(MBeanServerConnection server, 72 JMXScalarSupport scalarSupport) { 73 this.server = server; 74 this.scalarSupport = scalarSupport; 75 } 76 77 public synchronized JMXScalarSupport getScalarSupport() { 78 if (scalarSupport == null) { 79 scalarSupport = new MBeanAttributeMOScalarSupport(server); 80 } 81 return scalarSupport; 82 } 83 84 public MBeanServerConnection getServer() { 85 return server; 86 } 87 88 public synchronized void setScalarSupport(JMXScalarSupport scalarSupport) { 89 this.scalarSupport = scalarSupport; 90 } 91 92 public MOScalar createScalar(OID id, MOAccess access, Variable value) { 93 return new MOScalarJMX(getScalarSupport(), id, access, value); 94 } 95 96 public MOScalar createScalar(OID id, MOAccess access, Variable value, 97 String tcModuleName, String textualConvention) { 98 99 return createScalar(id, access, value); 100 } 101 102 public MOTable createTable(OID oid, MOTableIndex indexDef, MOColumn[] columns, 103 MOTableModel model) { 104 return new MOTableJMX(oid, indexDef, columns, 105 createTableModel(oid, indexDef, columns)); 106 } 107 108 public MOTable createTable(OID oid, MOTableIndex indexDef, MOColumn[] columns) { 109 return new MOTableJMX(oid, indexDef, columns, 110 createTableModel(oid, indexDef, columns)); 111 } 112 } 113 | Popular Tags |