KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > osgi > service > log > LogReaderService


1 /*
2  * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogReaderService.java,v 1.10 2006/06/16 16:31:49 hargrave Exp $
3  *
4  * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18 package org.osgi.service.log;
19
20 import java.util.Enumeration JavaDoc;
21
22 /**
23  * Provides methods to retrieve <code>LogEntry</code> objects from the log.
24  * <p>
25  * There are two ways to retrieve <code>LogEntry</code> objects:
26  * <ul>
27  * <li>The primary way to retrieve <code>LogEntry</code> objects is to register a
28  * <code>LogListener</code> object whose <code>LogListener.logged</code> method will
29  * be called for each entry added to the log.
30  * <li>To retrieve past <code>LogEntry</code> objects, the <code>getLog</code>
31  * method can be called which will return an <code>Enumeration</code> of all
32  * <code>LogEntry</code> objects in the log.
33  *
34  * @version $Revision: 1.10 $
35  * @see LogEntry
36  * @see LogListener
37  * @see LogListener#logged(LogEntry)
38  */

39 public interface LogReaderService {
40     /**
41      * Subscribes to <code>LogEntry</code> objects.
42      *
43      * <p>
44      * This method registers a <code>LogListener</code> object with the Log Reader
45      * Service. The <code>LogListener.logged(LogEntry)</code> method will be
46      * called for each <code>LogEntry</code> object placed into the log.
47      *
48      * <p>
49      * When a bundle which registers a <code>LogListener</code> object is stopped
50      * or otherwise releases the Log Reader Service, the Log Reader Service must
51      * remove all of the bundle's listeners.
52      *
53      * <p>
54      * If this Log Reader Service's list of listeners already contains a
55      * listener <code>l</code> such that <code>(l==listener)</code>, this method
56      * does nothing.
57      *
58      * @param listener A <code>LogListener</code> object to register; the
59      * <code>LogListener</code> object is used to receive <code>LogEntry</code>
60      * objects.
61      * @see LogListener
62      * @see LogEntry
63      * @see LogListener#logged(LogEntry)
64      */

65     public void addLogListener(LogListener listener);
66
67     /**
68      * Unsubscribes to <code>LogEntry</code> objects.
69      *
70      * <p>
71      * This method unregisters a <code>LogListener</code> object from the Log
72      * Reader Service.
73      *
74      * <p>
75      * If <code>listener</code> is not contained in this Log Reader Service's list
76      * of listeners, this method does nothing.
77      *
78      * @param listener A <code>LogListener</code> object to unregister.
79      * @see LogListener
80      */

81     public void removeLogListener(LogListener listener);
82
83     /**
84      * Returns an <code>Enumeration</code> of all <code>LogEntry</code> objects in
85      * the log.
86      *
87      * <p>
88      * Each element of the enumeration is a <code>LogEntry</code> object, ordered
89      * with the most recent entry first. Whether the enumeration is of all
90      * <code>LogEntry</code> objects since the Log Service was started or some
91      * recent past is implementation-specific. Also implementation-specific is
92      * whether informational and debug <code>LogEntry</code> objects are included
93      * in the enumeration.
94      * @return An <code>Enumeration</code> of all <code>LogEntry</code> objects in
95      * the log.
96      */

97     public Enumeration JavaDoc getLog();
98 }
99
Popular Tags