KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > mo > jmx > types > CombinedTypedAttribute


1 /*_############################################################################
2   _##
3   _## SNMP4J-AgentJMX - CombinedTypedAttribute.java
4   _##
5   _## Copyright (C) 2006-2007 Frank Fock (SNMP4J.org)
6   _##
7   _## This program is free software; you can redistribute it and/or modify
8   _## it under the terms of the GNU General Public License version 2 as
9   _## published by the Free Software Foundation.
10   _##
11   _## This program is distributed in the hope that it will be useful,
12   _## but WITHOUT ANY WARRANTY; without even the implied warranty of
13   _## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   _## GNU General Public License for more details.
15   _##
16   _## You should have received a copy of the GNU General Public License
17   _## along with this program; if not, write to the Free Software
18   _## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19   _## MA 02110-1301 USA
20   _##
21   _##########################################################################*/

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 JavaDoc name, Class JavaDoc 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 JavaDoc transformFromNative(Object JavaDoc nativeValue, ObjectName objectName) {
41     Object JavaDoc[] values = (Object JavaDoc[])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 JavaDoc transformToNative(Object JavaDoc transformedValue,
52                                   Object JavaDoc oldNativeValue, ObjectName objectName) {
53     Object JavaDoc[] values = (Object JavaDoc[])oldNativeValue;
54     Object JavaDoc[] nativeValues = new Object JavaDoc[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