01: /*_############################################################################
02: _##
03: _## SNMP4J-AgentJMX - Boolean2IntegerType.java
04: _##
05: _## Copyright (C) 2006-2007 Frank Fock (SNMP4J.org)
06: _##
07: _## This program is free software; you can redistribute it and/or modify
08: _## it under the terms of the GNU General Public License version 2 as
09: _## 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 Boolean2IntegerType extends TypedAttribute {
27:
28: public static final int TRUTH_VALUE_FOR_TRUE = 1;
29: public static final int TRUTH_VALUE_FOR_FALSE = 2;
30:
31: private Integer trueValue = new Integer(TRUTH_VALUE_FOR_TRUE);
32: private Integer falseValue = new Integer(TRUTH_VALUE_FOR_FALSE);
33:
34: public Boolean2IntegerType(String name) {
35: super (name, Integer.class);
36: }
37:
38: public Boolean2IntegerType(String name, Integer trueValue,
39: Integer falseValue) {
40: super (name, Integer.class);
41: this .trueValue = trueValue;
42: this .falseValue = falseValue;
43: }
44:
45: public Object transformFromNative(Object nativeValue,
46: ObjectName objectName) {
47: boolean b = ((Boolean) nativeValue).booleanValue();
48: return b ? trueValue : falseValue;
49: }
50:
51: public Object transformToNative(Object transformedValue,
52: Object oldNativeValue, ObjectName objectName) {
53: if (transformedValue instanceof Integer) {
54: if (transformedValue.equals(trueValue)) {
55: return true;
56: } else if (transformedValue.equals(falseValue)) {
57: return false;
58: }
59: }
60: return null;
61: }
62: }
|