...
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 | ||
---|---|---|
| ||
// 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 | ||
---|---|---|
| ||
// 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); |