private void readCode(ImapInputStream is) throws IOException { is.skipChar('['); code = is.readAtom(); switch (code.getCAtom()) { case ALERT: case PARSE: case READ_ONLY: case READ_WRITE: case TRYCREATE: break; case UIDNEXT: case UIDVALIDITY: is.skipChar(' '); // RFC 3501 says these should both be nz-number but some servers // return 0 if mailbox is empty (bug 38521). data = is.readNumber(); break; case UNSEEN: is.skipChar(' '); // RFC 3501 says this should be an nz-number but some servers // (i.e. GMail) return 0. data = is.readNumber(); break; case BADCHARSET: if (is.match(' ')) { is.skipSpaces(); if (is.peekChar() == '(') { data = readCharset(is); } } break; case PERMANENTFLAGS: is.skipChar(' '); data = Flags.read(is); break; case CAPABILITY: is.skipChar(' '); is.skipSpaces(); data = ImapCapabilities.read(is); break; case APPENDUID: this.data = AppendResult.parse(is); break; case COPYUID: this.data = CopyResult.parse(is); break; default: if (is.match(' ')) { data = is.readText("]"); } } is.skipSpaces(); is.skipChar(']'); }
public CAtom getCCode() { return code != null ? code.getCAtom() : CAtom.UNKNOWN; }