1 22 package org.snmp4j.agent.mo.jmx.types; 23 24 import javax.management.*; 25 26 public class CombinedTypedAttribute extends TypedAttribute { 27 28 protected TypedAttribute[] combinedAttributes; 29 30 public CombinedTypedAttribute(String name, Class type, 31 TypedAttribute[] combinedAttributes) { 32 super(name, type); 33 this.combinedAttributes = combinedAttributes; 34 } 35 36 public TypedAttribute[] getAttributes() { 37 return combinedAttributes; 38 } 39 40 public Object transformFromNative(Object nativeValue, ObjectName objectName) { 41 Object [] values = (Object [])nativeValue; 42 for (int i=0; ((i<values.length) && 43 (i<combinedAttributes.length)); i++) { 44 if (values[i] != null) { 45 return values[i]; 46 } 47 } 48 return null; 49 } 50 51 public Object transformToNative(Object transformedValue, 52 Object oldNativeValue, ObjectName objectName) { 53 Object [] values = (Object [])oldNativeValue; 54 Object [] nativeValues = new Object [values.length]; 55 for (int i=0; ((i<values.length) && 56 (i<combinedAttributes.length)); i++) { 57 if (values[i] != null) { 58 nativeValues[i] = transformedValue; 59 } 60 } 61 return nativeValues; 62 } 63 64 public boolean isNativeValueAlwaysNeeded() { 65 return true; 66 } 67 68 } 69 | Popular Tags |