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.response;
017    
018    import com.hs.mail.imap.mailbox.Mailbox;
019    
020    /**
021     * 
022     * @author Won Chul Doh
023     * @since Mar 19, 2010
024     *
025     */
026    public class SelectResponse extends AbstractImapResponse {
027    
028            private Mailbox mailbox;
029            private long firstUnseen = 0;
030            private int messageCount = 0;
031            private int recentMessageCount = 0;
032            
033            public SelectResponse(Mailbox mailbox) {
034                    super();
035                    this.mailbox = mailbox;
036            }
037    
038            /**
039             * Gets the UID of the first unseen message.
040             * 
041             * @return UID of the first unseen message, zero if not exist unseen message
042             */
043            public long getFirstUnseen() {
044                    return firstUnseen;
045            }
046    
047            public void setFirstUnseen(long firstUnseen) {
048                    this.firstUnseen = firstUnseen;
049            }
050    
051            /**
052             * Gets the number of messages that this mailbox contains.
053             * 
054             * @return number of messages contained
055             */
056            public int getMessageCount() {
057                    return messageCount;
058            }
059    
060            public void setMessageCount(int count) {
061                    this.messageCount = count;
062            }
063    
064            /**
065             * Gets the number of recent messages.
066             * 
067             * @return number of recent messages
068             */
069            public int getRecentMessageCount() {
070                    return recentMessageCount;
071            }
072    
073            public void setRecentMessageCount(int count) {
074                    this.recentMessageCount = count;
075            }
076    
077            /**
078             * Gets the next unique identifier predicted.
079             * 
080             * @return the UID that will be assigned to the next appended message
081             */
082            public long getNextUid() {
083                    return mailbox.getNextUID();
084            }
085    
086            /**
087             * Gets the unique identifier validity value.
088             * 
089             * @return UIDVALIDITY
090             */
091            public long getUidValidity() {
092                    return mailbox.getUidValidity();
093            }
094    
095    }