KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > MOQuery


1 /*_############################################################################
2   _##
3   _## SNMP4J-Agent - MOQuery.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;
23
24 /**
25  * A managed object query is used to lookup managed objects, for example in
26  * a {@link MOServer} repository.
27  *
28  * @author Frank Fock
29  * @version 1.1
30  */

31 public interface MOQuery {
32
33   /**
34    * Gets the search range of this query.
35    * @return
36    * a <code>MORange</code> instance denoting upper and lower bound
37    * of this queries scope.
38    */

39   MOContextScope getScope();
40
41   /**
42    * Checks whether a managed object matches the internal query criteria
43    * defined by this query.
44    *
45    * @param managedObject
46    * the <code>ManagedObject</code> instance to check.
47    * @return
48    * <code>true</code> if the <code>managedObject</code> matches the query.
49    */

50   boolean matchesQuery(ManagedObject managedObject);
51
52   /**
53    * Changes the query to no longer match (cover) the specified scope.
54    * If the query's scope is immutable (does not implement the
55    * {@link MutableMOScope} interface, then this method will throw an
56    * {@link UnsupportedOperationException}.
57    * @param scope
58    * a <code>MOScope</code> instance that defines the range of OIDs
59    * that should be no longer in the scope of this query.
60    */

61   void substractScope(MOScope scope);
62
63   /**
64    * Indicates whether this query is issued on behalf of an intended write
65    * access on the ManagedObjects matched by this query. This information can
66    * be used to optimize query evaluation or to control resource allocation.
67    *
68    * @return
69    * <code>true</code> if this query is performed to change or create a
70    * managed object matching this query and <code>false</code> if the
71    * query is for read-only access on the matched managed objects.
72    * @since 1.1
73    */

74   boolean isWriteAccessQuery();
75 }
76
Popular Tags