source: trunk/src/org/expeditee/greenstone/ResultDocument.java@ 313

Last change on this file since 313 was 313, checked in by ra33, 16 years ago

Added more features to the Greenstone Search

File size: 5.0 KB
Line 
1package org.expeditee.greenstone;
2
3import java.util.HashSet;
4import java.util.Set;
5import java.util.Vector;
6
7public class ResultDocument {
8 private Vector<String> authors;
9
10 private Vector<String> keywords;
11
12 private String title;
13
14 private String date;
15
16 private String booktitle;
17
18 private String pages;
19
20 private String journal;
21
22 private String volume;
23
24 private String number;
25
26 private String docabstract;
27
28 private String editor;
29
30 private String publisher;
31
32 private int frequencyReturned;
33
34 private Vector<QueryContext> queryContexts;
35
36 private Set<String> retrievedMetadata;
37
38 public ResultDocument() {
39 authors = new Vector<String>();
40 keywords = new Vector<String>();
41 title = null;
42 date = null;
43 booktitle = null;
44 pages = null;
45 journal = null;
46 volume = null;
47 number = null;
48 docabstract = null;
49 editor = null;
50 publisher = null;
51 frequencyReturned = 1;
52 queryContexts = new Vector<QueryContext>();
53 retrievedMetadata = new HashSet<String>();
54 }
55
56 public String toString() {
57 String dump = "Authors\t\t" + authors.toString() + "\n";
58 dump = dump + "Keywords\t" + keywords.toString() + "\n";
59 dump = dump + "Title\t\t" + title + "\n";
60 dump = dump + "Date\t\t" + date + "\n";
61 dump = dump + "Booktitle\t" + booktitle + "\n";
62 dump = dump + "Pages\t\t" + pages + "\n";
63 dump = dump + "Journal\t\t" + journal + "\n";
64 dump = dump + "Volume\t\t" + volume + "\n";
65 dump = dump + "Number\t\t" + number + "\n";
66 dump = dump + "Editor\t\t" + editor + "\n";
67 dump = dump + "Publisher\t" + publisher + "\n";
68 dump = dump + "Frequency\t" + frequencyReturned + "\n";
69 dump = dump + "Abstract\t" + docabstract;
70
71 for (QueryContext queryContext : queryContexts) {
72 dump = dump + queryContext.toString();
73 }
74 return dump;
75 }
76
77 public String toDelimitedString(String delimiter) {
78 String dump = "";
79 dump = dump + date + delimiter;
80 if (authors.size() > 0) {
81 dump = dump + authors.elementAt(0) + delimiter;
82 } else {
83 dump = dump + null + delimiter;
84 }
85 if (keywords.size() > 0) {
86 dump = dump + keywords.elementAt(0) + delimiter;
87 } else {
88 dump = dump + null + delimiter;
89 }
90 dump = dump + title + delimiter;
91 dump = dump + booktitle + delimiter;
92 dump = dump + journal + delimiter;
93 dump = dump + volume + delimiter;
94 dump = dump + number + delimiter;
95 dump = dump + editor + delimiter;
96 dump = dump + publisher + delimiter;
97 dump = dump + frequencyReturned;
98 return dump;
99 }
100
101 public void addAuthor(String author) {
102 this.authors.addElement(author);
103 this.retrievedMetadata.add("Creator");
104 }
105
106 public void addKeyword(String keyword) {
107 this.keywords.addElement(keyword);
108 this.retrievedMetadata.add("Keywords");
109 }
110
111 public void setTitle(String title) {
112 this.title = removeHTML(title);
113 this.retrievedMetadata.add("Title");
114 }
115
116 public void setDate(String date) {
117 this.date = new String(date);
118 this.retrievedMetadata.add("Date");
119 }
120
121 public void setBooktitle(String booktitle) {
122 this.booktitle = new String(booktitle);
123 this.retrievedMetadata.add("Booktitle");
124 }
125
126 public void setPages(String pages) {
127 this.pages = new String(pages);
128 this.retrievedMetadata.add("Pages");
129 }
130
131 public void setJournal(String journal) {
132 this.journal = new String(journal);
133 this.retrievedMetadata.add("Journal");
134 }
135
136 public void setVolume(String volume) {
137 this.volume = new String(volume);
138 this.retrievedMetadata.add("Volume");
139 }
140
141 public void setNumber(String number) {
142 this.number = new String(number);
143 this.retrievedMetadata.add("Number");
144 }
145
146 public void setAbstract(String docabstract) {
147 this.docabstract = new String(docabstract);
148 this.retrievedMetadata.add("Abstract");
149 }
150
151 public void setEditor(String editor) {
152 this.editor = new String(editor);
153 this.retrievedMetadata.add("Editor");
154 }
155
156 public void setPublisher(String publisher) {
157 this.publisher = new String(publisher);
158 this.retrievedMetadata.add("Publisher");
159 }
160
161 public void incrementFrequencyReturned() {
162 this.frequencyReturned++;
163 }
164
165 public void addQueryContext(QueryContext queryContext) {
166 this.queryContexts.addElement(queryContext);
167 }
168
169 public Vector<String> getAuthors() {
170 return authors;
171 }
172
173 public Vector<String> getKeywords() {
174 return keywords;
175 }
176
177 public String getTitle() {
178 return title;
179 }
180
181 public String getDate() {
182 return date;
183 }
184
185 public String getBooktitle() {
186 return booktitle;
187 }
188
189 public String getPages() {
190 return pages;
191 }
192
193 public String getJournal() {
194 return journal;
195 }
196
197 public String getVolume() {
198 return volume;
199 }
200
201 public String getNumber() {
202 return number;
203 }
204
205 public String getAbstract() {
206 return docabstract;
207 }
208
209 public String getEditor() {
210 return editor;
211 }
212
213 public String getPublisher() {
214 return publisher;
215 }
216
217 public int getFrequencyReturned() {
218 return frequencyReturned;
219 }
220
221 public Vector getQueryContexts() {
222 return this.queryContexts;
223 }
224
225 public boolean metadataExists(String metadataTag) {
226 return this.retrievedMetadata.contains(metadataTag);
227 }
228
229
230 protected String removeHTML(String s){
231 return s.replaceAll("&quot;", "\"");
232 }
233
234}
Note: See TracBrowser for help on using the repository browser.