本文整理了Java中org.apache.mailet.Mail.getAttributeNames()
方法的一些代码示例,展示了Mail.getAttributeNames()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Mail.getAttributeNames()
方法的具体详情如下:
包路径:org.apache.mailet.Mail
类名称:Mail
方法名:getAttributeNames
[英]Returns an Iterator over the names of all attributes which are set in this Mail instance.
The #getAttribute method can be called to retrieve an attribute's value given its name.
[中]返回在此邮件实例中设置的所有属性的名称的迭代器。
可以调用#getAttribute方法来检索给定名称的属性值。
代码示例来源:origin: org.apache.james/james-server-webadmin-mailrepository
private static Optional<ImmutableMap<String, String>> fetchAttributes(Set<AdditionalField> additionalFields, Mail mail) {
if (!additionalFields.contains(AdditionalField.ATTRIBUTES)) {
return Optional.empty();
}
return Optional.of(Iterators.toStream(mail.getAttributeNames())
.collect(Guavate.toImmutableMap(Function.identity(), attributeName -> mail.getAttribute(attributeName).toString())));
}
代码示例来源:origin: org.apache.james/james-server-jcr
/**
* Writes the mail attributes to the <code>jamesattr:*</code> property.
*
* @param node
* mail node
* @param mail
* mail message
* @throws RepositoryException
* if a repository error occurs
* @throws IOException
* if an IO error occurs
*/
private void setAttributes(Node node, Mail mail) throws RepositoryException, IOException {
Iterator<String> iterator = mail.getAttributeNames();
while (iterator.hasNext()) {
String name = (String) iterator.next();
Object value = mail.getAttribute(name);
name = "jamesattr:" + Text.escapeIllegalJcrChars(name);
if (value instanceof String || value == null) {
node.setProperty(name, (String) value);
} else {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream output = new ObjectOutputStream(buffer);
output.writeObject(value);
output.close();
node.setProperty(name, new ByteArrayInputStream(buffer.toByteArray()));
}
}
}
代码示例来源:origin: org.apache.james/james-server-data-jcr
/**
* Writes the mail attributes to the <code>jamesattr:*</code> property.
*
* @param node
* mail node
* @param mail
* mail message
* @throws RepositoryException
* if a repository error occurs
* @throws IOException
* if an IO error occurs
*/
private void setAttributes(Node node, Mail mail) throws RepositoryException, IOException {
Iterator<String> iterator = mail.getAttributeNames();
while (iterator.hasNext()) {
String name = iterator.next();
Object value = mail.getAttribute(name);
name = "jamesattr:" + Text.escapeIllegalJcrChars(name);
if (value instanceof String || value == null) {
node.setProperty(name, (String) value);
} else {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream output = new ObjectOutputStream(buffer);
output.writeObject(value);
output.close();
node.setProperty(name, new ByteArrayInputStream(buffer.toByteArray()));
}
}
}
代码示例来源:origin: org.apache.james/james-server-queue-jms
protected Map<String, Object> getJMSProperties(Mail mail, long nextDelivery) throws MessagingException {
Map<String, Object> props = new HashMap<>();
props.put(JAMES_NEXT_DELIVERY, nextDelivery);
props.put(JAMES_MAIL_ERROR_MESSAGE, mail.getErrorMessage());
props.put(JAMES_MAIL_LAST_UPDATED, mail.getLastUpdated().getTime());
props.put(JAMES_MAIL_MESSAGE_SIZE, mail.getMessageSize());
props.put(JAMES_MAIL_NAME, mail.getName());
// won't serialize the empty headers so it is mandatory
// to handle nulls when reconstructing mail from message
if (!mail.getPerRecipientSpecificHeaders().getHeadersByRecipient().isEmpty()) {
props.put(JAMES_MAIL_PER_RECIPIENT_HEADERS, SerializationUtil.serialize(mail.getPerRecipientSpecificHeaders()));
}
String recipientsAsString = joiner.join(mail.getRecipients());
props.put(JAMES_MAIL_RECIPIENTS, recipientsAsString);
props.put(JAMES_MAIL_REMOTEADDR, mail.getRemoteAddr());
props.put(JAMES_MAIL_REMOTEHOST, mail.getRemoteHost());
String sender = mail.getMaybeSender().asString("");
org.apache.james.util.streams.Iterators.toStream(mail.getAttributeNames())
.forEach(attrName -> props.put(attrName, SerializationUtil.serialize(mail.getAttribute(attrName))));
props.put(JAMES_MAIL_ATTRIBUTE_NAMES, joiner.join(mail.getAttributeNames()));
props.put(JAMES_MAIL_SENDER, sender);
props.put(JAMES_MAIL_STATE, mail.getState());
return props;
}
代码示例来源:origin: org.apache.james/james-server-queue-jms
map.put(names[8], m.getErrorMessage());
Map<String, String> attrs = new HashMap<>();
Iterator<String> attrNames = m.getAttributeNames();
while (attrNames.hasNext()) {
String attrName = attrNames.next();
代码示例来源:origin: apache/james-project
@Test
void getAttributeNamesShouldReturnEmptyByDefault() {
Mail mail = newMail();
assertThat(mail.getAttributeNames()).isEmpty();
}
代码示例来源:origin: apache/james-project
@Test
void getAttributeNamesShouldReturnAttributeNames() {
Mail mail = newMail();
mail.setAttribute(KEY, VALUE);
assertThat(mail.getAttributeNames()).containsOnly(KEY);
}
}
代码示例来源:origin: org.apache.james/james-server-mailets
public static MailProjection from(Mail mail) {
return new MailProjection(mail.getName(), mail.getRecipients(),
Iterators.toStream(mail.getAttributeNames())
.map(name -> Pair.of(name, mail.getAttribute(name)))
.collect(Guavate.toImmutableMap(Pair::getKey, Pair::getValue)));
}
代码示例来源:origin: org.apache.james/james-server-core-library
/**
* @param mail
* @param newName
* @throws MessagingException
*/
public MailImpl(Mail mail, String newName) throws MessagingException {
this(newName, mail.getSender(), mail.getRecipients(), mail.getMessage());
setRemoteHost(mail.getRemoteHost());
setRemoteAddr(mail.getRemoteAddr());
setLastUpdated(mail.getLastUpdated());
try {
if (mail instanceof MailImpl) {
setAttributesRaw((HashMap) cloneSerializableObject(((MailImpl) mail).getAttributesRaw()));
} else {
HashMap attribs = new HashMap();
for (Iterator i = mail.getAttributeNames(); i.hasNext(); ) {
String hashKey = (String) i.next();
attribs.put(hashKey,cloneSerializableObject(mail.getAttribute(hashKey)));
}
setAttributesRaw(attribs);
}
} catch (IOException e) {
// should never happen for in memory streams
setAttributesRaw(new HashMap());
} catch (ClassNotFoundException e) {
// should never happen as we just serialized it
setAttributesRaw(new HashMap());
}
}
代码示例来源:origin: org.apache.james/james-server-mailets
LOGGER.info("Mail named: " + mail.getName());
for (Iterator<String> it = mail.getAttributeNames(); it.hasNext();) {
String attributeName = it.next();
LOGGER.info("Attribute " + attributeName);
内容来源于网络,如有侵权,请联系作者删除!