javax.mail.Flags#getUserFlags ( )源码实例Demo

下面列出了javax.mail.Flags#getUserFlags ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: james-project   文件: LuceneMessageSearchIndex.java
/**
 * Add the given {@link Flags} to the {@link Document}
 */
private void indexFlags(Document doc, Flags f) {
    List<String> fString = new ArrayList<>();
    Flag[] flags = f.getSystemFlags();
    for (Flag flag : flags) {
        fString.add(toString(flag));
        doc.add(new Field(FLAGS_FIELD, toString(flag), Store.YES, Index.NOT_ANALYZED));
    }
    
    String[] userFlags = f.getUserFlags();
    for (String userFlag : userFlags) {
        doc.add(new Field(FLAGS_FIELD, userFlag, Store.YES, Index.NOT_ANALYZED));
    }
    
    // if no flags are there we just use a empty field
    if (flags.length == 0 && userFlags.length == 0) {
        doc.add(new Field(FLAGS_FIELD, "",Store.NO, Index.NOT_ANALYZED));
    }
    
}
 
源代码2 项目: james-project   文件: SimpleMailboxMessage.java
public SimpleMailboxMessage(MessageId messageId, Date internalDate, long size, int bodyStartOctet,
        SharedInputStream content, Flags flags,
        PropertyBuilder propertyBuilder, MailboxId mailboxId, List<MessageAttachmentMetadata> attachments,
        boolean hasAttachment) {
    super(new SimpleMessage(
            messageId,
            content, size, internalDate, propertyBuilder.getSubType(),
            propertyBuilder.getMediaType(),
            bodyStartOctet,
            propertyBuilder.getTextualLineCount(),
            propertyBuilder.toProperties(),
            attachments,
            hasAttachment));

        setFlags(flags);
        this.mailboxId = mailboxId;
        this.userFlags = flags.getUserFlags();
}
 
源代码3 项目: james-project   文件: StoreMessageManager.java
/**
 * Check if the given {@link Flags} contains {@link Flags} which are not
 * included in the returned {@link Flags} of
 * {@link #getPermanentFlags(MailboxSession)}. If any are found, these are
 * removed from the given {@link Flags} instance. The only exception is the
 * {@link Flag#RECENT} flag.
 * 
 * This flag is never removed!
 */
private void trimFlags(Flags flags, MailboxSession session) {

    Flags permFlags = getPermanentFlags(session);

    Flag[] systemFlags = flags.getSystemFlags();
    for (Flag f : systemFlags) {
        if (f != Flag.RECENT && permFlags.contains(f) == false) {
            flags.remove(f);
        }
    }
    // if the permFlags contains the special USER flag we can skip this as
    // all user flags are allowed
    if (permFlags.contains(Flags.Flag.USER) == false) {
        String[] uFlags = flags.getUserFlags();
        for (String uFlag : uFlags) {
            if (permFlags.contains(uFlag) == false) {
                flags.remove(uFlag);
            }
        }
    }

}
 
源代码4 项目: james-project   文件: MessageFlags.java
/**
 * Returns IMAP formatted String naming flags.
 * 
 * @return <code>Collection</code> of <code>String</code>'s naming the
 *         flags.
 */
public static Collection<String> names(Flags flags) {
    final Collection<String> results = new ArrayList<>();
    if (flags.contains(Flags.Flag.ANSWERED)) {
        results.add(ANSWERED_OUTPUT_CAPITALISED);
    }
    if (flags.contains(Flags.Flag.DELETED)) {
        results.add(DELETED_OUTPUT_CAPITALISED);
    }
    if (flags.contains(Flags.Flag.DRAFT)) {
        results.add(DRAFT_OUTPUT_CAPITALISED);
    }
    if (flags.contains(Flags.Flag.FLAGGED)) {
        results.add(FLAGGED_OUTPUT_CAPITALISED);
    }
    if (flags.contains(Flags.Flag.RECENT)) {
        results.add(RECENT_OUTPUT_CAPITALISED);
    }
    if (flags.contains(Flags.Flag.SEEN)) {
        results.add(SEEN_OUTPUT_CAPITALISED);
    }
    
    // Add user flags
    String[] userFlags = flags.getUserFlags();
    Collections.addAll(results, userFlags);

    if (flags.contains(Flags.Flag.USER)) {
        results.add(USER_OUTPUT_CAPITALISED);
    }
    return results;
}
 
