001    /****************************************************************
002     * Licensed to the Apache Software Foundation (ASF) under one   *
003     * or more contributor license agreements.  See the NOTICE file *
004     * distributed with this work for additional information        *
005     * regarding copyright ownership.  The ASF licenses this file   *
006     * to you under the Apache License, Version 2.0 (the            *
007     * "License"); you may not use this file except in compliance   *
008     * with the License.  You may obtain a copy of the License at   *
009     *                                                              *
010     *   http://www.apache.org/licenses/LICENSE-2.0                 *
011     *                                                              *
012     * Unless required by applicable law or agreed to in writing,   *
013     * software distributed under the License is distributed on an  *
014     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
015     * KIND, either express or implied.  See the License for the    *
016     * specific language governing permissions and limitations      *
017     * under the License.                                           *
018     ****************************************************************/
019    
020    package org.apache.hupa.shared.events;
021    
022    import org.apache.hupa.shared.data.IMAPFolder;
023    import org.apache.hupa.shared.data.Message;
024    import org.apache.hupa.shared.data.User;
025    
026    import com.google.gwt.event.shared.GwtEvent;
027    
028    public class MoveMessageEvent extends GwtEvent<MoveMessageEventHandler> {
029    
030        public final static Type<MoveMessageEventHandler> TYPE = new Type<MoveMessageEventHandler>();
031        private User user;
032        private IMAPFolder oldFolder;
033        private IMAPFolder newFolder;
034        private Message message;
035    
036        public MoveMessageEvent(User user, IMAPFolder oldFolder,
037                IMAPFolder newFolder, Message message) {
038            this.user = user;
039            this.oldFolder = oldFolder;
040            this.newFolder = newFolder;
041            this.message = message;
042        }
043    
044        public User getUser() {
045            return user;
046        }
047    
048        public IMAPFolder getOldFolder() {
049            return oldFolder;
050        }
051    
052        public IMAPFolder getNewFolder() {
053            return newFolder;
054        }
055    
056        public Message getMessage() {
057            return message;
058        }
059    
060        protected void dispatch(MoveMessageEventHandler handler) {
061            handler.onMoveMessageHandler(this);
062        }
063    
064        @Override
065        public com.google.gwt.event.shared.GwtEvent.Type<MoveMessageEventHandler> getAssociatedType() {
066            return TYPE;
067        }
068    
069    }