⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mimeparser.java

📁 java与模式 一书的源码
💻 JAVA
字号:
package com.javapatterns.builder.message;

import java.awt.Image;

/**
 * This is a class to parse MIME e-mail messages.
 */
class MIMEParser {
    private MIMEMessage msg;        // The message being parsed
    private MessageBuilder builder; // The builder object
    //...

    /**
     * parse a MIME message, calling the builder methods that correspond
     * to the message's header fields and body parts.
     */
    OutboundMessageIF parse(MIMEMessage msg) {
        this.msg = msg;
        builder = MessageBuilder.getInstance(getDestination());
        
        MessagePart hdr = nextHeader();
        while (hdr != null) {
            if (hdr.getName().equalsIgnoreCase("to"))
              builder.to((String)hdr.getValue());
            else if (hdr.getName().equalsIgnoreCase("from"))
              builder.from((String)hdr.getValue());
            //...
            hdr = nextHeader();
        } // while hdr
        
        MessagePart bdy = nextBodyPart();
        while (bdy != null) {
            if (bdy.getName().equals("text/plain"))
              builder.plainText((String)bdy.getValue());
            //...
            else if (bdy.getName().equals("image/jpeg"))
              builder.jpegImage((Image)bdy.getValue());
            //...
            bdy = nextHeader();
        } // while bdy

        return builder.getOutboundMsg();
    } // parse(MIMEMessage)

    private MessagePart nextHeader() {
        MessagePart mp = null;
        //...
        return mp;
    } // nextHeader()

    private MessagePart nextBodyPart() {
        MessagePart mp = null;
        //...
        return mp;
    } // nextBodyPart()

    // return the destination e-mail address for the message
    private String getDestination() {
        String dest = null;
        //...
        return dest;
    } // getDestination()

    private class MessagePart {
        private String name;
        private Object value;

        /**
         * Consructor
         */
        MessagePart(String name, Object value) {
            this.name = name;
            this.value = value;
        } // Consructor(String, String)

        String getName() { return name; }

        Object getValue() { return value; }
    } // class MessagePart
} // class MIMEParser

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -