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

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

源代码1 项目: openbd-core   文件: cfImapConnection.java
public void changeStatus( String folderName, long mailIDs[], Flags.Flag newFlag, boolean value ){
  try{
  
    Folder folderToUse = mailStore.getFolder(folderName);
    folderToUse.open( Folder.READ_WRITE );
    
    Flags f = new Flags();
    f.add( newFlag );
	
	Message mlist[];
	if ( folderToUse instanceof UIDFolder )
		mlist = ((UIDFolder)folderToUse).getMessagesByUID( mailIDs );
	else
		mlist = folderToUse.getMessages( returnToInts(mailIDs) );
	
	for ( int x=0; x < mlist.length; x++ )
		mlist[x].setFlags( f, value );
    
    folderToUse.close( true );
	setData( "succeeded", 	cfBooleanData.TRUE );
  
  } catch (Exception E ){
	setData( "errortext", 	new cfStringData( E.getMessage() ) );
	setData( "succeeded", 	cfBooleanData.FALSE );
  }
}
 
源代码2 项目: james-project   文件: FlagsExtraField.java
private static String systemFlagToString(Flags.Flag flag) throws RuntimeException {
    if (flag == Flags.Flag.ANSWERED) {
        return "\\ANSWERED";
    } else if (flag == Flags.Flag.DELETED) {
        return "\\DELETED";
    } else if (flag == Flags.Flag.DRAFT) {
        return "\\DRAFT";
    } else if (flag == Flags.Flag.FLAGGED) {
        return "\\FLAGGED";
    } else if (flag == Flags.Flag.RECENT) {
        return "\\RECENT";
    } else if (flag == Flags.Flag.SEEN) {
        return "\\SEEN";
    }
    throw new RuntimeException("Unknown system flag");
}
 
源代码3 项目: james-project   文件: CriterionConverter.java
private QueryBuilder convertFlag(SearchQuery.FlagCriterion flagCriterion) {
    SearchQuery.BooleanOperator operator = flagCriterion.getOperator();
    Flags.Flag flag = flagCriterion.getFlag();
    if (flag.equals(Flags.Flag.DELETED)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_DELETED, operator.isSet()));
    }
    if (flag.equals(Flags.Flag.ANSWERED)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_ANSWERED, operator.isSet()));
    }
    if (flag.equals(Flags.Flag.DRAFT)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_DRAFT, operator.isSet()));
    }
    if (flag.equals(Flags.Flag.SEEN)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_UNREAD, !operator.isSet()));
    }
    if (flag.equals(Flags.Flag.RECENT)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_RECENT, operator.isSet()));
    }
    if (flag.equals(Flags.Flag.FLAGGED)) {
        return boolQuery().filter(termQuery(JsonMessageConstants.IS_FLAGGED, operator.isSet()));
    }
    throw new RuntimeException("Unknown flag used in Flag search criterion");
}
 
源代码4 项目: james-project   文件: FlagsFactory.java
public Flags build() {
    FlagsFilter flagsFilter = this.flagsFilter.orElse(FlagsFilter.noFilter());
    Flags flagsOrEmpty = this.flags.orElse(new Flags());

    Stream<Flags.Flag> flagStream =
        toFlagStream(flagsOrEmpty)
            .filter(flagsFilter.getSystemFlagFilter());
    Stream<String> userFlagsStream =
        Stream
            .concat(
                toUserFlagStream(flagsOrEmpty),
                userFlags.stream())
            .distinct()
            .filter(s -> !Strings.isNullOrEmpty(s))
            .filter(flagsFilter.getUserFlagFilter());

    final Flags result = new Flags();
    flagStream.forEach(result::add);
    userFlagsStream.forEach(result::add);
    return result;
}
 
源代码5 项目: james-project   文件: MessageSearches.java
private boolean matches(SearchQuery.FlagCriterion criterion, MailboxMessage message,
                        Collection<MessageUid> recentMessageUids) {
    SearchQuery.BooleanOperator operator = criterion.getOperator();
    boolean isSet = operator.isSet();
    Flags.Flag flag = criterion.getFlag();
    if (flag == Flags.Flag.ANSWERED) {
        return isSet == message.isAnswered();
    } else if (flag == Flags.Flag.SEEN) {
        return isSet == message.isSeen();
    } else if (flag == Flags.Flag.DRAFT) {
        return isSet == message.isDraft();
    } else if (flag == Flags.Flag.FLAGGED) {
        return isSet == message.isFlagged();
    } else if (flag == Flags.Flag.RECENT) {
        final MessageUid uid = message.getUid();
        return isSet == recentMessageUids.contains(uid);
    } else if (flag == Flags.Flag.DELETED) {
        return isSet == message.isDeleted();
    } else {
        return false;
    }
}
 
源代码6 项目: FairEmail   文件: MimeMessageEx.java
@Override
public synchronized boolean isSet(Flags.Flag flag) throws MessagingException {
    if (original == null)
        return super.isSet(flag);
    else
        return original.isSet(flag);
}
 
源代码7 项目: alfresco-repository   文件: ImapServiceImpl.java
/**
 * Set flags to the specified imapFolder.
 * 
 * @param messageInfo FileInfo of imap Folder.
 * @param flags flags to set.
 * @param value value to set.
 */
