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.message.responder;
017    
018    import org.jboss.netty.channel.Channel;
019    import org.jboss.netty.channel.ChannelFuture;
020    
021    import com.hs.mail.imap.message.request.ImapRequest;
022    
023    /**
024     * 
025     * @author Won Chul Doh
026     * @since Feb 1, 2010
027     *
028     */
029    public interface Responder {
030    
031            public Channel getChannel();
032            
033            public ImapRequest getRequest();
034    
035            public ChannelFuture okCompleted(ImapRequest request);
036            
037            public ChannelFuture okCompleted(ImapRequest request, String responseCode);
038    
039            public ChannelFuture bye(String text);
040    
041            public ChannelFuture taggedNo(ImapRequest request, String text);
042    
043            public ChannelFuture taggedNo(ImapRequest request, String responseCode,
044                            String text);
045    
046            public ChannelFuture untaggedOK(String text);
047    
048            public ChannelFuture untagged(String text);
049    
050    }