1d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen/*
2d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  Copyright 2006 the mime4j project
3d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *
4d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  Licensed under the Apache License, Version 2.0 (the "License");
5d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  you may not use this file except in compliance with the License.
6d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  You may obtain a copy of the License at
7d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *
8d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *      http://www.apache.org/licenses/LICENSE-2.0
9d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *
10d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  Unless required by applicable law or agreed to in writing, software
11d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  distributed under the License is distributed on an "AS IS" BASIS,
12d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  See the License for the specific language governing permissions and
14d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen *  limitations under the License.
15d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen */
16d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chenpackage org.apache.james.mime4j.field;
17d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
18d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chenpublic class DefaultFieldParser extends DelegatingFieldParser {
19d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
20d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen    public DefaultFieldParser() {
21d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.CONTENT_TRANSFER_ENCODING, new ContentTransferEncodingField.Parser());
22d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.CONTENT_TYPE, new ContentTypeField.Parser());
23d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
24d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        final DateTimeField.Parser dateTimeParser = new DateTimeField.Parser();
25d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.DATE, dateTimeParser);
26d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_DATE, dateTimeParser);
27d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
28d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        final MailboxListField.Parser mailboxListParser = new MailboxListField.Parser();
29d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.FROM, mailboxListParser);
30d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_FROM, mailboxListParser);
31d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
32d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        final MailboxField.Parser mailboxParser = new MailboxField.Parser();
33d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.SENDER, mailboxParser);
34d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_SENDER, mailboxParser);
35d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen
36d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        final AddressListField.Parser addressListParser = new AddressListField.Parser();
37d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.TO, addressListParser);
38d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_TO, addressListParser);
39d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.CC, addressListParser);
40d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_CC, addressListParser);
41d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.BCC, addressListParser);
42d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.RESENT_BCC, addressListParser);
43d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen        setFieldParser(Field.REPLY_TO, addressListParser);
44d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen    }
45d186a38568ddec7efcba054ccc2fe8ed9b8945fcNancy Chen}
46