Class MOMutableColumn<V extends org.snmp4j.smi.Variable>

java.lang.Object
org.snmp4j.agent.mo.MOColumn<V>
org.snmp4j.agent.mo.MOMutableColumn<V>
All Implemented Interfaces:
Comparable
Direct Known Subclasses:
AutonomousType, DateAndTime, DisplayString, Enumerated, KeyChange, RowPointer, RowStatus, SnmpAdminString, SnmpTagList, SnmpTagValue, StorageType

public class MOMutableColumn<V extends org.snmp4j.smi.Variable> extends MOColumn<V>
The MOMutableColumn class represents mutable columnar SMI objects. It represents all instances of a table's column not only a single instance (cell).

Objects represented by MOMutableColumn can be modified via SNMP, thus MOColumn supports read-only, read-write, and read-create maximum access.

Version:
1.0
Author:
Frank Fock
See Also:
  • Constructor Details

    • MOMutableColumn

      public MOMutableColumn(int columnID, int syntax)
      Creates a read-only column object with the given column and syntax.
      Parameters:
      columnID - the column ID which is ID the last sub-identifier of the corresponding OBJECT-TYPE definition.
      syntax - the syntax of the objects in this column. See SMIConstants for possible values.
    • MOMutableColumn

      public MOMutableColumn(int columnID, int syntax, MOAccess access)
      Creates a column object with the given column, syntax, and maximum access. Since MOColumn only supports read-only columns the only reasonable values for access are 'not-accessible' and 'read-only'. Generally this constructor should not be called directly.
      Parameters:
      columnID - the column ID which is ID the last sub-identifier of the corresponding OBJECT-TYPE definition.
      syntax - the syntax of the objects in this column. See SMIConstants for possible values.
      access - the maximum access of the column.
    • MOMutableColumn

      public MOMutableColumn(int columnID, int syntax, MOAccess access, org.snmp4j.smi.Variable defaultValue)
      Creates a column object with the given column, syntax, and maximum access. Since MOColumn only supports read-only columns the only reasonable values for access are 'not-accessible' and 'read-only'. Generally this constructor should not be called directly.
      Parameters:
      columnID - the column ID which is ID the last sub-indentifer of the corresponding OBJECT-TYPE definition.
      syntax - the syntax of the objects in this column. See SMIConstants for possible values.
      access - the maximum access of the column.
      defaultValue - the default value for new rows.
    • MOMutableColumn

      public MOMutableColumn(int columnID, int syntax, MOAccess access, org.snmp4j.smi.Variable defaultValue, boolean mutableInService)
      Creates a column object with the given column, syntax, and maximum access. Since MOColumn only supports read-only columns the only reasonable values for access are 'not-accessible' and 'read-only'. Generally this constructor should not be called directly.
      Parameters:
      columnID - the column ID which is ID the last sub-indentifer of the corresponding OBJECT-TYPE definition.
      syntax - the syntax of the objects in this column. See SMIConstants for possible values.
      access - the maximum access of the column.
      defaultValue - the default value for new rows.
      mutableInService - if true this column accepts value changes through SNMP (via prepare(org.snmp4j.agent.request.SubRequest, MOTableRow, MOTableRow, int) and commit(org.snmp4j.agent.request.SubRequest, MOTableRow, MOTableRow, int) while the rows RowStatus object is in state RowStatus.active. Otherwise, such an operation will result in a PDU.inconsistentValue error.
  • Method Details

    • addMOValueValidationListener

      public void addMOValueValidationListener(MOValueValidationListener validator)
    • removeMOValueValidationListener

      public void removeMOValueValidationListener(MOValueValidationListener validator)
    • validate

      public int validate(org.snmp4j.smi.Variable newValue, org.snmp4j.smi.Variable oldValue)
    • validateSetRequest

      protected boolean validateSetRequest(SubRequest subRequest, MOTableRow row, int column)
    • prepare

      public void prepare(SubRequest subRequest, MOTableRow row, MOTableRow changeSet, int column)
    • commit

      public void commit(SubRequest subRequest, MOTableRow row, MOTableRow changeSet, int column)
    • undo

      public void undo(SubRequest subRequest, MOTableRow row, int column)
    • cleanup

      public void cleanup(SubRequest subRequest, MOTableRow row, int column)
    • setDefaultValue

      public void setDefaultValue(org.snmp4j.smi.Variable defaultValue)
    • setMutableInService

      public void setMutableInService(boolean mutableInService)
    • getDefaultValue

      public org.snmp4j.smi.Variable getDefaultValue()
    • isMutableInService

      public boolean isMutableInService()
    • isMandatory

      public boolean isMandatory()
      Returns true if this column must be specified in a SET request which creates a row.
      Returns:
      true if this row has a maximum access of READ-CREATE and has a null default value, false otherwise.
    • setMandatory

      public void setMandatory(boolean mandatory)
      Sets a flag that determines if this column must be specified in a SET request which creates a row. The default is true.
      Parameters:
      mandatory - if true and a row has a maximum access of READ-CREATE and has a null default value, then it must be provided in order to activate the row.
      Since:
      1.3.2
    • toString

      public String toString()
      Overrides:
      toString in class MOColumn<V extends org.snmp4j.smi.Variable>