1 22 23 package org.snmp4j.agent.mo.jmx; 24 25 import javax.management.ObjectName ; 26 import org.snmp4j.agent.mo.jmx.types.TypedAttribute; 27 import javax.management.MBeanServerConnection ; 28 import java.io.IOException ; 29 import javax.management.MBeanException ; 30 import javax.management.AttributeNotFoundException ; 31 import javax.management.InstanceNotFoundException ; 32 import javax.management.ReflectionException ; 33 34 43 public class MBeanInvokationKeyProvider extends MBeanAttributeKeyProvider { 44 45 private String rowProvidingOperation; 46 47 public MBeanInvokationKeyProvider(ObjectName mBeanName, 48 TypedAttribute keyAttribute, 49 String rowProvidingOperation) { 50 super(mBeanName, keyAttribute); 51 this.rowProvidingOperation = rowProvidingOperation; 52 } 53 54 public MBeanInvokationKeyProvider(ObjectName mBeanName, 55 TypedAttribute keyAttribute, 56 String rowProvidingOperation, 57 boolean keysNeedSorting) { 58 super(mBeanName, keyAttribute, keysNeedSorting); 59 this.rowProvidingOperation = rowProvidingOperation; 60 } 61 62 public Object getRowValues(MBeanServerConnection server, Object indexObject) 63 throws IOException , MBeanException , AttributeNotFoundException , 64 InstanceNotFoundException , ReflectionException 65 { 66 Object row = 67 server.invoke(getObjectName(), rowProvidingOperation, 68 new Object [] { indexObject }, 69 new String [] { getAttribute().getType().getName() }); 70 return row; 71 } 72 73 } 74 | Popular Tags |