org.snmp4j.agent.mo.ext
Class StaticMOGroup

java.lang.Object
  extended by org.snmp4j.agent.mo.ext.StaticMOGroup
All Implemented Interfaces:
ManagedObject, MOGroup

public class StaticMOGroup
extends java.lang.Object
implements ManagedObject, 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:
1.2
Author:
Frank Fock

Constructor Summary
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
 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.
 java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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
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
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
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
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
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
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
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
Parameters:
request - the SubRequest to process.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.