org.snmp4j.agent.mo.snmp
Class RowStatus

java.lang.Object
  extended by org.snmp4j.agent.mo.MOColumn
      extended by org.snmp4j.agent.mo.MOMutableColumn
          extended by org.snmp4j.agent.mo.snmp.RowStatus
All Implemented Interfaces:
java.lang.Comparable, java.util.EventListener, MOChangeListener, MOTableRowListener

public class RowStatus
extends MOMutableColumn
implements MOChangeListener, MOTableRowListener

The RowStatus class implements the columnar object TC RowStatus. The RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row. See RFC 2579. The RowStatus column controls row creation and deletion in SNMP tables with READ-CREATE maximum access. Since the state of a dynamic row is/may be important to dependent rows / other objects of an agent, row status change events can be propagated to other objects through registering RowStatusListeners.

Version:
1.0
Author:
Frank Fock

Nested Class Summary
static class RowStatus.ActiveRowsFilter<R extends MOTableRow>
          The ActiveRowsFilter is a MOTableRowFilter that returns only the active rows of a table with a RowStatus column.
 
Field Summary
static int active
           
static int createAndGo
           
static int createAndWait
           
static int destroy
           
static int notExistant
           
static int notInService
           
static int notReady
           
 
Constructor Summary
RowStatus(int columnID)
          Creates a RowStatus column with the specified column sub-identifier and maximum access of 'read-create'.
RowStatus(int columnID, MOAccess access)
          Creates a RowStatus column with the specified column sub-identifier.
 
Method Summary
 void addRowStatusListener(RowStatusListener l)
           
 void afterMOChange(MOChangeEvent changeEvent)
          A change has been committed.
 void afterPrepareMOChange(MOChangeEvent changeEvent)
          A change has been prepared.
protected  void assignNewValue(SubRequest subRequest, MOTableRow row, int column, int newValue)
           
 void beforeMOChange(MOChangeEvent changeEvent)
          A ManagedObject change is being committed.
 void beforePrepareMOChange(MOChangeEvent changeEvent)
          A ManagedObject change is being prepared.
 void commit(SubRequest subRequest, MOTableRow row, MOTableRow changeSet, int column)
           
protected  void fireRowStatusChanged(RowStatusEvent event)
           
 void get(SubRequest subRequest, MOTableRow row, int column)
           
protected  boolean isReady(MOTableRow row, int rowStatusColumn)
           
protected  boolean isReady(MOTableRow row, int rowStatusColumn, MOTableRow changeSet)
           
static boolean isRowActive(MOTableRow row, int rowStatusColumnIndex)
          Tests if the specified row is active.
 boolean isVolatile(MOTableRow row, int column)
          Tests if the supplied row is volatile or persistent.
 void prepare(SubRequest subRequest, MOTableRow row, MOTableRow changeSet, int column)
           
 void removeRowStatusListener(RowStatusListener l)
           
 void rowChanged(MOTableRowEvent event)
          A column or a complete row is changed/has been changed.
 void setTable(MOTable table)
          Sets the table instance this columnar object is contained in.
 void undo(SubRequest subRequest, MOTableRow row, int column)
           
 void unsetTable(MOTable table)
          Unsets the table instance and thus unregisters itself as MOChangeListener and MOTableRowListener.
 
Methods inherited from class org.snmp4j.agent.mo.MOMutableColumn
addMOValueValidationListener, cleanup, getDefaultValue, isMandatory, isMutableInService, removeMOValueValidationListener, setDefaultValue, setMandatory, setMutableInService, toString, validate, validateSetRequest
 
Methods inherited from class org.snmp4j.agent.mo.MOColumn
compareTo, getAccess, getColumnID, getSyntax, getTable, getValue, setAccess, setColumnID, setSyntax
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

notExistant

public static final int notExistant
See Also:
Constant Field Values

active

public static final int active
See Also:
Constant Field Values

notInService

public static final int notInService
See Also:
Constant Field Values

notReady

public static final int notReady
See Also:
Constant Field Values

createAndGo

public static final int createAndGo
See Also:
Constant Field Values

createAndWait

public static final int createAndWait
See Also:
Constant Field Values

destroy

public static final int destroy
See Also:
Constant Field Values
Constructor Detail

RowStatus

public RowStatus(int columnID)
Creates a RowStatus column with the specified column sub-identifier and maximum access of 'read-create'.

Parameters:
columnID - a column sub-identifier.

RowStatus

public RowStatus(int columnID,
                 MOAccess access)
