- java.lang.Object
-
- org.snmp4j.smi.VariableBinding
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,BERSerializable
public class VariableBinding extends java.lang.Object implements java.io.Serializable, BERSerializable, java.lang.Cloneable
AVariableBinding
is an association of a object instance identifier (OID
) and the instance's value (Variable
).- Version:
- 1.9
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private OID
oid
private static long
serialVersionUID
private Variable
variable
-
Constructor Summary
Constructors Constructor Description VariableBinding()
Creates a variable binding with a zero length OID and aNull
value.VariableBinding(OID oid)
Creates a variable binding with the supplied object instance identifier and aNull
value.VariableBinding(OID oid, java.lang.String variableText)
Creates a variable binding with the supplied OID and a text value.VariableBinding(OID oid, Variable variable)
Creates a variable binding with the supplied OID and value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
static VariableBinding[]
createFromOIDs(OID[] oids)
Create an array ofVariableBinding
s based on the provided OIDs.void
decodeBER(BERInputStream inputStream)
Decodes aVariable
from anInputStream
.void
encodeBER(java.io.OutputStream outputStream)
Encodes aVariable
to anOutputStream
.boolean
equals(java.lang.Object o)
int
getBERLength()
Returns the length of thisBERSerializable
object in bytes when encoded according to the Basic Encoding Rules (BER).int
getBERPayloadLength()
Returns the length of the payload of thisBERSerializable
object in bytes when encoded according to the Basic Encoding Rules (BER).OID
getOid()
Gets the object instance identifier of the variable binding.int
getSyntax()
Gets the syntax of the variable bindings value.Variable
getVariable()
Gets the value of the variable binding.int
hashCode()
boolean
isException()
Returns whether the variable bindings value has an exception syntax.void
setOid(OID oid)
Sets the object instance identifier for the variable binding.void
setVariable(Variable variable)
Sets the value of the variable binding.java.lang.String
toString()
Gets a string representation of this variable binding using theVariableTextFormat
configured bySNMP4JSettings
.java.lang.String
toValueString()
Gets a string representation of this variable binding's value using theVariableTextFormat
configured bySNMP4JSettings
.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
oid
private OID oid
-
variable
private Variable variable
-
-
Constructor Detail
-
VariableBinding
public VariableBinding()
Creates a variable binding with a zero length OID and aNull
value.
-
VariableBinding
public VariableBinding(OID oid)
Creates a variable binding with the supplied object instance identifier and aNull
value.- Parameters:
oid
- the OID for the new variable binding.
-
VariableBinding
public VariableBinding(OID oid, Variable variable)
Creates a variable binding with the supplied OID and value.- Parameters:
oid
- the OID for the new variable binding (must not benull
).variable
- the value for the new variable binding (must not benull
).
-
VariableBinding
public VariableBinding(OID oid, java.lang.String variableText) throws java.text.ParseException
Creates a variable binding with the supplied OID and a text value. The text value is parsed based on MIB information to a Variable using theVariableTextFormat
set bySNMP4JSettings.setVariableTextFormat(org.snmp4j.util.VariableTextFormat)
. The defaultSimpleVariableTextFormat
does not support this operation. To be able to use this constructor, register theSmiManager
of SNMP4J-SMI instead asVariableTextFormat
instead.
-
-
Method Detail
-
getOid
public OID getOid()
Gets the object instance identifier of the variable binding.- Returns:
- an
OID
.
-
setOid
public void setOid(OID oid)
Sets the object instance identifier for the variable binding.- Parameters:
oid
- an OID (must not benull
) that is cloned when added to this binding.
-
setVariable
public void setVariable(Variable variable)
Sets the value of the variable binding.- Parameters:
variable
- aVariable
(must not benull
) that is cloned when added to this binding.
-
getVariable
public Variable getVariable()
Gets the value of the variable binding.- Returns:
- a
Variable
instance.
-
getSyntax
public final int getSyntax()
Gets the syntax of the variable bindings value.- Returns:
- a SMI syntax identifier (see
SMIConstants
).
-
isException
public boolean isException()
Returns whether the variable bindings value has an exception syntax.- Returns:
true
if the syntax of this variable is an instance ofNull
and its syntax equals one of the following:- See Also:
Variable
-
getBERPayloadLength
public final int getBERPayloadLength()
Description copied from interface:BERSerializable
Returns the length of the payload of thisBERSerializable
object in bytes when encoded according to the Basic Encoding Rules (BER).- Specified by:
getBERPayloadLength
in interfaceBERSerializable
- Returns:
- the BER encoded length of this variable.
-
getBERLength
public final int getBERLength()
Description copied from interface:BERSerializable
Returns the length of thisBERSerializable
object in bytes when encoded according to the Basic Encoding Rules (BER).- Specified by:
getBERLength
in interfaceBERSerializable
- Returns:
- the BER encoded length of this variable.
-
decodeBER
public final void decodeBER(BERInputStream inputStream) throws java.io.IOException
Description copied from interface:BERSerializable
Decodes aVariable
from anInputStream
.- Specified by:
decodeBER
in interfaceBERSerializable
- Parameters:
inputStream
- anInputStream
containing a BER encoded byte stream.- Throws:
java.io.IOException
- if the stream could not be decoded by using BER rules.
-
encodeBER
public final void encodeBER(java.io.OutputStream outputStream) throws java.io.IOException
Description copied from interface:BERSerializable
Encodes aVariable
to anOutputStream
.- Specified by:
encodeBER
in interfaceBERSerializable
- Parameters:
outputStream
- anOutputStream
.- Throws:
java.io.IOException
- if an error occurs while writing to the stream.
-
toString
public java.lang.String toString()
Gets a string representation of this variable binding using theVariableTextFormat
configured bySNMP4JSettings
.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string of the form
<OID> = <Variable>
.
-
toValueString
public java.lang.String toValueString()
Gets a string representation of this variable binding's value using theVariableTextFormat
configured bySNMP4JSettings
.- Returns:
- a string of the form
<Variable>
. - Since:
- 1.10
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
createFromOIDs
public static VariableBinding[] createFromOIDs(OID[] oids)
Create an array ofVariableBinding
s based on the provided OIDs.- Parameters:
oids
- an array of OIDs (must not be null).- Returns:
- an array of
VariableBinding
s where each the n-th binding's OID is the n-th OID out ofoids
. - Since:
- 2.1
-
-