Package org.opennms.protocols.snmp
Class SnmpUInt32
- java.lang.Object
-
- org.opennms.protocols.snmp.SnmpUInt32
-
- All Implemented Interfaces:
Serializable
,Cloneable
,SnmpSyntax
- Direct Known Subclasses:
SnmpCounter32
,SnmpGauge32
,SnmpTimeTicks
,SnmpV2PartyClock
public class SnmpUInt32 extends Object implements SnmpSyntax, Cloneable, Serializable
This class defines the 32-bit unsigned SNMP object used to transmit 32-bit unsigned number. The unsigned value is represented by a 64-bit quantity, but the upper 32-bits are always truncated from the value. If a caller passes in a value with any the upper 32-bits set the value will be silently truncated to a 32-bit value. If negative quantities or values with more than 32-bits are passed then data corruption will occur.- Author:
- OpenNMS , Brian Weaver
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static byte
ASNTYPE
The ASN.1 value for an unsigned integer value.
-
Constructor Summary
Constructors Constructor Description SnmpUInt32()
Default class constructor.SnmpUInt32(long value)
Constructs a SnmpUInt32 object with the specified value.SnmpUInt32(Long value)
Constructs a SnmpUInt32 object with the specified value.SnmpUInt32(String value)
Simple class constructor that recovers the unsigned value from the passed string.SnmpUInt32(SnmpUInt32 second)
Class copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
Returns a duplicte of the current objectint
decodeASN(byte[] buf, int offset, AsnEncoder encoder)
Used to decode the integer value from the ASN.1 buffer.SnmpSyntax
duplicate()
Returns a duplicte of the current objectint
encodeASN(byte[] buf, int offset, AsnEncoder encoder)
Used to encode the integer value into an ASN.1 buffer.boolean
equals(Object obj)
long
getValue()
Used to retreive the 32-bit unsigned value.int
hashCode()
void
setValue(long value)
Used to set the 32-bit unsigned quantity.void
setValue(Long value)
Used to set the 32-bit unsigned quantity.static Long
toLong(SnmpUInt32 val)
String
toString()
Returns the string representation of the object.byte
typeId()
Used to retreive the ASN.1 type for this object.
-
-
-
Field Detail
-
ASNTYPE
public static final byte ASNTYPE
The ASN.1 value for an unsigned integer value. BEWARE this value will conflict with the SnmpSMI.SMI_COUNTER32 value. This object should not be dynamically registered with the SNMP library- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SnmpUInt32
public SnmpUInt32()
Default class constructor. Constructs the object with a value of zero(0).
-
SnmpUInt32
public SnmpUInt32(long value)
Constructs a SnmpUInt32 object with the specified value.- Parameters:
value
- The new 32-bit value.
-
SnmpUInt32
public SnmpUInt32(Long value)
Constructs a SnmpUInt32 object with the specified value.- Parameters:
value
- The new 32-bit value.
-
SnmpUInt32
public SnmpUInt32(SnmpUInt32 second)
Class copy constructor. Constructs a new object with the same value as the passed object.- Parameters:
second
- The object to copy the value from.
-
SnmpUInt32
public SnmpUInt32(String value)
Simple class constructor that recovers the unsigned value from the passed string. If the decoded value evaluates to a negative number or is malformed then an exception is generated. Likewise, the argument must not be a null reference or a null pointer exception is generated by the constructor.- Parameters:
value
- The unsigned value encoded as a string.- Throws:
NullPointerException
- Thrown if the passed value is a null pointer.IllegalArgumentException
- Thrown if the decoded value evaluates to a negative value.NumberFormatException
- Throws in the passed value cannot be decoded by the constructor.
-
-
Method Detail
-
getValue
public long getValue()
Used to retreive the 32-bit unsigned value.- Returns:
- The internal 32-bit value.
-
setValue
public void setValue(long value)
Used to set the 32-bit unsigned quantity. If the value exceeds 32-bit then the upper 32-bits will be silently truncated from the value.- Parameters:
value
- The new value for the object
-
setValue
public void setValue(Long value)
Used to set the 32-bit unsigned quantity. If the value exceeds 32-bit then the upper 32-bits will be silently truncated from the value.- Parameters:
value
- The new value for the object
-
typeId
public byte typeId()
Used to retreive the ASN.1 type for this object.- Specified by:
typeId
in interfaceSnmpSyntax
- Returns:
- The ASN.1 value for the SnmpUInt32
-
encodeASN
public int encodeASN(byte[] buf, int offset, AsnEncoder encoder) throws AsnEncodingException
Used to encode the integer value into an ASN.1 buffer. The passed encoder defines the method for encoding the data.- Specified by:
encodeASN
in interfaceSnmpSyntax
- Parameters:
buf
- The location to write the encoded dataoffset
- The start of the encoded buffer.encoder
- The ASN.1 encoder object- Returns:
- The byte immediantly after the last encoded byte.
- Throws:
AsnEncodingException
- Thrown if an encoding error occurs
-
decodeASN
public int decodeASN(byte[] buf, int offset, AsnEncoder encoder) throws AsnDecodingException
Used to decode the integer value from the ASN.1 buffer. The passed encoder is used to decode the ASN.1 information and the integer value is stored in the internal object.- Specified by:
decodeASN
in interfaceSnmpSyntax
- Parameters:
buf
- The encoded ASN.1 dataoffset
- The offset of the first byte of dataencoder
- The ASN.1 decoder object.- Returns:
- The byte immediantly after the last decoded byte of information.
- Throws:
AsnDecodingException
- Thrown if an encoding error occurs
-
duplicate
public SnmpSyntax duplicate()
Returns a duplicte of the current object- Specified by:
duplicate
in interfaceSnmpSyntax
- Returns:
- A duplciate copy of the current object
-
clone
public Object clone()
Returns a duplicte of the current object
-
toString
public String toString()
Returns the string representation of the object.
-
toLong
public static Long toLong(SnmpUInt32 val)
-
-