String fieldname = field.getName(); ParsedField parsedField = LenientFieldParser.getParser().parse( field, DecodeMonitor.SILENT); if (fieldname.equalsIgnoreCase("From")) {
private static <F extends ParsedField> F parse(FieldParser<F> parser, String fieldName, String fieldBody) { RawField rawField = new RawField(fieldName, fieldBody); return parser.parse(rawField, DecodeMonitor.SILENT); }
public Field addField(final RawField rawfield) throws MimeException { ParsedField field = fieldParser.parse(rawfield, monitor); String name = field.getName().toLowerCase(Locale.US); if (!fields.containsKey(name)) { fields.put(name, field); } return field; }
@Override public void field(Field field) throws MimeException { ParsedField parsedField; if (field instanceof ParsedField) { parsedField = (ParsedField) field; } else { parsedField = fp.parse(field, mon); } header.addField(parsedField); } });
/** * @see org.apache.james.mime4j.parser.AbstractContentHandler#field(Field) */ @Override public final void field(Field field) throws MimeException { ParsedField parsedField; if (field instanceof ParsedField) { parsedField = (ParsedField) field; } else { parsedField = fieldParser.parse(field, monitor); } currHeader.addField(parsedField); }
/** * Parses the given byte sequence and returns an instance of the {@link ParsedField} class. * The type of the class returned depends on the field name; see {@link #parse(String)} for * a table of field names and their corresponding classes. * * @param raw the bytes to parse. * @param monitor decoding monitor used while parsing/decoding. * @return a parsed field. * @throws MimeException if the raw string cannot be split into field name and body. */ public static ParsedField parse( final ByteSequence raw, final DecodeMonitor monitor) throws MimeException { Field rawField = RawFieldParser.DEFAULT.parseField(raw); return PARSER.parse(rawField, monitor); }
/** * Parses the given byte sequence and returns an instance of the {@link ParsedField} class. * The type of the class returned depends on the field name; see {@link #parse(String)} for * a table of field names and their corresponding classes. * * @param raw the bytes to parse. * @param monitor decoding monitor used while parsing/decoding. * @return a parsed field. * @throws MimeException if the raw string cannot be split into field name and body. */ public static ParsedField parse( final ByteSequence raw, final DecodeMonitor monitor) throws MimeException { Field rawField = RawFieldParser.DEFAULT.parseField(raw); return PARSER.parse(rawField, monitor); }
private Optional<Mailbox> getAddressForHeader(Message originalMessage, String fieldName) { return Optional.ofNullable(originalMessage.getHeader() .getFields(fieldName)) .orElse(ImmutableList.of()) .stream() .map(field -> AddressListFieldLenientImpl.PARSER.parse(field, new DecodeMonitor())) .findFirst() .map(AddressListField::getAddressList) .map(AddressList::flatten) .map(MailboxList::stream) .orElse(Stream.of()) .findFirst(); }
private void addHeader(Message.Builder messageBuilder, String fieldName, String value) { FieldParser<UnstructuredField> parser = UnstructuredFieldImpl.PARSER; RawField rawField = new RawField(fieldName, value); messageBuilder.addField(parser.parse(rawField, DecodeMonitor.SILENT)); }
public ParsedField parse(final Field rawField, final DecodeMonitor monitor) { final FieldParser<? extends ParsedField> parser = getParser(rawField.getName()); return parser.parse(rawField, monitor); } }
/** * Parses the given string and returns an instance of the <code>Field</code> class. * The type of the class returned depends on the field name. * * @param rawStr the string to parse. * @param monitor a DecodeMonitor object used while parsing/decoding. * @return a <code>ParsedField</code> instance. * @throws MimeException if the raw string cannot be split into field name and body. */ public static ParsedField parse( final String rawStr, final DecodeMonitor monitor) throws MimeException { ByteSequence raw = ContentUtil.encode(rawStr); RawField rawField = RawFieldParser.DEFAULT.parseField(raw); // Do not retain the original raw representation as the field // may require folding return PARSER.parse(rawField, monitor); }
/** * Creates a new empty <code>Message</code>. */ public MessageImpl() { super(); Header header = obtainHeader(); RawField rawField = new RawField(FieldName.MIME_VERSION, "1.0"); header.addField(MimeVersionFieldLenientImpl.PARSER.parse(rawField, DecodeMonitor.SILENT)); }
return PARSER.parse(rawField, monitor);
String fieldname = field.getName(); ParsedField parsedField = LenientFieldParser.getParser().parse( field, DecodeMonitor.SILENT); if (fieldname.equalsIgnoreCase("From")) {
String fieldname = field.getName(); ParsedField parsedField = LenientFieldParser.getParser().parse( field, DecodeMonitor.SILENT); if (fieldname.equalsIgnoreCase("From")) {