KickJava   Java API By Example, From Geeks To Geeks.

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


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 capital letters only
25  *
26  * @author fdietz
27  *
28  */

29 public class SubjectIsAllCapitalsRule extends AbstractRule {
30
31     public SubjectIsAllCapitalsRule() {
32         super("SubjectIsAllCapitalsRule");
33     }
34
35     /**
36      * @see org.columba.mail.spam.rules.Rule#score(IMailbox,
37      * java.lang.Object)
38      */

39     public float score(IMailbox folder, Object JavaDoc uid) throws Exception JavaDoc {
40         Header header = folder.getHeaderFields(uid, new String JavaDoc[] { "Subject"});
41         String JavaDoc subject = header.get("Subject");
42         if (subject == null) return NEARLY_ZERO;
43         if (subject.length() == 0) return NEARLY_ZERO;
44
45         if (subject.equals(subject.toUpperCase())) return MAX_PROBABILITY;
46
47         return NEARLY_ZERO;
48     }
49
50 }
Popular Tags