|
Architecture - Object Identifier
The class discussed here is
org.friendlysnmp.FID or for short FID.
FriendlySNMP API deals with objects declared in a MIB.
These objects are often named nodes because they could be viewed
as nodes and leaves in the MIB tree. Each node in this tree has a unique
identifier. This identifier is a sequence of integers on the path
leading from the root of the tree to a named object.
Three fundamental node objects exposed by FriendlySNMP are
Scalar,
Table and
Notification.
Each of them is referred by node object identifier
org.friendlysnmp.FID.
This FID class is an immutable wrapper which hides
internally used object of the
org.snmp4j.smi.OID
class or for short OID from SNMP4J package.
The SNMP4J OID class is a powerful and convenient to use class
but it has a catch for a developer. This class is mutable.
It is very easy for developer to accidentally modify OID value
in an object of this class.
The class org.friendlysnmp.FID is safe.
It gives a developer access
to a copy of an internal OID value thus preserving original OID value intact.
The class org.friendlysnmp.FID has another friendly feature
which extends OID functionality: a node name. Consider example when you
display a message or log event in the form:
The scalar 1.3.6.1.4.1.29091.10.2.1.3 has a new value.
This extremely not user friendly message is not easy to comprehend.
The same message could use a scalar name in user friendly form:
The scalar imageSize has a new value.
It is a developer's choice
what FID value to use in the message, OID or name or both.
|