• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 package org.apache.commons.io.input;
18 
19 /**
20  * Listener for events from a {@link Tailer}.
21  *
22  * @since 2.0
23  */
24 public interface TailerListener {
25 
26     /**
27      * This method is called if the tailed file is not found.
28      * <p>
29      * <b>Note:</b> this is called from the tailer thread.
30      * </p>
31      */
fileNotFound()32     void fileNotFound();
33 
34     /**
35      * Called if a file rotation is detected.
36      *
37      * This method is called before the file is reopened, and fileNotFound may
38      * be called if the new file has not yet been created.
39      * <p>
40      * <b>Note:</b> this is called from the tailer thread.
41      * </p>
42      */
fileRotated()43     void fileRotated();
44 
45     /**
46      * Handles an Exception.
47      * <p>
48      * <b>Note:</b> this is called from the tailer thread.
49      * </p>
50      * @param ex the exception.
51      */
handle(Exception ex)52     void handle(Exception ex);
53 
54     /**
55      * Handles a line from a Tailer.
56      * <p>
57      * <b>Note:</b> this is called from the tailer thread.
58      * </p>
59      * @param line the line.
60      */
handle(String line)61     void handle(String line);
62 
63     /**
64      * The tailer will call this method during construction,
65      * giving the listener a method of stopping the tailer.
66      * @param tailer the tailer.
67      */
init(Tailer tailer)68     void init(Tailer tailer);
69 
70 }
71