Class MOSubtreeProxy

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

public class MOSubtreeProxy extends Object implements GenericManagedObject
In contrast to ProxyForwarder, the MOSubtreeProxy provides a proxy implementation for a single subtree based on the configuration provided by the Snmp4jProxyMib SnmpProxyMIB and SnmpTargetMIB.
Since:
2.0
Version:
3.2
Author:
Frank Fock
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    MOSubtreeProxy(org.snmp4j.Session session, SnmpTargetMIB targetMIB, org.snmp4j.smi.OctetString proxyName, org.snmp4j.smi.OID subtreeOID, org.snmp4j.smi.OctetString contextEngineID, org.snmp4j.smi.OctetString contextName, org.snmp4j.smi.OctetString targetName)
     
  • 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)
    Commit a previously prepared SET (sub)request.
    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.
     
    org.snmp4j.smi.OctetString
     
    Return the scope of object identifiers this managed object is managing.
     
    boolean
    Returns whether undo of SET operations should be supported by this sub-tree proxy or not.
    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)
    Prepare a SET (sub)request.
    void
     
    void
    setTargetSubtree(org.snmp4j.smi.OID remoteSubtree)
    Sets the remote sub-tree OID for the translation between local agent OID and remote agent OID.
    void
    Sets a OID translation.
    void
    setUndoEnabled(boolean undoEnabled)
    Enables or disables undo support for SET operations.
     
    void
    undo(SubRequest<?> request)
    Compensate (undo) a (sub)request when a commit of another subrequest failed with an error.

    Methods inherited from class java.lang.Object

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

    • MOSubtreeProxy

      public MOSubtreeProxy(org.snmp4j.Session session, SnmpTargetMIB targetMIB, org.snmp4j.smi.OctetString proxyName, org.snmp4j.smi.OID subtreeOID, org.snmp4j.smi.OctetString contextEngineID, org.snmp4j.smi.OctetString contextName, org.snmp4j.smi.OctetString targetName)
  • Method Details

    • 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.
    • setTargetSubtree

      public void setTargetSubtree(org.snmp4j.smi.OID remoteSubtree)
      Sets the remote sub-tree OID for the translation between local agent OID and remote agent OID. If null, zero length, or equal to 0.0, no translation takes place.
      Parameters:
      remoteSubtree - the OID sub-tree of the target agent to proxy.
    • 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)
      Description copied from interface: ManagedObject
      Prepare a SET (sub)request. This method represents the first phase of a two phase commit. During preparation all necessary resources should be locked in order to be able to execute the commit without claiming additional resources.
      Specified by:
      prepare in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
    • commit

      public void commit(SubRequest<?> request)
      Description copied from interface: ManagedObject
      Commit a previously prepared SET (sub)request. This is the second phase of a two phase commit. The change is committed but the resources locked during prepare not freed yet.
      Specified by:
      commit in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
    • undo

      public void undo(SubRequest<?> request)
      Description copied from interface: ManagedObject
      Compensate (undo) a (sub)request when a commit of another subrequest failed with an error. This also frees any resources locked during the preparation phase.
      Specified by:
      undo in interface ManagedObject<SubRequest<?>>
      Parameters:
      request - the SubRequest to process.
    • 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.
    • isUndoEnabled

      public boolean isUndoEnabled()
      Returns whether undo of SET operations should be supported by this sub-tree proxy or not. If true is returned, a GET requests will be sent to the target SNMP entity before the SET operation to retrieve the old (undo) value. If the SET operation fails because of some error in this sub-request or any other sub-request of the same SNMP PDU, the already SET value in the target will be reset to the old value.
      Returns:
      true if undo values will be retrieved for this sub-tree (default), false otherwise (SET requests will be committed directly without previous GET).
      Since:
      2.5.0
    • setUndoEnabled

      public void setUndoEnabled(boolean undoEnabled)
      Enables or disables undo support for SET operations. If set to true, a GET requests will be sent to the target SNMP entity before the SET operation to retrieve the old (undo) value. If the SET operation fails because of some error in this sub-request or any other sub-request of the same SNMP PDU, the already SET value in the target will be reset to the old value.
      Parameters:
      undoEnabled - true if undo values should be retrieved for this sub-tree (default), false otherwise (SET requests will be committed directly without previous GET).
      Since:
      2.5.0
    • getProxyName

      public org.snmp4j.smi.OctetString getProxyName()
    • getAccess

      public MOAccess getAccess()
    • setAccess

      public void setAccess(MOAccess access)
    • getTranslation

      public OIDTranslation getTranslation()
    • setTranslation

      public void setTranslation(OIDTranslation translation)
      Sets a OID translation. By default it is not active (null).
      Parameters:
      translation - If not null, the OIDTranslation can be used to map between local OID and remote OID and vice versa.
    • toString

      public String toString()
      Overrides:
      toString in class Object