Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The SmiManager will also load all MIB objects that are imported by the specified modules! You do not have to implement this logic yourself

Formatting and Parsing Examples for Object Identifiers (OIDs)

Code Block
languagejava
// The classic use case, formatting OIDs using (last) object name and numeric (index) suffix:
OID testPrivOID = new OID("1.3.6.1.4.1.4976");
assertEquals("enterprises.4976", testPrivOID.toString());

OID vacmAccessContextMatch = new OID("1.3.6.1.6.3.16.1.4.1.4.7.118.51.103.114.111.117.112.0.3.1");
assertEquals("vacmAccessContextMatch.\"v3group\".\"\".3.'noAuthNoPriv(1)'", vacmAccessContextMatch.toString());
 
// If the selected OID format supports round-trip processing like this SmiManager.OIDFormat.ObjectNameAndDecodedIndex4RoundTrip format
// OID.toString() and OID.format() will return the same value. Otherwise, OID.toString() will render the OID in the next less formatting
// OID format that supports parsing: 
assertEquals("vacmAccessContextMatch.\"v3group\".\"\".3.'noAuthNoPriv(1)'", vacmAccessContextMatch.format());
 
// Parsing of textual OIDs is supported out-of-the-box:
assertEquals(vacmAccessContextMatch, new OID("vacmAccessContextMatch.\"v3group\".\"\".3.'noAuthNoPriv(1)'"));

Formatting and Parsing Examples for Variable Bindings (VBs)

Code Block
languagejava
// store current format
SmiManager.OctetStringDefaultFormat defaultFormat = smiManager.getOctetStringDisplayHint();
// set the format to use MIB defined DISPLAY-HINT for OCTET STRING types
smiManager.setOctetStringDisplayHint(SmiManager.OctetStringDefaultFormat.MIB); 

VariableBinding vbEnum = new VariableBinding(new OID("ifAdminStatus.4"), "down(2)"); 
assertEquals(new VariableBinding(new OID(new int[] { 1,3,6,1,2,1,2,2,1,7,4 }), new Integer32(2)), vbEnum); 
assertEquals("down(2)", vbEnum.toValueString());

VariableBinding vbDateAndTime = new VariableBinding(new OID("nlmLogDateAndTime.1"),"2015-10-13,12:45:53.8+2:0"); 
assertEquals(new VariableBinding(new OID(new int[] { 1,3,6,1,2,1,92,1,3,1,1,3,1 }), OctetString.fromHexString("07:df:0a:0d:0c:2d:35:08:2b:02:00")), vbDateAndTime);
 
// restore previous format
smiManager.setOctetStringDisplayHint(defaultFormat);