KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > actions > area > GuestbookMessageData


1 /* Copyright 2000-2005 Anders Hovm÷ller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar.forum.actions.area;
27
28 import net.killingar.forum.internal.Message;
29
30 import java.sql.SQLException JavaDoc;
31 import java.util.HashMap JavaDoc;
32 import java.util.Map JavaDoc;
33 import java.util.regex.Matcher JavaDoc;
34 import java.util.regex.Pattern JavaDoc;
35
36 public class GuestbookMessageData extends Message
37 {
38     Map JavaDoc fields = new HashMap JavaDoc();
39     boolean guestbookEntry;
40     static final Pattern JavaDoc p = Pattern.compile("[\n\r]\\p{Print}+\\:[\n\r]");
41
42     public GuestbookMessageData(Message inMessage)
43         throws SQLException JavaDoc
44     {
45         super(inMessage);
46
47         body = "\n"+body;
48
49         Matcher JavaDoc matcher = p.matcher(body);
50
51         String JavaDoc[] values = p.split(body);
52
53         for (int i = 0; matcher.find(); i++)
54         {
55             String JavaDoc g = matcher.group();
56             fields.put(g.substring(1, g.length()-2), values[i+1]);
57         }
58
59         guestbookEntry = fields.size() != 0;
60     }
61
62     public boolean getGuestbookEntry() { return guestbookEntry; }
63     public Map JavaDoc getFields() { return fields; }
64 }
65
Popular Tags