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.configuration2.io; 18 19 /** 20 * <p> 21 * A listener interface for receiving notifications about updates of a {@code FileHandler}. 22 * </p> 23 * <p> 24 * Objects implementing this interface are notified when properties of a {@code FileHandler} change or when a load or 25 * save operation is performed. This can be useful for various use cases, e.g. when monitoring file-based 26 * configurations. 27 * </p> 28 * 29 * @since 2.0 30 */ 31 public interface FileHandlerListener { 32 /** 33 * Notification that the associated file has been loaded. This method is called directly after the load operation. 34 * 35 * @param handler the file handler 36 */ 37 void loaded(FileHandler handler); 38 39 /** 40 * Notification that the associated file is about to be loaded. This method is called immediately before the load 41 * operation. 42 * 43 * @param handler the file handler 44 */ 45 void loading(FileHandler handler); 46 47 /** 48 * Notification that a property of the monitored {@code FileHandler} has changed. 49 * 50 * @param handler the file handler 51 */ 52 void locationChanged(FileHandler handler); 53 54 /** 55 * Notification that the associated file has been saved. This method is called directly after the save operation. 56 * 57 * @param handler the file handler 58 */ 59 void saved(FileHandler handler); 60 61 /** 62 * Notification that the associated file is about to be saved. This method is called immediately before the save 63 * operation. 64 * 65 * @param handler the file handler 66 */ 67 void saving(FileHandler handler); 68 }