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(MOServer, MOTableRowListener) 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
-