/* * Copyright 2008 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.event; import java.util.List; /** * 事件发送者 * * @author biaoping.yin * @version 1.0 */ public interface Notifiable { /** * Description 注册监听器方法 * @param listener 需要注册的监听器 * void */ public void addListener(Listener listener); /** * Description 注册监听器方法 * @param listener 需要注册的监听器 * @remote 监听本地事件和远程事件标识,为true时监听远程事件 * 如果系统中没有启动集群或多实例功能时 * void * @deprecated * @see addListener(Listener listener); */ public void addListener(Listener listener,boolean remote); /** * Description 注册监听器方法 * @param listener 需要注册的监听器 * @param List<ResourceChangeEventType> 监听器需要监听的消息类型 * void */ public void addListener(Listener listener,EventType eventtypes); /** * Description 注册监听器方法 * @param listener 需要注册的监听器 * @param List<ResourceChangeEventType> 监听器需要监听的消息类型 * void */ public void addListener(Listener listener,List eventtypes); /** * Description 注册监听器方法 * @param listener 需要注册的监听器 * @param List<ResourceChangeEventType> 监听器需要监听的消息类型 * @parema boolean remote 区分监听器是否监听远程事件, * true-监听本地和远程事件 * false-不监听,只监听本地事件 * void * @deprecated * @seepublic void addListener(Listener listener,List eventtypes); */ public void addListener(Listener listener,List eventtypes,boolean remote); /** * * @param listener 需要注册的监听器 * @param eventtypes List<ResourceChangeEventType> 监听器需要监听的消息类型 * @param listenerType 事件监听器类型 * @deprecated * public void addListener(Listener listener,List eventtypes); */ public void addListener(Listener listener,List eventtypes,int listenerType); /** * * @param listener 需要注册的监听器,监听所有类型的事件 * * @param listenerType 事件监听器类型 * @deprecated * addListener(Listener listener); */ public void addListener(Listener listener,int listenerType); /** * Description 当事件发生时,调用该方法通知所有的监听器,系统根据synchronizable * 参数控制消息同步和异步处理消息机制 * @param source 事件源 * @param synchronizable 控制消息同步和异步处理消息机制,false异步处理,true同步方式处理 * void */ public void change(Event source,boolean synchronizable); /** * Description 当事件发生时,调用该方法通知所有的监听器 * ,系统将以同步的方式处理事件消息 * @param source 事件源 * void */ public void change(Event source); }