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 */ 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 */ 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 */ 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 */ 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 */ 68 void init(Tailer tailer); 69 70 }