Package org.snmp4j.smi
Class Counter64
java.lang.Object
org.snmp4j.smi.AbstractVariable
org.snmp4j.smi.Counter64
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Variable>
,BERSerializable
,AssignableFromLong
,AssignableFromString
,Variable
The
Counter64
class represents a 64bit unsigned integer type.
It is used for monotonically increasing values that wrap around at
2^64-1 (18446744073709551615).
The unsigned 64bit value is represented by a signed 64bit long value
internally.- Version:
- 1.8
- Author:
- Frank Fock
- See Also:
-
Field Summary
Fields inherited from class org.snmp4j.smi.AbstractVariable
SMISYNTAXES_PROPERTIES
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Clones this variable.int
void
decodeBER
(BERInputStream inputStream) Decodes aVariable
from anBERInputStream
.void
encodeBER
(OutputStream outputStream) Encodes aVariable
to anOutputStream
.boolean
void
fromSubIndex
(OID subIndex, boolean impliedLength) Sets the value of thisVariable
from the supplied (sub-)index.int
Returns the length of thisVariable
in bytes when encoded according to the Basic Encoding Rules (BER).int
Gets the ASN.1 syntax identifier value of this SNMP variable.long
getValue()
int
hashCode()
void
Increment the value of the counter by one.long
increment
(long increment) Increment the value by more than one in one step.void
setValue
(long value) void
final int
toInt()
Returns an integer representation of this variable if such a representation exists.final long
toLong()
Returns a long representation of this variable if such a representation exists.toString()
Gets a string representation of the variable.toSubIndex
(boolean impliedLength) Converts the value of thisVariable
to a (sub-)index value.Methods inherited from class org.snmp4j.smi.AbstractVariable
createFromBER, createFromSyntax, equal, getBERPayloadLength, getSyntaxFromString, getSyntaxString, getSyntaxString, isDynamic, isException
-
Constructor Details
-
Counter64
public Counter64() -
Counter64
public Counter64(long value)
-
-
Method Details
-
encodeBER
Description copied from class:AbstractVariable
Encodes aVariable
to anOutputStream
.- Specified by:
encodeBER
in interfaceBERSerializable
- Specified by:
encodeBER
in classAbstractVariable
- Parameters:
outputStream
- anOutputStream
.- Throws:
IOException
- if an error occurs while writing to the stream.
-
decodeBER
Description copied from class:AbstractVariable
Decodes aVariable
from anBERInputStream
.- Specified by:
decodeBER
in interfaceBERSerializable
- Specified by:
decodeBER
in classAbstractVariable
- Parameters:
inputStream
- anBERInputStream
containing a BER encoded byte stream.- Throws:
IOException
- if the stream could not be decoded by using BER rules.
-
getSyntax
public int getSyntax()Description copied from class:AbstractVariable
Gets the ASN.1 syntax identifier value of this SNMP variable.- Specified by:
getSyntax
in interfaceVariable
- Specified by:
getSyntax
in classAbstractVariable
- Returns:
- an integer value less than 128 for regular SMI objects and a value greater or equal than 128 for exception values like noSuchObject, noSuchInstance, and endOfMibView.
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceVariable
- Specified by:
hashCode
in classAbstractVariable
-
getBERLength
public int getBERLength()Description copied from class:AbstractVariable
Returns the length of thisVariable
in bytes when encoded according to the Basic Encoding Rules (BER).- Specified by:
getBERLength
in interfaceBERSerializable
- Specified by:
getBERLength
in classAbstractVariable
- Returns:
- the BER encoded length of this variable.
-
equals
- Specified by:
equals
in interfaceVariable
- Specified by:
equals
in classAbstractVariable
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Variable>
- Specified by:
compareTo
in interfaceVariable
- Specified by:
compareTo
in classAbstractVariable
-
toString
Description copied from class:AbstractVariable
Gets a string representation of the variable.- Specified by:
toString
in interfaceVariable
- Specified by:
toString
in classAbstractVariable
- Returns:
- a string representation of the variable's value.
-
setValue
- Specified by:
setValue
in interfaceAssignableFromString
-
setValue
public void setValue(long value) - Specified by:
setValue
in interfaceAssignableFromLong
-
getValue
public long getValue() -
clone
Description copied from interface:Variable
Clones this variable. Cloning can be used by the SNMP4J API to better support concurrency by creating a clone for internal processing. The content of this object is independent to the content of the clone. Thus, changes to the clone will have no effect to this object.- Specified by:
clone
in interfaceVariable
- Specified by:
clone
in classAbstractVariable
- Returns:
- a new instance of this
Variable
with the same value.
-
increment
public void increment()Increment the value of the counter by one. If the current value is 2^63-1 (9223372036854775807) then value will be set to -2^63. Nevertheless, the BER encoded value of this counter will always be unsigned! -
increment
public long increment(long increment) Increment the value by more than one in one step.- Parameters:
increment
- an increment value greater than zero.- Returns:
- the current value of the counter.
- Since:
- 2.4.2
-
toInt
public final int toInt()Description copied from class:AbstractVariable
Returns an integer representation of this variable if such a representation exists.- Specified by:
toInt
in interfaceVariable
- Specified by:
toInt
in classAbstractVariable
- Returns:
- an integer value (if the native representation of this variable would be a long, then the long value will be casted to int).
-
toLong
public final long toLong()Description copied from class:AbstractVariable
Returns a long representation of this variable if such a representation exists.- Specified by:
toLong
in interfaceAssignableFromLong
- Specified by:
toLong
in interfaceVariable
- Specified by:
toLong
in classAbstractVariable
- Returns:
- a long value.
-
toSubIndex
Description copied from class:AbstractVariable
Converts the value of thisVariable
to a (sub-)index value.- Specified by:
toSubIndex
in interfaceVariable
- Specified by:
toSubIndex
in classAbstractVariable
- Parameters:
impliedLength
- specifies if the sub-index has an implied length. This parameter applies to variable length variables only (e.g.OctetString
andOID
). For other variables it has no effect.- Returns:
- an OID that represents this value as an (sub-)index.
-
fromSubIndex
Description copied from class:AbstractVariable
Sets the value of thisVariable
from the supplied (sub-)index.- Specified by:
fromSubIndex
in interfaceVariable
- Specified by:
fromSubIndex
in classAbstractVariable
- Parameters:
subIndex
- the sub-index OID.impliedLength
- specifies if the sub-index has an implied length. This parameter applies to variable length variables only (e.g.OctetString
andOID
). For other variables it has no effect.
-