KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > snmp > SNMPNull


1 /*
2  * SNMP Package
3  *
4  * Copyright (C) 2004, Jonathan Sevy <jsevy@mcs.drexel.edu>
5  *
6  * This is free software. Redistribution and use in source and binary forms, with
7  * or without modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice, this
11  * list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright notice,
13  * this list of conditions and the following disclaimer in the documentation
14  * and/or other materials provided with the distribution.
15  * 3. The name of the author may not be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
21  * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  */

29
30
31 package snmp;
32
33
34 /**
35 * Object representing the SNMP Null data type.
36 */

37
38 public class SNMPNull extends SNMPObject
39 {
40     
41     protected byte tag = SNMPBERCodec.SNMPNULL;
42     
43     
44     /**
45     * Returns Java null reference.
46     */

47     
48     public Object JavaDoc getValue()
49     {
50         return null;
51     }
52     
53     
54     
55     /**
56     * Always throws SNMPBadValueException (which null value did you want, anyway?)
57     */

58     
59     public void setValue(Object JavaDoc o)
60         throws SNMPBadValueException
61     {
62         throw new SNMPBadValueException(" Null: attempt to set value ");
63     }
64     
65     
66     
67     /**
68     * Return BER encoding for a null object: two bytes, tag and length of 0.
69     */

70     
71     protected byte[] getBEREncoding()
72     {
73         byte[] encoding = new byte[2];
74         
75         // set tag byte
76
encoding[0] = SNMPBERCodec.SNMPNULL;
77             
78         // len = 0 since no payload!
79
encoding[1] = 0;
80         
81         // no V!
82

83         return encoding;
84     }
85     
86     
87     
88     /**
89     * Checks just that both are instances of SNMPNull (no embedded value to check).
90     */

91     
92     public boolean equals(Object JavaDoc other)
93     {
94         // false if other is null
95
if (other == null)
96         {
97             return false;
98         }
99         
100         // check that they're both of the same class
101
if (this.getClass().equals(other.getClass()))
102         {
103             return true;
104         }
105         else
106         {
107             return false;
108         }
109     }
110     
111     
112     
113     /**
114     * Returns String "Null"..
115     */

116     
117     public String JavaDoc toString()
118     {
119         return new String JavaDoc("Null");
120     }
121     
122 }
Popular Tags