01: /*_############################################################################
02: _##
03: _## SNMP4J-Agent - MOTableRowFactory.java
04: _##
05: _## Copyright (C) 2005-2007 Frank Fock (SNMP4J.org)
06: _##
07: _## Licensed under the Apache License, Version 2.0 (the "License");
08: _## you may not use this file except in compliance with the License.
09: _## You may obtain a copy of the License at
10: _##
11: _## http://www.apache.org/licenses/LICENSE-2.0
12: _##
13: _## Unless required by applicable law or agreed to in writing, software
14: _## distributed under the License is distributed on an "AS IS" BASIS,
15: _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: _## See the License for the specific language governing permissions and
17: _## limitations under the License.
18: _##
19: _##########################################################################*/
20:
21: package org.snmp4j.agent.mo;
22:
23: import org.snmp4j.smi.Variable;
24: import org.snmp4j.smi.OID;
25:
26: /**
27: * A <code>MOTableRowFactory</code> is used to create and delete rows for a
28: * table model.
29: *
30: * @author Frank Fock
31: * @version 1.0
32: */
33: public interface MOTableRowFactory {
34:
35: /**
36: * Creates a new <code>MOTableRow</code> row instance and returns it.
37: * @param index
38: * the index OID for the new row.
39: * @param values
40: * the values to be contained in the new row.
41: * @return
42: * the created <code>MOTableRow</code>.
43: * @throws java.lang.UnsupportedOperationException
44: * if the specified row cannot be created.
45: */
46: MOTableRow createRow(OID index, Variable[] values)
47: throws UnsupportedOperationException;
48:
49: /**
50: * Frees resources associated with the supplied row which is to be deleted.
51: *
52: * @param row
53: * a MOTableRow that has been created using this factory and is now to
54: * be deleted (removed from the associated table).
55: */
56: void freeRow(MOTableRow row);
57: }
|