org.snmp4j.agent.agentx.subagent
Interface AgentXSharedMutableMOTable<R extends org.snmp4j.agent.mo.MOTableRow,C extends org.snmp4j.agent.mo.MOColumn,M extends org.snmp4j.agent.mo.MOTableModel<R>>

All Superinterfaces:
AgentXSharedMOTable<R,C,M>, org.snmp4j.agent.ManagedObject, org.snmp4j.agent.ManagedObjectValueAccess, org.snmp4j.agent.mo.MOTable<R,C,M>
All Known Implementing Classes:
DefaultAgentXSharedMOTable

public interface AgentXSharedMutableMOTable<R extends org.snmp4j.agent.mo.MOTableRow,C extends org.snmp4j.agent.mo.MOColumn,M extends org.snmp4j.agent.mo.MOTableModel<R>>
extends AgentXSharedMOTable<R,C,M>

The AgentXSharedMutableMOTable extends the AgentXSharedMOTable and MutableMOTable interface. It serves as a marker interface to be able to differentiate between regular tables, AgentX shared index tables, and AgentX shared index tables with varying number of rows (this kind). The latter two require an index definition where all sub-indexes have an OID specified (MOTableSubIndex.getOid()). AgentX shared index tables provide services needed for sharing rows of the same conceptual table across multiple AgentX sub-agents.

This mutable variant is able to add (allocate and register) and remove (deallocate and deregister) rows after initial registration of the subagent.

Version:
1.0
Author:
Frank Fock

Method Summary
 boolean changeRowIndex(org.snmp4j.smi.OID oldIndex, org.snmp4j.smi.OID newIndex)
          Changes the index of a row without firing a MOTableRowEvent about removing and adding of the row.
 AgentXSharedMOTableSupport getAgentXSharedMOTableSupport()
          Returns the shared table support object this shared table uses.
 void setAgentXSharedMOTableSupport(AgentXSharedMOTableSupport sharedTableSupport)
          Sets the shared table support that this shared table should be use to (de)register rows and (de)allocate indexes while this shared table is part of an connected AgentX session.
 
Methods inherited from interface org.snmp4j.agent.mo.MOTable
addMOChangeListener, addMOTableRowListener, addRow, createRow, createRow, find, getCellInfo, getColumn, getColumnCount, getColumnIndex, getColumns, getDefaultValues, getIndexDef, getIndexPart, getModel, getOID, getValue, getValue, removeMOChangeListener, removeMOTableRowListener, removeRow
 
Methods inherited from interface org.snmp4j.agent.ManagedObjectValueAccess
setValue
 
Methods inherited from interface org.snmp4j.agent.ManagedObject
cleanup, commit, get, getScope, next, prepare, undo
 

Method Detail

getAgentXSharedMOTableSupport

AgentXSharedMOTableSupport getAgentXSharedMOTableSupport()
Returns the shared table support object this shared table uses.

Returns:
an AgentXSharedMOTableSupport instance or null if this table has not been initialized for AgentX yet.

setAgentXSharedMOTableSupport

void setAgentXSharedMOTableSupport(AgentXSharedMOTableSupport sharedTableSupport)
Sets the shared table support that this shared table should be use to (de)register rows and (de)allocate indexes while this shared table is part of an connected AgentX session. The shared table determines whether the AgentX session is established by inspecting the AgentXSession instance returned by this shared tabe support. If either the shared table support instance is null or AgentXSession.isClosed() returns true the AgentX session is considered to be disconnected (not established).

Parameters:
sharedTableSupport - an AgentXSharedMOTableSupport instance to be used to (de)allocate indexes and (de)register rows at the AgentX master agent.

changeRowIndex

boolean changeRowIndex(org.snmp4j.smi.OID oldIndex,
                       org.snmp4j.smi.OID newIndex)
Changes the index of a row without firing a MOTableRowEvent about removing and adding of the row. Only a MOTableRowEvent.UPDATED event will be fired.

Parameters:
oldIndex - the old index of the row to change.
newIndex - the new index of the row.
Returns:
true if the row index could be changed and false if either the row does not exists or the table model does not allow to add/remove rows.

Copyright 2005-2011 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.