Class StaticMOGroup

java.lang.Object
org.snmp4j.agent.mo.ext.StaticMOGroup
All Implemented Interfaces:
ManagedObject<SubRequest<?>>, GenericManagedObject, MOGroup

public class StaticMOGroup extends Object implements GenericManagedObject, MOGroup
The StaticMOGroup can be used to easily implement static (read-only) managed objects.

Note: Dynamic variables (see Variable.isDynamic()) cannot be used to with StaticMOGroup because default VariableBinding's Variables are cloned when added to them. In order to use dynamic objects (i.e., objects that may change their value when being accessed), a sub-class of VariableBinding needs to be used that overwrites its VariableBinding.setVariable(org.snmp4j.smi.Variable) method.

A StaticMOGroup is read-only by default. To implement read-write objects a subclass is needed that overwrites prepare(SubRequest), commit(SubRequest), undo(SubRequest), and cleanup(SubRequest).
Since:
1.2
Version:
3.2
Author:
Frank Fock
  • Constructor Summary

    Constructors
    Constructor
    Description
    StaticMOGroup(org.snmp4j.smi.OID root, org.snmp4j.smi.VariableBinding[] vbs)
    Creates a static managed object group for the sub-tree with the specified root OID.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cleanup(SubRequest<?> request)
    Cleanup a (sub)request and free all resources locked during the preparation phase.
    void
    commit(SubRequest<?> request)
    Sets the error status of the request to PDU.commitFailed.
    org.snmp4j.smi.OID
    find(MOScope range)
    Find the first object ID (OID) in the specified search range.
    void
    get(SubRequest<?> request)
    Process a GET request and return the result in the supplied sub-request.
    Return the scope of object identifiers this managed object is managing.
    boolean
    next(SubRequest<?> request)
    Find the successor instance for the object instance ID (OID) given by the supplied sub-request and returns it within the supplied sub-request object.
    void
    prepare(SubRequest<?> request)
    Sets the error status of the request to PDU.notWritable.
    void
    registerMOs(MOServer server, org.snmp4j.smi.OctetString context)
    Registers the managed objects of this group with the server for the supplied context.
     
    void
    undo(SubRequest<?> request)
    Sets the error status of the request to PDU.undoFailed.
    void
    unregisterMOs(MOServer server, org.snmp4j.smi.OctetString context)
    Unregisters the managed objects of this group from the supplied server and from the supplied context.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • StaticMOGroup

      public StaticMOGroup(org.snmp4j.smi.OID root, org.snmp4j.smi.VariableBinding[] vbs)
      Creates a static managed object group for the sub-tree with the specified root OID.
      Parameters:
      root - the root OID of the sub-tree to be registered by this managed object.
      vbs - the variable bindings to be returned in this sub-tree.
  • Method Details

    • registerMOs

      public void registerMOs(MOServer server, org.snmp4j.smi.OctetString context) throws DuplicateRegistrationException
      Description copied from interface: MOGroup
      Registers the managed objects of this group with the server for the supplied context.
      Specified by:
      registerMOs in interface MOGroup
      Parameters:
      server - the MOServer where to register the managed objects.
      context - the context to use (may be null if no specific context is selected).
      Throws:
      DuplicateRegistrationException - if a managed object's scope (i.e. lower bound) is already registered at the server.
    • unregisterMOs

      public void unregisterMOs(MOServer server, org.snmp4j.smi.OctetString context)
      Description copied from interface: MOGroup
      Unregisters the managed objects of this group from the supplied server and from the supplied context.
      Specified by:
      unregisterMOs in interface MOGroup
      Parameters:
      server - the MOServer where to unregister the managed objects.
      context - the context to use (may be null if no specific context is selected).
    • getScope

      public MOScope getScope()
      Description copied from interface: ManagedObject
      Return the scope of object identifiers this managed object is managing.
      Specified by:
      getScope in interface ManagedObject<SubRequest<?>>
      Returns:
      the MOScope that defines a range (possibly also a single or none instance OID) of object IDs managed by this managed object.
    • find

      public org.snmp4j.smi.OID find(MOScope range)
      Description copied from interface: ManagedObject
      Find the first object ID (OID) in the specified search range.
      Specified by:
      find in interface ManagedObject<SubRequest<?>>
      Parameters:
      range - the MOScope for the search.
      Returns:
      the OID that is included in the search range and null if no such instances could be found.
    • get

      public void get(SubRequest<?> request)
      Description copied from interface: ManagedObject
      Process a GET request and return the result in the supplied sub-request.
      Specified by:
      get in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
    • next

      public boolean next(SubRequest<?> request)
      Description copied from interface: ManagedObject
      Find the successor instance for the object instance ID (OID) given by the supplied sub-request and returns it within the supplied sub-request object.
      Specified by:
      next in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
      Returns:
      true if the search request found an appropriate instance, false otherwise.
    • prepare

      public void prepare(SubRequest<?> request)
      Sets the error status of the request to PDU.notWritable.
      Specified by:
      prepare in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - a request to process prepare SET request for.
    • commit

      public void commit(SubRequest<?> request)
      Sets the error status of the request to PDU.commitFailed.
      Specified by:
      commit in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - a request to process commit SET request for.
    • undo

      public void undo(SubRequest<?> request)
      Sets the error status of the request to PDU.undoFailed.
      Specified by:
      undo in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - a request to process undo SET request for.
    • cleanup

      public void cleanup(SubRequest<?> request)
      Description copied from interface: ManagedObject
      Cleanup a (sub)request and free all resources locked during the preparation phase.
      Specified by:
      cleanup in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
    • toString

      public String toString()
      Overrides:
      toString in class Object