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();
}