public FetchRequest(ImapCommand command, boolean useUids, IdRange[] idSet, FetchData fetch, String tag) { super(tag, command); this.useUids = useUids; this.idSet = idSet; this.fetch = fetch; if (useUids) { fetch.setUid(true); } }
/** * Return a read-only {@link Iterator} which contains all msn/uid which fail in the specified range. * * @return rangeIt */ @Override public Iterator<Long> iterator() { long from = getLowVal(); if (from == Long.MAX_VALUE) { from = 1; } long to = getHighVal(); return new RangeIterator(from, to); }
@Override public int compareTo(IdRange range2) { // Correctly sort and respect "*" and "*:*" ranges. See IMAP-289 if (getLowVal() == Long.MAX_VALUE && getHighVal() == Long.MAX_VALUE && range2.getLowVal() == Long.MAX_VALUE && range2.getHighVal() == Long.MAX_VALUE) { return 0; } if (getLowVal() == Long.MAX_VALUE && getHighVal() == Long.MAX_VALUE) { return 1; } else if (range2.getLowVal() == Long.MAX_VALUE && range2.getHighVal() == Long.MAX_VALUE) { return -1; } else { return (int) (getLowVal() - range2.getLowVal()); } }
@Test public void testShouldParseZeroAndLength() throws Exception { IdRange[] ranges = { new IdRange(1) }; FetchData data = new FetchData(); data.add(new BodyFetchElement("BODY[]", BodyFetchElement.CONTENT, null, null, new Long(0), new Long(100)), false); check("1 (BODY[]<0.100>)\r\n", ranges, false, data, "A01"); }
private FetchResponse.BodyElement bodyFetch(final MessageResult messageResult, BodyFetchElement fetchElement) throws MailboxException { final Long firstOctet = fetchElement.getFirstOctet(); final Long numberOfOctets = fetchElement.getNumberOfOctets(); final String name = fetchElement.getResponseName(); final int specifier = fetchElement.getSectionType(); final int[] path = fetchElement.getPath(); final Collection<String> names = fetchElement.getFieldNames(); final boolean isBase = (path == null || path.length == 0); final FetchResponse.BodyElement fullResult = bodyContent(messageResult, name, specifier, path, names, isBase); final FetchResponse.BodyElement result = wrapIfPartialFetch(firstOctet, numberOfOctets, fullResult); return result; }
private Long uidValidity(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long uidValidity; if (statusDataItems.isUidValidity()) { final long uidValidityValue = metaData.getUidValidity(); uidValidity = uidValidityValue; } else { uidValidity = null; } return uidValidity; }
@Override public Long next() { if (hasNext()) { return current++; } else { throw new NoSuchElementException("Highest id of " + to + " was reached before"); } }
private Long messages(StatusDataItems statusDataItems, MessageManager.MetaData metaData) throws MailboxException { final Long messages; if (statusDataItems.isMessages()) { messages = metaData.getMessageCount(); } else { messages = null; } return messages; }
private Long recent(StatusDataItems statusDataItems, MessageManager.MetaData metaData) throws MailboxException { final Long recent; if (statusDataItems.isRecent()) { recent = metaData.countRecent(); } else { recent = null; } return recent; }
private Long highestModSeq(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long highestModSeq; if (statusDataItems.isHighestModSeq()) { highestModSeq = metaData.getHighestModSeq(); } else { highestModSeq = null; } return highestModSeq; }
private Long unseen(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long unseen; if (statusDataItems.isUnseen()) { unseen = metaData.getUnseenCount(); } else { unseen = null; } return unseen; }
private Long uidNext(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long uidNext; if (statusDataItems.isUidNext()) { final long uidNextValue = metaData.getUidNext(); uidNext = uidNextValue; } else { uidNext = null; } return uidNext; }
@Test public void testShouldParseNonZeroAndLength() throws Exception { IdRange[] ranges = { new IdRange(1) }; FetchData data = new FetchData(); data.add(new BodyFetchElement("BODY[]", BodyFetchElement.CONTENT, null, null, new Long(20), new Long(12342348)), false); check("1 (BODY[]<20.12342348>)\r\n", ranges, false, data, "A01"); }
/** * Return a read-only {@link Iterator} which contains all msn/uid which fail in the specified range. * * @return rangeIt */ @Override public Iterator<Long> iterator() { long from = getLowVal(); if (from == Long.MAX_VALUE) { from = 1; } long to = getHighVal(); return new RangeIterator(from, to); }
@Override public int compareTo(IdRange range2) { // Correctly sort and respect "*" and "*:*" ranges. See IMAP-289 if (getLowVal() == Long.MAX_VALUE && getHighVal() == Long.MAX_VALUE && range2.getLowVal() == Long.MAX_VALUE && range2.getHighVal() == Long.MAX_VALUE) { return 0; } if (getLowVal() == Long.MAX_VALUE && getHighVal() == Long.MAX_VALUE) { return 1; } else if (range2.getLowVal() == Long.MAX_VALUE && range2.getHighVal() == Long.MAX_VALUE) { return -1; } else { return (int) (getLowVal() - range2.getLowVal()); } }
public FetchRequest(final ImapCommand command, final boolean useUids, final IdRange[] idSet, final FetchData fetch, String tag) { super(tag, command); this.useUids = useUids; this.idSet = idSet; this.fetch = fetch; if (useUids) { fetch.setUid(true); } }
private Long uidValidity(StatusDataItems statusDataItems, MessageManager.MetaData metaData) throws MailboxException { final Long uidValidity; if (statusDataItems.isUidValidity()) { uidValidity = metaData.getUidValidity(); } else { uidValidity = null; } return uidValidity; }
@Override public Long next() { if (hasNext()) { return current++; } else { throw new NoSuchElementException("Highest id of " + to + " was reached before"); } }
private Long messages(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long messages; if (statusDataItems.isMessages()) { messages = metaData.getMessageCount(); } else { messages = null; } return messages; } }
private Long recent(final StatusDataItems statusDataItems, final MessageManager.MetaData metaData) throws MailboxException { final Long recent; if (statusDataItems.isRecent()) { recent = metaData.countRecent(); } else { recent = null; } return recent; }