Creates a RowStatus column with the specified column sub-identifier.

Parameters:
columnID - a column sub-identifier.
access - the maximum access for the RowStatus column (should be READ-CREATE).
Method Detail

setTable

public void setTable(MOTable table)
Sets the table instance this columnar object is contained in. This method should be called by MOTable instance to register the table with the RowStatus column. When called, this RowStatus registers itself as MOChangeListener and MOTableRowListener.

Overrides:
setTable in class MOColumn
Parameters:
table - the MOTable instance where this column is contained in.

unsetTable

public void unsetTable(MOTable table)
Unsets the table instance and thus unregisters itself as MOChangeListener and MOTableRowListener.

Parameters:
table - the MOTable instance where this column was part of.

isReady

protected boolean isReady(MOTableRow row,
                          int rowStatusColumn)

isReady

protected boolean isReady(MOTableRow row,
                          int rowStatusColumn,
                          MOTableRow changeSet)

prepare

public void prepare(SubRequest subRequest,
                    MOTableRow row,
                    MOTableRow changeSet,
                    int column)
Overrides:
prepare in class MOMutableColumn

commit

public void commit(SubRequest subRequest,
                   MOTableRow row,
                   MOTableRow changeSet,
                   int column)
Overrides:
commit in class MOMutableColumn

assignNewValue

protected void assignNewValue(SubRequest subRequest,
                              MOTableRow row,
                              int column,
                              int newValue)

undo

public void undo(SubRequest subRequest,
                 MOTableRow row,
                 int column)
Overrides:
undo in class MOMutableColumn

beforePrepareMOChange

public void beforePrepareMOChange(MOChangeEvent changeEvent)
Description copied from interface: MOChangeListener
A ManagedObject change is being prepared. To cancel preparation set the deny reason to a SNMPv2/v3 error status.

Specified by:
beforePrepareMOChange in interface MOChangeListener
Parameters:
changeEvent - the change event object.

beforeMOChange

public void beforeMOChange(MOChangeEvent changeEvent)
Description copied from interface: MOChangeListener
A ManagedObject change is being committed. To cancel the commit phase set the deny reason to a SNMPv2/v3 error status.

NOTE: Canceling the commit phase must be avoided. Setting a deny reason has only an effect if DeniableEventObject.isDeniable() returns true. Otherwise, you will need to throw an exception.

Specified by:
beforeMOChange in interface MOChangeListener
Parameters:
changeEvent - the change event object.

afterMOChange

public void afterMOChange(MOChangeEvent changeEvent)
Description copied from interface: MOChangeListener
A change has been committed. Setting the deny reason of the supplied event object will be ignored.

Specified by:
afterMOChange in interface MOChangeListener
Parameters:
changeEvent - the change event object.

afterPrepareMOChange

public void afterPrepareMOChange(MOChangeEvent changeEvent)
Description copied from interface: MOChangeListener
A change has been prepared. Setting the deny reason of the supplied event object will be ignored.

Specified by:
afterPrepareMOChange in interface MOChangeListener
Parameters:
changeEvent - the change event object.

addRowStatusListener

public void addRowStatusListener(RowStatusListener l)

removeRowStatusListener

public void removeRowStatusListener(RowStatusListener l)

fireRowStatusChanged

protected void fireRowStatusChanged(RowStatusEvent event)

isRowActive

public static boolean isRowActive(MOTableRow row,
                                  int rowStatusColumnIndex)
Tests if the specified row is active.

Parameters:
row - a row with a RowStatus column.
rowStatusColumnIndex - the column index of the RowStatus column in row.
Returns:
true if row is active.

rowChanged

public void rowChanged(MOTableRowEvent event)
Description copied from interface: MOTableRowListener
A column or a complete row is changed/has been changed.

Specified by:
rowChanged in interface MOTableRowListener
Parameters:
event - a MOTableRowEvent describing the event. To veto the event the MOTableRowEvent.setVetoStatus(int) and optionally also the MOTableRowEvent.setVetoColumn(int) can be called.

isVolatile

public boolean isVolatile(MOTableRow row,
                          int column)
Description copied from class: MOColumn
Tests if the supplied row is volatile or persistent. If volatile then the row will not be saved when the table is saved to persistent storage.

Overrides:
isVolatile in class MOColumn
Parameters:
row - a row of the table where this column is part of.
column - the column index of this column in row.
Returns:
true if row should not be

get

public void get(SubRequest subRequest,
                MOTableRow row,
                int column)
Overrides:
get in class MOColumn

Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.