public LabelCounters(LabelCounters l) { totalBytes = l.getTotalBytes(); totalMessages = l.getTotalMessages(); unreadMessages = l.getUnreadMessages(); }
for (int i = 0; i < predsJsonArray.length(); i++) { AddressList a = new AddressList(); String addressJson = predsJsonArray.getJSONObject(i).toString(); a.Deserialize(addressJson); addressList.add(a);
/** * Returns inverse value of each counter. Can be used for subtraction. * * @return */ public LabelCounters getInverse() { LabelCounters inverse = new LabelCounters(); inverse.setTotalBytes(-this.totalBytes); inverse.setTotalMessages(-this.totalMessages); inverse.setUnreadMessages(-this.unreadMessages); return inverse; }
/** * Get aggregated {@link LabelCounter} stats for each label in the list of * messages. Results aggregated by label ID. * * @return */ public LabelMap aggregateCountersByLabel() { LabelMap labels = new LabelMap(); // get all labels of all messages, including label "all" for (UUID messageId : this.messages.keySet()) { Set<Integer> messageLabels = this.messages.get(messageId).getLabels(); for (int labelId : messageLabels) { if (!labels.containsId(labelId)) { Label label = new Label(labelId). setCounters(this.messages.get(messageId).getLabelCounters()); labels.put(label); } else { labels.get(labelId).getCounters().add( this.messages.get(messageId).getLabelCounters()); } } } return labels; }
@Override public Message filter(Message message) { if (message.getMinorHeader(MimeParser.MIME_HEADER_SPAM) != null && message.getMinorHeader(MimeParser.MIME_HEADER_SPAM).equalsIgnoreCase(MIME_HEADER_SPAM_VALUE)) { logger.debug("Applying filter for SPAM"); message.addLabel(ReservedLabels.SPAM.getId()); } return message; } }
@Override public BlobDataSource getRaw(final Mailbox mailbox, final UUID messageId) throws IOException { Message metadata = MessagePersistence.fetch(mailbox.getId(), messageId, false); return blobStorage.read(metadata.getLocation()); }
@Override public Map<Integer, String> getAll(final Mailbox mailbox) { return AccountPersistence.getLabels(mailbox.getId()).getNameMap(); }
@Override public Message getParsed(final Mailbox mailbox, final UUID messageId) { return MessagePersistence.fetch(mailbox.getId(), messageId, true); }
public Label put(Label label) { return labels.put(label.getId(), label); }
/** * Get InputStream of MIME part identified by Content-ID * * @param contentId * @return * @throws MimeParserException */ public InputStream getInputStreamByContentId(String contentId) throws MimeParserException { Assert.notNull(this.mimeMessage, "No message was processed. Initialize first."); // lookup part ID and make sure that part exists. IAE will be thrown otherwise. String partId = message.getPartByContentId(contentId).getPartId(); return getInputStreamByPartId(partId); }
@Override public String toString() { return toJson().toString(); } }
@Override public String getIdentifier() throws IOException { logger.debug("POP3: Get identifier"); return mailbox.toString(); }
/** * Build Mailbox object from email * * @param email */ public Mailbox(String email) { isEmailAddress(email, "Mailbox ID should be valid RFC5322 email address"); // use email as mailbox id this.id = email.toLowerCase(); //TODO: add support for mailbox aliasing }
public static void subtract(Mutator<String> mutator, final String mailbox, final Set<Integer> labelIds, final LabelCounters labelCounters) { // perform addition of inverse (i.e. subtraction) add(mutator, mailbox, labelIds, labelCounters.getInverse()); }
public void incrementCounters(LabelCounters diff) { Assert.notNull(counters, "Label counters are not initialized"); counters.add(diff); }
@Override public boolean equals(Object obj) { boolean result = false; if (obj instanceof LabelCounters) { LabelCounters that = (LabelCounters) obj; result = (this.getTotalBytes().equals(that.getTotalBytes()) && this.getTotalMessages().equals(that.getTotalMessages()) && this.getUnreadMessages().equals(that.getUnreadMessages())); } return result; }
for (int i = 0; i <= predsJsonArray.length(); i++) { if(i<predsJsonArray.length()) { AddressList a = new AddressList(); String addressJson = predsJsonArray.getJSONObject(i).toString(); a.Deserialize(addressJson); addressList.add(a); } else { adapter.notifyDataSetChanged();; }
@Override public List<UUID> getMessageIds(final Mailbox mailbox, final int labelId, final UUID start, final int count, final boolean reverse) { return LabelIndexPersistence.get(mailbox.getId(), labelId, start, count, reverse); }