KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > documan > Keywords


1 /*
2  * Keywords.java
3  *
4  * Created on 17. August 2003, 20:29
5  */

6
7 package org.contineo.documan;
8
9 import java.text.BreakIterator JavaDoc;
10 import java.util.Collection JavaDoc;
11 import java.util.Iterator JavaDoc;
12
13 import org.apache.ojb.broker.util.collections.RemovalAwareCollection;
14
15 /**
16  * This class represents keywords.
17  * @author Michael Scholz
18  * @version 1.0
19  */

20 public class Keywords {
21
22     /**
23      * @uml.property name="docId"
24      */

25     private int docId;
26
27     /**
28      * @uml.property name="keyword"
29      */

30     private String JavaDoc keyword;
31
32     
33     /** Creates a new instance of Keywords */
34     public Keywords() {
35         docId = 0;
36         keyword = "";
37     }
38
39     /**
40      *
41      * @uml.property name="docId"
42      */

43     public int getDocId() {
44         return docId;
45     }
46
47     /**
48      *
49      * @uml.property name="keyword"
50      */

51     public String JavaDoc getKeyword() {
52         return keyword;
53     }
54
55     /**
56      *
57      * @uml.property name="docId"
58      */

59     public void setDocId(int id) {
60         docId = id;
61     }
62
63     /**
64      *
65      * @uml.property name="keyword"
66      */

67     public void setKeyword(String JavaDoc word) {
68         keyword = word;
69     }
70
71     
72     public Collection JavaDoc toKeywords(String JavaDoc words) {
73         Collection JavaDoc coll = new RemovalAwareCollection();
74         BreakIterator JavaDoc boundary = BreakIterator.getWordInstance();
75         boundary.setText(words);
76         int start = boundary.first();
77         for (int end = boundary.next();end != BreakIterator.DONE;start = end, end = boundary.next()) {
78             String JavaDoc word = words.substring(start,end).toLowerCase().trim();
79             if (word.length() > 2) {
80                 Keywords key = new Keywords();
81                 key.setKeyword(word);
82                 coll.add(key);
83             }
84         }
85         return coll;
86     }
87     
88     public String JavaDoc toString(Collection JavaDoc keywords) {
89         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
90         Iterator JavaDoc iter = keywords.iterator();
91         boolean start = true;
92         while (iter.hasNext()) {
93             Keywords words = (Keywords)iter.next();
94             if (!start)
95                 sb.append(", ");
96             else
97                 start = false;
98             sb.append(words.keyword);
99         }
100         return sb.toString();
101     }
102 }
103
Popular Tags