14fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/*
24fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  Copyright 2006 the mime4j project
34fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *
44fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  Licensed under the Apache License, Version 2.0 (the "License");
54fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  you may not use this file except in compliance with the License.
64fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  You may obtain a copy of the License at
74fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *
84fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *      http://www.apache.org/licenses/LICENSE-2.0
94fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *
104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  Unless required by applicable law or agreed to in writing, software
114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  distributed under the License is distributed on an "AS IS" BASIS,
124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  See the License for the specific language governing permissions and
144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy *  limitations under the License.
154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */
164fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypackage org.apache.james.mime4j.field;
174fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
184fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypublic class DefaultFieldParser extends DelegatingFieldParser {
194fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
204fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy    public DefaultFieldParser() {
214fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.CONTENT_TRANSFER_ENCODING, new ContentTransferEncodingField.Parser());
224fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.CONTENT_TYPE, new ContentTypeField.Parser());
234fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
244fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        final DateTimeField.Parser dateTimeParser = new DateTimeField.Parser();
254fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.DATE, dateTimeParser);
264fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_DATE, dateTimeParser);
274fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
284fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        final MailboxListField.Parser mailboxListParser = new MailboxListField.Parser();
294fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.FROM, mailboxListParser);
304fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_FROM, mailboxListParser);
314fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
324fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        final MailboxField.Parser mailboxParser = new MailboxField.Parser();
334fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.SENDER, mailboxParser);
344fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_SENDER, mailboxParser);
354fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy
364fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        final AddressListField.Parser addressListParser = new AddressListField.Parser();
374fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.TO, addressListParser);
384fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_TO, addressListParser);
394fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.CC, addressListParser);
404fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_CC, addressListParser);
414fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.BCC, addressListParser);
424fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.RESENT_BCC, addressListParser);
434fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy        setFieldParser(Field.REPLY_TO, addressListParser);
444fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy    }
454fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy}
46