Module org.snmp4j.agent
Package org.snmp4j.agent.mo.util
Class MOTableSizeLimit<R extends MOTableRow>
java.lang.Object
org.snmp4j.agent.mo.util.MOTableSizeLimit<R>
- All Implemented Interfaces:
EventListener,MOTableRowListener<R>
- Direct Known Subclasses:
LogMOTableSizeLimit
This class implements a size limit on the number of rows in a table.
If the limit is reached or exceeded, no more additional rows can be
added by SNMP means.
Use the DefaultMOServer.registerTableRowListener(org.snmp4j.agent.MOServer, org.snmp4j.agent.mo.MOTableRowListener<R>) method to
register this table row listener for all tables in your agent, in order
to be able to control the table sizes of all the tables in a server.
- Since:
- 1.1.5
- Version:
- 1.4
- Author:
- Frank Fock
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe property prefix each size limit definition has to start with. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintprotected booleanremoveEldest(MOTableRowEvent<R> triggeringEvent, int numRows) Remove try to remove a given number of eldest rows of the table referred to in the triggering event object.voidrowChanged(MOTableRowEvent<R> event) A column or a complete row is changed/has been changed.voidsetLimits(Properties limits) voidsetMaxNumRows(int maxNumRows)
-
Field Details
-
PROPERTY_PREFIX
The property prefix each size limit definition has to start with. The OID subtree for which the definition is effective is then appended as follows:snmp4j.MOTableSizeLimit.<OID>=<limit>wherelimitis a positive number or zero.- See Also:
-
-
Constructor Details
-
MOTableSizeLimit
public MOTableSizeLimit(int maxNumRows) -
MOTableSizeLimit
-
-
Method Details
-
rowChanged
A column or a complete row is changed/has been changed.- Specified by:
rowChangedin interfaceMOTableRowListener<R extends MOTableRow>- Parameters:
event- aMOTableRowEventdescribing the event. To veto the event theMOTableRowEvent.setVetoStatus(int)and optionally also theMOTableRowEvent.setVetoColumn(int)can be called.
-
removeEldest
Remove try to remove a given number of eldest rows of the table referred to in the triggering event object.- Parameters:
triggeringEvent- the MOTableRowEvent object that describes the table with exceeding row limit.numRows- the number of rows to remove (if possible).- Returns:
trueif one or more rows could be removed andfalseif the causing event should be denied/rejected. The default implementation returnsfalsealways.
-
setMaxNumRows
public void setMaxNumRows(int maxNumRows) -
getMaxNumRows
public int getMaxNumRows() -
getLimits
-
setLimits
-