源代码5 项目: james-project   文件: UpdatedFlags.java
public static boolean flagsChanged(Flags flagsOld, Flags flagsNew) {
    Flags modifiedFlags = new Flags();
    addModifiedSystemFlags(flagsOld, flagsNew, modifiedFlags);
    addModifiedUserFlags(flagsOld, flagsNew, modifiedFlags);
    if (modifiedFlags.getSystemFlags().length > 0 || modifiedFlags.getUserFlags().length > 0) {
        return true;
    } else {
        return false;
    }
}
 
源代码6 项目: james-project   文件: AbstractJPAMailboxMessage.java
@Override
public void setFlags(Flags flags) {
    answered = flags.contains(Flags.Flag.ANSWERED);
    deleted = flags.contains(Flags.Flag.DELETED);
    draft = flags.contains(Flags.Flag.DRAFT);
    flagged = flags.contains(Flags.Flag.FLAGGED);
    recent = flags.contains(Flags.Flag.RECENT);
    seen = flags.contains(Flags.Flag.SEEN);

    String[] userflags = flags.getUserFlags();
    userFlags.clear();
    for (String userflag : userflags) {
        userFlags.add(new JPAUserFlag(userflag));
    }
}
 
源代码7 项目: james-project   文件: SimpleMailboxMessage.java
@Override
public synchronized void setFlags(Flags flags) {
    answered = flags.contains(Flags.Flag.ANSWERED);
    deleted = flags.contains(Flags.Flag.DELETED);
    draft = flags.contains(Flags.Flag.DRAFT);
    flagged = flags.contains(Flags.Flag.FLAGGED);
    recent = flags.contains(Flags.Flag.RECENT);
    seen = flags.contains(Flags.Flag.SEEN);
    userFlags = flags.getUserFlags();
}
 
源代码8 项目: greenmail   文件: MessageFlags.java
/**
 * Returns IMAP formatted String of MessageFlags for named user
 *
 * @return IMAP formatted MessageFlag
 */
public static String format(Flags flags) {
    StringBuilder buf = new StringBuilder();
    buf.append('(');
    if (flags.contains(Flags.Flag.ANSWERED)) {
        buf.append("\\Answered ");
    }
    if (flags.contains(Flags.Flag.DELETED)) {
        buf.append("\\Deleted ");
    }
    if (flags.contains(Flags.Flag.DRAFT)) {
        buf.append("\\Draft ");
    }
    if (flags.contains(Flags.Flag.FLAGGED)) {
        buf.append("\\Flagged ");
    }
    if (flags.contains(Flags.Flag.RECENT)) {
        buf.append("\\Recent ");
    }
    if (flags.contains(Flags.Flag.SEEN)) {
        buf.append("\\Seen ");
    }
    String[] userFlags = flags.getUserFlags();
    if(null!=userFlags) {
        for(String uf: userFlags) {
            buf.append(uf).append(' ');
        }
    }
    // Remove the trailing space, if necessary.
    if (buf.length() > 1) {
        buf.setLength(buf.length() - 1);
    }
    buf.append(')');
    return buf.toString();
}
 
源代码9 项目: elasticsearch-imap   文件: IMAPUtils.java
public static String[] toStringArray(final Flags flags) {
    final List<String> flagsL = new ArrayList<String>(10);

    if (flags.contains(Flags.Flag.DELETED)) {
        flagsL.add("Deleted");
    }
    if (flags.contains(Flags.Flag.ANSWERED)) {
        flagsL.add("Answered");
    }
    if (flags.contains(Flags.Flag.DRAFT)) {
        flagsL.add("Draft");
    }
    if (flags.contains(Flags.Flag.FLAGGED)) {
        flagsL.add("Flagged");
    }
    if (flags.contains(Flags.Flag.RECENT)) {
        flagsL.add("Recent");
    }
    if (flags.contains(Flags.Flag.SEEN)) {
        flagsL.add("Seen");
    }

    if (flags.contains(Flags.Flag.USER)) {
        final String[] userFlags = flags.getUserFlags();
        for (int j = 0; j < userFlags.length; j++) {
            flagsL.add(userFlags[j]);
        }
    }

    return flagsL.toArray(new String[flagsL.size()]);
}