01: /*_############################################################################
02: _##
03: _## SNMP4J-Agent - MOScope.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;
22:
23: import org.snmp4j.smi.OID;
24:
25: /**
26: * A managed object scope defines a contiguos region within the global OID
27: * space.
28: *
29: * @author Frank Fock
30: * @version 1.0
31: */
32: public interface MOScope {
33:
34: /**
35: * Gets the lower bound OID of the scope. Whether the lower bound is included
36: * or excluded from the scope's region is determined by
37: * {@link #isLowerIncluded()}.
38: *
39: * @return
40: * an OID.
41: */
42: OID getLowerBound();
43:
44: /**
45: * Gets the upper bound OID of the scope. Whether the upper bound is included
46: * or excluded from the scope's region is determined by
47: * {@link #isUpperIncluded()}.
48:
49: * @return OID
50: */
51: OID getUpperBound();
52:
53: /**
54: * Indicates whether the lower bound OID is included in the scope or not.
55: * @return
56: * <code>true</code> if the lower bound is included.
57: */
58: boolean isLowerIncluded();
59:
60: /**
61: * Indicates whether the upper bound OID is included in the scope or not.
62: * @return
63: * <code>true</code> if the upper bound is included.
64: */
65: boolean isUpperIncluded();
66:
67: /**
68: * Checks whether the supplied scope is covered by this scope.
69: * @param other
70: * the <code>MOScope</code> to check
71: * @return
72: * <code>true</code> if the lower bound of <code>other</code> is greater
73: * or equal than the lower bound of this scope and if the upper bound of
74: * <code>other</code> is lower or equal than the upper bound of this scope.
75: */
76: boolean isCovered(MOScope other);
77:
78: /**
79: * Checks whether the supplied scope overlap with this one, thus sharing at
80: * least one OID with the supplied one.
81: * @param other
82: * a <code>MOScope</code>.
83: * @return
84: * <code>true</code> if there exists at least one OID that is included in
85: * both scopes.
86: */
87: boolean isOverlapping(MOScope other);
88:
89: /**
90: * Checks if this scope covers the supplied OID.
91: * @param oid
92: * an OID.
93: * @return
94: * <code>true</code> if <code>oid</code> is greater or equal the scope's
95: * lower bound and if it is less or equal its upper bound.
96: */
97: boolean covers(OID oid);
98:
99: }
|