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.log4j.chainsaw.prefs; 18 19 import java.util.EventListener; 20 21 /** 22 * Components, or objects, that are interested in being notified when 23 * Settings are loaded or being saved, can implement this interface. 24 * <p> 25 * 'Settings' are Chainsaw wide preferences, and are not specific to a particular 26 * tab identifer etc. See the correspoing ProfileListener and related classes 27 * for a discussion on profile specific events etc. 28 * <p> 29 * The implementing class can use this event notification opportunity 30 * to load setting information stored previously, or to 31 * request that setting information be stored. 32 * <p> 33 * NOTE: This contract does <b>_*NOT*_</b> dictate that the Thread invoking these 34 * methods will be the Swing's Event dispatching event, it could 35 * be any arbitary thread. Having said that, it COULD be the Swing's Event 36 * dispatching event, but this contract makes no guarantee. 37 * 38 * @author Paul Smith <psmith@apache.org> 39 */ 40 public interface SettingsListener extends EventListener { 41 42 /** 43 * When a request to load Settings has been requested, this method 44 * will be invoked by the SettingsManager. The implementing 45 * component can query the event for settings, and modify 46 * it's internal state based on these settings. 47 * 48 * @param event 49 */ 50 void loadSettings(LoadSettingsEvent event); 51 52 void saveSettings(SaveSettingsEvent event); 53 }