Class StorageType

java.lang.Object
org.snmp4j.agent.mo.MOColumn<org.snmp4j.smi.Integer32>
org.snmp4j.agent.mo.MOMutableColumn<org.snmp4j.smi.Integer32>
org.snmp4j.agent.mo.snmp.StorageType
All Implemented Interfaces:
Comparable<MOColumn<org.snmp4j.smi.Integer32>>, RowModificationControlColumn

public class StorageType extends MOMutableColumn<org.snmp4j.smi.Integer32> implements RowModificationControlColumn
  • Field Details

  • Constructor Details

    • StorageType

      public StorageType(int columnID, MOAccess access, org.snmp4j.smi.Integer32 defaultValue, boolean mutableInService)
    • StorageType

      public StorageType(int columnID, MOAccess access, org.snmp4j.smi.Integer32 defaultValue)
  • Method Details

    • getStorageType

      public static org.snmp4j.smi.Integer32 getStorageType(MOTableRow row, MOTable<?,?,?> table)
      Gets the value of the StorageType column (if it exists) in the specified row and table. It starts searching for the StorageType column from the last column and then proceeds down to the first until it finds it. If no StorageType column can be found, null is returned.
      Parameters:
      row - a row with a StorageType column (otherwise null is returned).
      table - the table of the given row.
      Returns:
      the Integer32 value of the StorageType column in the given row or null if the table has no StorageType column or the value of that column is null.
      Since:
      3.3.1
    • validate

      public int validate(org.snmp4j.smi.Integer32 newValue, org.snmp4j.smi.Integer32 oldValue, org.snmp4j.smi.OID instanceOID)
      Description copied from class: MOMutableColumn
      Validate the new value for a mutable column based on old value and (new in v3.7.0) the instance OID.
      Overrides:
      validate in class MOMutableColumn<org.snmp4j.smi.Integer32>
      Parameters:
      newValue - the new value to be set.
      oldValue - the existing value.
      instanceOID - the instance OID of the table cell to be modified.
      Returns:
      SnmpConstants.SNMP_ERROR_SUCCESS if the change is OK, otherwise a SNMP error status.
    • prepareRow

      public void prepareRow(SubRequest<?> subRequest, MOMutableTableRow currentRow, MOTableRow changeSet)
      Prepares a row for changes described by the supplied change set. If the modification cannot be successfully prepared, the error status of the supplied subRequest should be set to the appropriate error status value. This method is called only once per modified row.
      Specified by:
      prepareRow in interface RowModificationControlColumn
      Parameters:
      subRequest - the sub-request that triggered the row change and that can be used to deny the commit phase by setting its error status.
      currentRow - the current row (yet unmodified).
      changeSet - a MOTableRow instance that represents the state of the row if all changes have been applied successfully.
    • isVolatile

      public boolean isVolatile(MOTableRow row, int column)
      Checks if the row is volatile (i.e. must not be stored in stable storage) or not. Note: In SNMP4J-Agent before 3.0, this method returned also true for rows with storage type readOnly which did not follow the SMI definition of StorageType. See also ImportMode for details about restore data from stable storage.
      Overrides:
      isVolatile in class MOColumn<org.snmp4j.smi.Integer32>
      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 the storage type of this row is other or volatile_.