public void setFlags(FileInfo messageInfo, Flags flags, boolean value)
{
    checkForFlaggableAspect(messageInfo.getNodeRef());
    

    for (Flags.Flag flag : flags.getSystemFlags())
    {
        setFlag(messageInfo, flag, value);
    }
}
 
源代码8 项目: mail-importer   文件: JavaxMailMessage.java
@Override
public boolean isSet(Flags.Flag flag) throws RuntimeMessagingException {
  try {
    return delegate.isSet(flag);
  } catch (MessagingException e) {
    throw new RuntimeMessagingException(e);
  }
}
 
源代码9 项目: mail-importer   文件: JavaxMailMessage.java
@Override
public void setFlag(Flags.Flag flag, boolean set)
    throws RuntimeMessagingException {
  try {
    delegate.setFlag(flag, set);
  } catch (MessagingException e) {
    throw new RuntimeMessagingException(e);
  }
}
 
源代码10 项目: greenmail   文件: SearchTermBuilder.java
private static SearchTerm createFlagSearchTerm(String pFlagName, boolean pValue) {
    Flags.Flag flag = toFlag(pFlagName);
    Flags flags = new javax.mail.Flags();
    if (null == flag) { // user flags
        flags.add(pFlagName);
    } else {
        flags.add(flag);
    }
    return new FlagTerm(flags, pValue);
}
 
源代码11 项目: greenmail   文件: StoredMessage.java
public void setFlag(Flags.Flag flag, boolean value) {
    try {
        getMimeMessage().setFlag(flag, value);
    } catch (MessagingException e) {
        throw new IllegalStateException("Can not set flag " + flag + " to " + value, e);
    }
}
 
源代码12 项目: greenmail   文件: StoredMessage.java
public boolean isSet(Flags.Flag flag) {
    try {
        return getMimeMessage().isSet(flag);
    } catch (MessagingException e) {
        throw new IllegalStateException("Can not access flag " + flag, e);
    }
}
 
源代码13 项目: projectforge-webapp   文件: MailAccount.java
protected void setEnvelope(final Mail mail, final Message message) throws javax.mail.MessagingException
{
  mail.setMessage(message);
  Address[] addr;
  // ID
  mail.setMessageNumber(message.getMessageNumber());

  // FROM
  StringBuffer buf = new StringBuffer();
  addr = message.getFrom();
  if (addr != null) {
    for (int j = 0; j < addr.length; j++) {
      if (j > 0)
        buf.append(",");
      buf.append(addr[j].toString());
    }
  }
  mail.setFrom(buf.toString());

  // TO
  addr = message.getRecipients(Message.RecipientType.TO);
  buf = new StringBuffer();
  if (addr != null) {
    for (int j = 0; j < addr.length; j++) {
      if (j > 0)
        buf.append(",");
      buf.append(addr[j].toString());
    }
  }
  mail.setTo(buf.toString());

  // SUBJECT
  mail.setSubject(message.getSubject());

  // DATE
  final Date date = message.getSentDate();
  if (date != null) {
    mail.setDate(date);
  } else { // Needed for compareTo (assume 1.1.1970)
    mail.setDate(new Date(0));
  } // FLAGS
  final Flags flags = message.getFlags();
  final Flags.Flag[] systemFlags = flags.getSystemFlags(); // get the system flags

  for (int i = 0; i < systemFlags.length; i++) {
    final Flags.Flag flag = systemFlags[i];
    if (flag == Flags.Flag.ANSWERED) {
      // Ignore this flag
    } else if (flag == Flags.Flag.DELETED) {
      mail.setDeleted(true);
    } else if (flag == Flags.Flag.DRAFT) {
      // Ignore this flag
    } else if (flag == Flags.Flag.FLAGGED) {
      // Ignore this flag
    } else if (flag == Flags.Flag.RECENT) {
      mail.setRecent(true);
    } else if (flag == Flags.Flag.SEEN) {
      mail.setSeen(true);
    } else {
      // skip it
    }
  }
}
 
源代码14 项目: james-project   文件: UpdatedFlags.java
private static boolean isChanged(Flags original, Flags updated, Flags.Flag flag) {
    return original != null && updated != null && (original.contains(flag) ^ updated.contains(flag));
}
 
源代码15 项目: james-project   文件: UpdatedFlags.java
public boolean isModifiedToUnset(Flags.Flag flag) {
    return !newFlags.contains(flag) && oldFlags.contains(flag);
}
 
源代码16 项目: james-project   文件: UpdatedFlags.java
public boolean isUnchanged(Flags.Flag flag) {
    return !isModifiedToSet(flag) && !isModifiedToUnset(flag);
}
 
源代码17 项目: james-project   文件: FlagsBuilder.java
public FlagsBuilder add(Flags.Flag... flags) {
    for (Flags.Flag flag : flags) {
        internalFlags.add(flag);
    }
    return this;
}
 
源代码18 项目: james-project   文件: FlagsFactory.java
private Stream<Flags.Flag> toFlagStream(Flags flags) {
    return Arrays.stream(flags.getSystemFlags());
}
 
源代码19 项目: james-project   文件: Keyword.java
public static Keyword fromFlag(Flags.Flag flag) {
    return IMAP_SYSTEM_FLAGS.get(flag);
}
 
源代码20 项目: james-project   文件: Keyword.java
public Optional<Flags.Flag> asSystemFlag() {
    return Optional.ofNullable(IMAP_SYSTEM_FLAGS.inverse()
        .get(this));
}