001    /*
002     * Copyright 2010 the original author or authors.
003     * 
004     *  Licensed under the Apache License, Version 2.0 (the "License");
005     *  you may not use this file except in compliance with the License.
006     *  You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     *  Unless required by applicable law or agreed to in writing, software
011     *  distributed under the License is distributed on an "AS IS" BASIS,
012     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     *  See the License for the specific language governing permissions and
014     *  limitations under the License.
015     */
016    package com.hs.mail.imap.event;
017    
018    /**
019     * The common interface for all event listeners
020     * 
021     * @author Won Chul Doh
022     * @since Jul 30, 2010
023     * 
024     */
025    public interface EventListener {
026    
027            /**
028             * Invoked when an event was fired.
029             */
030            void event(final Event event);
031    
032            public interface Event {
033    
034                    public final static long ANONYMOUS_SESSION_ID = 0;
035    
036                    /**
037                     * Returns the ID of session who triggered this event.
038                     * 
039                     * @return ID of the session
040                     */
041                    long getSessionID();
042    
043                    /**
044                     * Returns the ID of the mailbox where this event was triggered.
045                     * 
046                     * @return ID of the mailbox
047                     */
048                    long getMailboxID();
049            
050            }
051    
052    }