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