public void encode()

in protocols/imap/src/main/java/org/apache/james/imap/encode/MailboxStatusResponseEncoder.java [42:120]


    public void encode(MailboxStatusResponse response, ImapResponseComposer composer) throws IOException {
        Long messages = response.getMessages();
        Long recent = response.getRecent();
        Long size = response.getSize();
        Long deleted = response.getDeleted();
        Long deletedStorage = response.getDeletedStorage();
        Optional<Long> appendLimit = response.getAppendLimit();
        MessageUid uidNext = response.getUidNext();
        ModSeq highestModSeq = response.getHighestModSeq();
        UidValidity uidValidity = response.getUidValidity();
        Long unseen = response.getUnseen();
        MailboxId mailboxId = response.getMailboxId();
        String mailboxName = response.getMailbox();

        composer.untagged();
        composer.message(STATUS_COMMAND.getNameAsBytes());
        composer.mailbox(mailboxName);
        composer.openParen();

        if (appendLimit != null) {
            composer.message(STATUS_APPENDLIMIT);
            composer.message(appendLimit.map(l -> Long.toString(l)).orElse("NIL"));
        }

        if (messages != null) {
            composer.message(STATUS_MESSAGES);
            composer.message(messages);
        }

        if (size != null) {
            composer.message(STATUS_SIZE);
            composer.message(size);
        }

        if (deleted != null) {
            composer.message(STATUS_DELETED);
            composer.message(deleted);
        }

        if (deletedStorage != null) {
            composer.message(STATUS_DELETED_STORAGE);
            composer.message(deletedStorage);
        }

        if (recent != null) {
            composer.message(STATUS_RECENT);
            composer.message(recent);
        }

        if (uidNext != null) {
            composer.message(STATUS_UIDNEXT);
            composer.message(uidNext.asLong());
        }
        
        if (highestModSeq != null) {
            composer.message(STATUS_HIGHESTMODSEQ);
            composer.message(highestModSeq.asLong());
        }

        if (uidValidity != null) {
            composer.message(STATUS_UIDVALIDITY);
            composer.message(uidValidity.asLong());
        }

        if (unseen != null) {
            composer.message(STATUS_UNSEEN);
            composer.message(unseen);
        }

        if (mailboxId != null) {
            composer.message(STATUS_MAILBOXID);
            composer.openParen();
            composer.message(mailboxId.serialize());
            composer.closeParen();
        }

        composer.closeParen();
        composer.end();
    }