KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > mo > snmp > RowPointer


1 /*_############################################################################
2   _##
3   _## SNMP4J-Agent - RowPointer.java
4   _##
5   _## Copyright (C) 2005-2007 Frank Fock (SNMP4J.org)
6   _##
7   _## Licensed under the Apache License, Version 2.0 (the "License");
8   _## you may not use this file except in compliance with the License.
9   _## 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
22 package org.snmp4j.agent.mo.snmp;
23
24 import org.snmp4j.agent.*;
25 import org.snmp4j.agent.mo.*;
26 import org.snmp4j.agent.request.*;
27 import org.snmp4j.smi.*;
28 import org.snmp4j.mp.SnmpConstants;
29
30 public class RowPointer extends MOMutableColumn {
31
32   private MOTable targetTable;
33
34   public RowPointer(int columnID, MOAccess access,
35                     OID defaultValue, boolean mutableInService,
36                     MOTable targetTable) {
37     super(columnID, SMIConstants.SYNTAX_OBJECT_IDENTIFIER,
38           access, defaultValue, mutableInService);
39     this.targetTable = targetTable;
40   }
41
42   public RowPointer(int columnID, MOAccess access,
43                     OID defaultValue, boolean mutableInService) {
44     super(columnID, SMIConstants.SYNTAX_OBJECT_IDENTIFIER,
45           access, defaultValue, mutableInService);
46   }
47
48   protected void illegalRowPointer(SubRequest subRequest) {
49     subRequest.getStatus().
50         setErrorStatus(SnmpConstants.SNMP_ERROR_INCONSISTENT_NAME);
51   }
52
53   public void prepare(SubRequest subRequest, MOTableRow row,
54                       MOTableRow preparedChanges, int column) {
55     super.prepare(subRequest, row, null, column);
56     if (!subRequest.hasError()) {
57       OID rowPointer = (OID) subRequest.getVariableBinding().getVariable();
58       MOTableCellInfo cell = targetTable.getCellInfo(rowPointer);
59       if ((cell == null) ||
60           (cell.getIndex() == null) || (cell.getColumn() < 0)) {
61         illegalRowPointer(subRequest);
62       }
63     }
64   }
65
66   public MOTable getTargetTable() {
67     return targetTable;
68   }
69
70   public void setTargetTable(MOTable targetTable) {
71     this.targetTable = targetTable;
72   }
73
74 }
75
Popular Tags