Package org.snmp4j.agent.request
Interface SubRequest
- All Known Subinterfaces:
SnmpSubRequest
- All Known Implementing Classes:
SnmpRequest.SnmpSubRequest
public interface SubRequest
The
SubRequest
interface defines general sub-request
properties and behavior.- Version:
- 2.2
- Author:
- Frank Fock
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Marks the sub-request as completed.int
Gets the error status for this sub-request.int
getIndex()
Returns the index of this subrequest in the request.getQuery()
Gets the query previously associated with this sub-request.Gets the request this sub-request belongs to.getScope()
Gets the scope for this subrequest.Gets the status object associated with this sub-request.Gets theManagedObject
that is responsible for processing this sub-request.Gets the undo value object associated with this sub-request.Gets the user object that has previously associated with this sub-request.org.snmp4j.smi.VariableBinding
Returns the variable binding associated with the sub-request.boolean
hasError()
Indicates whether this (sub-)request has an error.boolean
Checks whether the sub-request has been completed and needs no further processing.SubRequestIterator<? extends SubRequest>
Returns an iterator on the repetitions of this sub-request.void
setErrorStatus
(int errorStatus) Sets the error status for this sub-request.void
Sets the query associated with this subrequest.void
setTargetMO
(ManagedObject managedObject) Sets theManagedObject
that is determined as the target object of this sub-request by the agent framework.void
setUndoValue
(Object undoInformation) Associates an undo value object with this sub-request.void
setUserObject
(Object userObject) Sets the user object.void
Updates the next repetition's scope and reset any previously set query tonull
.
-
Method Details
-
hasError
boolean hasError()Indicates whether this (sub-)request has an error.- Returns:
true
if this request (and thus also this sub-request) has an error status greater than zero.
-
setErrorStatus
void setErrorStatus(int errorStatus) Sets the error status for this sub-request. Calling this method is a shortcut for
.getStatus()
.setErrorStatus(int errorStatus)- Parameters:
errorStatus
- a SNMPv2/v3 error status.- Since:
- 1.0.1
-
getErrorStatus
int getErrorStatus()Gets the error status for this sub-request. Calling this method is a shortcut for
.getStatus()
.getErrorStatus()- Returns:
- a SNMPv2/v3 error status.
- Since:
- 1.0.1
-
getStatus
RequestStatus getStatus()Gets the status object associated with this sub-request.- Returns:
- a RequestStatus instance.
-
getScope
MOScope getScope()Gets the scope for this subrequest. The scope is solely defined by this sub-request and possible request processing that has already excluded managed objects from the scope of this sub-request.- Returns:
- a
MOScope
instance.
-
getVariableBinding
org.snmp4j.smi.VariableBinding getVariableBinding()Returns the variable binding associated with the sub-request. In order to process a sub-request this variable binding needs to be modified (if not an error condition prevents that).- Returns:
- the
VariableBinding
that holds the sub-request result or operation parameter (in case of a SET request).
-
getRequest
Request getRequest()Gets the request this sub-request belongs to.- Returns:
- a Request instance.
-
getUndoValue
Object getUndoValue()Gets the undo value object associated with this sub-request.- Returns:
- an Object that has previously been associated with this request by
calling
setUndoValue(java.lang.Object)
.
-
setUndoValue
Associates an undo value object with this sub-request. The undo value is internally used by the SNMP4J-Agent API and should therefore not be altered externally. One exception to this rule is an implementation of theManagedObject
interface that does not extend any other API class.- Parameters:
undoInformation
- an object that represents/contains all necessary information to undo this sub-request.
-
completed
void completed()Marks the sub-request as completed. This is a shortcut for callinggetStatus()
and thenRequestStatus.setPhaseComplete(boolean)
totrue
. -
isComplete
boolean isComplete()Checks whether the sub-request has been completed and needs no further processing.- Returns:
true
if the sub-request has been finished and should not be processed any more.
-
setTargetMO
Sets theManagedObject
that is determined as the target object of this sub-request by the agent framework. For SET requests the target managed object is locked and referenced here to make sure that all locks are released when a request is answered. In addition, SET requests are processed in multiple phases and referencing the target managed objects increases performance.- Parameters:
managedObject
- theManagedObject
responsible for processing this sub- request.
-
getTargetMO
ManagedObject getTargetMO()Gets theManagedObject
that is responsible for processing this sub-request.- Returns:
ManagedObject
instance.
-
getIndex
int getIndex()Returns the index of this subrequest in the request.- Returns:
- the zero based index.
-
setQuery
Sets the query associated with this subrequest. The query is not used by the request itself but may be stored here for further reference while processing this sub-requests.- Parameters:
query
- aMOQuery
instance representing the query resulting from this sub-request.
-
getQuery
MOQuery getQuery()Gets the query previously associated with this sub-request. A sub-request is associated during requests processing with a instrumentation query.- Returns:
- a
MOQuery
that describes which manage objects match this sub-request.
-
repetitions
SubRequestIterator<? extends SubRequest> repetitions()Returns an iterator on the repetitions of this sub-request. On requests other than GETBULK requests this method returns an empty iterator.- Returns:
- a SubRequestIterator enumerating the repetitions on this sub-requests starting with this sub-request.
-
updateNextRepetition
void updateNextRepetition()Updates the next repetition's scope and reset any previously set query tonull
. The scope of the next repetition is updated according to the value of this variable binding. If this sub-request has an error status or exception value, the following repetitions are set to the same value and exception. Otherwise, the scope of the following sub-request is the open interval from this sub-request's OID (not-including) to any OID value. -
getUserObject
Object getUserObject()Gets the user object that has previously associated with this sub-request.- Returns:
- an object.
- Since:
- 1.0.1
-
setUserObject
Sets the user object. The user object can be used to associate resources or any other type of information necessary for a managed object instance to process a SNMP request. When the request is processed, this reference will be set tonull
.- Parameters:
userObject
- an object that is not processed or interpreted by the agent API.- Since:
- 1.0.1
-