KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > spam > rules > OnlyHTMLMimepartRule


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.spam.rules;
19
20 import java.util.Iterator JavaDoc;
21
22 import org.columba.mail.folder.IMailbox;
23 import org.columba.ristretto.message.MimeHeader;
24 import org.columba.ristretto.message.MimePart;
25 import org.columba.ristretto.message.MimeTree;
26 import org.columba.ristretto.message.MimeType;
27
28 /**
29  * Check if message contains only HTML mimeparts.
30  *
31  * @author fdietz
32  */

33 public class OnlyHTMLMimepartRule extends AbstractRule {
34
35     public OnlyHTMLMimepartRule() {
36         super("OnlyHTMLMimepartRule");
37
38     }
39
40     /**
41      * @see org.columba.mail.spam.rules.Rule#score(IMailbox,
42      * java.lang.Object)
43      */

44     public float score(IMailbox folder, Object JavaDoc uid) throws Exception JavaDoc {
45         MimeTree tree = folder.getMimePartTree(uid);
46
47         Iterator JavaDoc it = tree.getAllLeafs().iterator();
48         boolean onlyHTML = true;
49         while (it.hasNext()) {
50             MimePart mp = (MimePart) it.next();
51             MimeHeader header = mp.getHeader();
52             MimeType mimetype = header.getMimeType();
53
54             if ((mimetype.getType().equals("text"))
55                     && (mimetype.getSubtype().equals("html"))) {
56
57             } else {
58                 onlyHTML = false;
59             }
60         }
61
62         if (onlyHTML) return MAX_PROBABILITY;
63
64         return NEARLY_ZERO;
65     }
66
67 }
Popular Tags