Package org.snmp4j.smi

Provides classes for the representation of SMIv1/v2 data types (which also includes some basic ASN.1 primitive data types).

See:
          Description

Interface Summary
Address The Address interface serves as a base class for all SNMP transport addresses.
AssignableFromByteArray The AssignableFromByteArray interface describes objects whose value can be set from a byte array and converted back to a byte array.
AssignableFromIntArray The AssignableFromIntArray interface describes objects whose value can be set from an int array and converted back to an int array.
AssignableFromInteger  
AssignableFromLong  
AssignableFromString  
Variable The Variable interface defines common attributes of all SNMP variables.
VariantVariableCallback The VariantVariableCallback can be implemented by objects that want to intercept/monitor reading and writing of a VariantVariable's value.
 

Class Summary
AbstractVariable The Variable abstract class is the base class for all SNMP variables.
BitString The BitString class represents the obsolete SMI type BIT STRING which has been defined in RFC 1442 (an SNMPv2 draft) but which has been obsoleteted by RFC 1902 and RFC 2578.
Counter32 The Counter32 class allows all the functionality of unsigned integers but is recognized as a distinct SMI type, which is used for monotonically increasing values that wrap around at 2^32-1 (4294967295).
Counter64 The Counter64 class represents a 64bit unsigned integer type.
Gauge32 The Gauge32 class is indistinguishable from UnsingedInteger32.
GenericAddress The GenericAddress implements the decorator and factory design pattern to provide a generic address type.
Integer32 The Integer32 represents 32bit signed integer values for SNMP.
IpAddress The IpAddress class represents an IPv4 address SNMP variable.
Null The Null class represents SMI Null and the derived SMIv2 exception syntaxes.
OctetString The OctetString class represents the SMI type OCTET STRING.
OID The Object Identifier Class.
Opaque The Opaque class represents the SMI type Opaque which is used to transparently exchange BER encoded values.
ReadonlyVariableCallback This abstract class helps to implement a VariantVariableCallback for a read-only Variable.
SMIAddress A SMIAddress is an address that is defined by the Structure of Management Information (SMI) and can be thereby serialized through the Basic Encoding Rules (BER) used by the SNMP protocol.
SMIConstants The SMIConstants defines the tag values for SMI syntax types.
TcpAddress The TcpAddress represents TCP/IP transport addresses.
TimeTicks The TimeTicks class represents the time in 1/100 seconds since some epoch (which should be have been defined in the corresponding MIB specification).
TransportIpAddress The TransportIpAddress is the abstract base class for all transport addresses on top of IP network addresses.
UdpAddress The UdpAddress represents UDP/IP transport addresses.
UnsignedInteger32 UnsignedInteger32 type is an SNMP type that represents unsigned 32bit integer values (0 to 4294967295).
VariableBinding A VariableBinding is an association of a object instance identifier (OID) and the instance's value (Variable).
VariantVariable The VariantVariable provides a decorator for any type of Variable instance, to be able to intercept or monitor variable value modification by using a VariantVariableCallback.
 

Package org.snmp4j.smi Description

Provides classes for the representation of SMIv1/v2 data types (which also includes some basic ASN.1 primitive data types).

The org.snmp4j.smi classes are capable of BER encoding and decoding themself to/from a byte stream. In addition, the SMI data type classes provide convenient functions for manipulating their content.

The VariantVariable is a special class that can be used in command responder applications to intercept access to a SMI value.

Variable Binding Examples

import org.snmp4j.smi.*;
...
VariableBinding vb = new VariableBinding(new OID("1.3.6.1.2.1.1.4.0"));
vb.setValue(new OctetString("SNMP4J Text"));
...
vb = new VariableBinding();
vb.setOid(new OID(new int[] { 1,3,6,1,2,1,1,2,0 }));
...
vb = new VariableBinding(vb.getOid(), new IpAddress("255.255.255.255"));
...
vb = new VariableBinding(vb.getOid(), new Gauge32(2^32-1));
int syntax = vb.getSyntax();
if (syntax != SMIConstants.SYNTAX_GAUGE32) {
  // never reached
}
else {
  long value = ((UnsignedInteger32)vb.getValue()).getValue();
  System.out.println(vb.getOid() + " = " + value);
  // prints: 1.3.6.1.2.1.1.2.0 = 4294967295
}
...

The following UML class diagram shows the most important classes of the org.snmp4j.smi package and their relationships (relationships to other packages are not shown):


Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.