KickJava   Java API By Example, From Geeks To Geeks.

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


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 org.columba.mail.folder.IMailbox;
21 import org.columba.ristretto.message.Header;
22
23 /**
24  * Check if subject contains a "[spam]" tag.
25  *
26  * @author fdietz
27  */

28 public class SubjectContainsSpamRule extends AbstractRule {
29
30     /**
31      * @param name
32      */

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

41     public float score(IMailbox folder, Object JavaDoc uid) throws Exception JavaDoc {
42         Header header = folder.getHeaderFields(uid, new String JavaDoc[] { "Subject"});
43         String JavaDoc subject = header.get("Subject");
44         if (subject == null) return NEARLY_ZERO;
45         if (subject.length() == 0) return NEARLY_ZERO;
46
47         // convert to lower-case
48
subject = subject.toLowerCase();
49         
50         if (subject.indexOf("[spam]") != -1) return MAX_PROBABILITY;
51
52         return NEARLY_ZERO;
53     }
54
55 }
56
Popular Tags