Class 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 when using default VariableBindings since 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.

    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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cleanup​(SubRequest<?> request)
      Cleansup a (sub)request and frees 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)
      Finds the first object ID (OID) in the specified search range.
      void get​(SubRequest<?> request)
      Processes a GET request and return the result in the supplied sub-request.
      MOScope getScope()
      Returns the scope of object identifiers this managed object is managing.
      boolean next​(SubRequest<?> request)
      Finds 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.
      String toString()  
      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.
    • Constructor Detail

      • 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 Detail

      • 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
        Returns 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
        Finds 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
        Processes 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
        Finds 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
        Cleansup a (sub)request and frees all resources locked during the preparation phase.
        Specified by:
        cleanup in interface ManagedObject<SubRequest<?>>
        Parameters:
        request - the SubRequest to process.