|
StatsValue |
|
1 package com.mccrory.scott.spumoni;
2
3 ////////////////////////////////////////////////////////////////////////////////
4 // Copyright (C) 2002 Scott McCrory
5 //
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 ////////////////////////////////////////////////////////////////////////////////
20
21 import java.io.IOException;
22 import java.io.ObjectInputStream;
23 import java.io.ObjectOutputStream;
24
25 /**
26 * <P><code>StatsValue</code> is a data object for a statistics program's single value.
27 * It also contains related attributes such as name, value, SNMP OID, trap min
28 * and trap max.</P>
29 *
30 * @author <a href="mailto:smccrory@users.sourceforge.net">Scott McCrory</a>.
31 * @version CVS $Id: StatsValue.java,v 1.8 2002/08/04 22:04:53 smccrory Exp $
32 */
33 public class StatsValue {
34
35 /** The name of this class to log context without introspection **/
36 private static final String CLASS_NAME = "StatsValue";
37
38 /** The version of this class (filled in by CVS) **/
39 private static final String VERSION = "CVS $Revision: 1.8 $";
40
41 /** A string defining an unset value **/
42 private static final String UNSET_VALUE = "*!*Unset_Value*!*";
43
44 /** The program value's name **/
45 private String valueName = "";
46
47 /** The program value's SNMP OID **/
48 private String snmpOid = "";
49
50 /** The program value's minimum before a trap is sent **/
51 private int snmpTrapMin = -2147483648;
52
53 /** The program value's maximum before a trap is sent **/
54 private int snmpTrapMax = 2147483647;
55
56 /** The program value's actual collected value **/
57 private String value = UNSET_VALUE;
58 /**
59 * Basic StatsValue constructor.
60 */
61 public StatsValue() {
62 super();
63 }
64
65 /**
66 * A convenience StatsValue contructor to set all of the data elements
67 * at time of creation.
68 *
69 * @param newValueName The name of this stats value
70 * @param newSnmpOid The SNMP OID
71 * @param newSnmpTrapMin The minimum value before sending an SNMP Trap
72 * @param newSnmpTrapMax The maximum value before sending an SNMP Trap
73 */
74 public StatsValue(
75 String newValueName,
76 String newSnmpOid,
77 int newSnmpTrapMin,
78 int newSnmpTrapMax) {
79
80 this();
81
82 valueName = newValueName;
83 snmpOid = newSnmpOid;
84 snmpTrapMin = newSnmpTrapMin;
85 snmpTrapMax = newSnmpTrapMax;
86
87 }
88
89 /**
90 * We override the <code>clone</code> method here to prevent cloning of our class.
91 *
92 * @throws CloneNotSupportedException To indicate cloning is not allowed
93 * @return Nothing ever really returned since we throw a CloneNotSupportedException
94 **/
95 public final Object clone() throws CloneNotSupportedException {
96
97 throw new CloneNotSupportedException();
98
99 }
100
101 /**
102 * Returns the SNMP OID.
103 * @return java.lang.String
104 */
105 public java.lang.String getSnmpOid() {
106 return snmpOid;
107 }
108
109 /**
110 * Returns the max acceptable value before an SMTP trap is sent.
111 * @return int
112 */
113 public int getSnmpTrapMax() {
114 return snmpTrapMax;
115 }
116
117 /**
118 * Returns the min acceptable value before an SMTP trap is sent.
119 * @return int
120 */
121 public int getSnmpTrapMin() {
122 return snmpTrapMin;
123 }
124
125 /**
126 * Gets the program value's actual collected value.
127 * @return java.lang.String
128 */
129 public java.lang.String getValue() {
130 return value;
131 }
132
133 /**
134 * Returns the value name.
135 * @return java.lang.String
136 */
137 public java.lang.String getValueName() {
138 return valueName;
139 }
140
141 /**
142 * Returns whether value is unset.
143 * @return boolean
144 */
145 public boolean isUnset() {
146
147 if (value.equals(UNSET_VALUE)) {
148 return true;
149 }
150 else {
151 return false;
152 }
153
154 }
155
156 /**
157 * We override the <code>readObject</code> method here to prevent
158 * deserialization of our class for security reasons.
159 *
160 * @param in java.io.ObjectInputStream
161 * @throws IOException thrown if a problem occurs
162 **/
163 private final void readObject(ObjectInputStream in) throws IOException {
164
165 throw new IOException("Object cannot be deserialized");
166
167 }
168
169 /**
170 * Sets the SNMP OID.
171 * @param newSnmpOid java.lang.String
172 */
173 public void setSnmpOid(java.lang.String newSnmpOid) {
174 snmpOid = newSnmpOid;
175 }
176
177 /**
178 * Sets the max acceptable value before an SMTP trap is sent.
179 * @param newSnmpTrapMax int
180 */
181 public void setSnmpTrapMax(int newSnmpTrapMax) {
182 snmpTrapMax = newSnmpTrapMax;
183 }
184
185 /**
186 * Sets the min acceptable value before an SMTP trap is sent.
187 * @param newSnmpTrapMin int
188 */
189 public void setSnmpTrapMin(int newSnmpTrapMin) {
190 snmpTrapMin = newSnmpTrapMin;
191 }
192
193 /**
194 * Sets the program value's actual collected value.
195 * @param newValue java.lang.String
196 */
197 public void setValue(java.lang.String newValue) {
198 value = newValue;
199 }
200
201 /**
202 * Sets the value name.
203 * @param newValueName java.lang.String
204 */
205 public void setValueName(java.lang.String newValueName) {
206 valueName = newValueName;
207 }
208
209 /**
210 * Returns a formatted String of this object's values
211 * @return java.lang.String
212 */
213 public String toString() {
214 String s =
215 "valueName='"
216 + valueName
217 + "', "
218 + "value='"
219 + value
220 + "', "
221 + "snmpOid='"
222 + snmpOid
223 + "', "
224 + "snmpTrapMin='"
225 + snmpTrapMin
226 + "', "
227 + "snmpTrapMax='"
228 + snmpTrapMax
229 + "'";
230 return s;
231 }
232
233 /**
234 * Unsets the value
235 */
236 public void unset() {
237
238 value = UNSET_VALUE;
239
240 }
241
242 /**
243 * We override the <code>writeObject</code> method here to prevent
244 * serialization of our class for security reasons.
245 *
246 * @param out java.io.ObjectOutputStream
247 * @throws IOException thrown if a problem occurs
248 **/
249 private final void writeObject(ObjectOutputStream out) throws IOException {
250
251 throw new IOException("Object cannot be serialized");
252
253 }
254
255 }
|
StatsValue |
|