KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > jforum > util > bbcode > BBCode


1 /*
2  * Copyright (c) 2003, Rafael Steil
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms,
6  * with or without modification, are permitted provided
7  * that the following conditions are met:
8  *
9  * 1) Redistributions of source code must retain the above
10  * copyright notice, this list of conditions and the
11  * following disclaimer.
12  * 2) Redistributions in binary form must reproduce the
13  * above copyright notice, this list of conditions and
14  * the following disclaimer in the documentation and/or
15  * other materials provided with the distribution.
16  * 3) Neither the name of "Rafael Steil" nor
17  * the names of its contributors may be used to endorse
18  * or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34  * IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38  *
39  * This file creation date: 02/08/2003 / 02:23:50
40  * The JForum Project
41  * http://www.jforum.net
42  */

43 package net.jforum.util.bbcode;
44
45 import java.io.Serializable JavaDoc;
46
47 /**
48  * Represents each bbcode.
49  *
50  * @author Rafael Steil
51  * @version $Id: BBCode.java,v 1.10 2005/07/26 03:05:27 rafaelsteil Exp $
52  */

53 public class BBCode implements Serializable JavaDoc
54 {
55     private String JavaDoc tagName = "";
56     private String JavaDoc regex;
57     private String JavaDoc replace;
58     private boolean removQuotes;
59     private boolean alwaysProcess;
60     
61     public BBCode() {}
62
63     /**
64      * BBCode class constructor
65      * @param tagName The tag name we are going to match
66      * @param regex Regular expression relacted to the tag
67      * @param replace The replacement string
68      */

69     public BBCode(String JavaDoc tagName, String JavaDoc regex, String JavaDoc replace)
70     {
71         this.tagName = tagName;
72         this.regex = regex;
73         this.replace = replace;
74     }
75
76     /**
77      * Gets the regex
78      * @return String witht the regex
79      */

80     public String JavaDoc getRegex()
81     {
82         return this.regex;
83     }
84
85     /**
86      * Gets the replacement string
87      * @return string with the replacement data
88      */

89     public String JavaDoc getReplace()
90     {
91         return this.replace;
92     }
93
94     /**
95      * Getst the tag name
96      * @return The tag name
97      */

98     public String JavaDoc getTagName()
99     {
100         return this.tagName;
101     }
102     
103     public boolean removeQuotes()
104     {
105         return this.removQuotes;
106     }
107
108     /**
109      * Sets the regular expression associated to the tag
110      * @param regex Regular expression string
111      */

112     public void setRegex(String JavaDoc regex)
113     {
114         this.regex = regex;
115     }
116
117     /**
118      * Sets the replacement string, to be aplyied when matching the code
119      * @param replace The replacement string data
120      */

121     public void setReplace(String JavaDoc replace)
122     {
123         this.replace = replace;
124     }
125
126     /**
127      * Setst the tag name
128      * @param tagName The tag name
129      */

130     public void setTagName(String JavaDoc tagName)
131     {
132         this.tagName = tagName;
133     }
134     
135     public void enableAlwaysProcess()
136     {
137         this.alwaysProcess = true;
138     }
139     
140     public boolean alwaysProcess()
141     {
142         return this.alwaysProcess;
143     }
144     
145     public void enableRemoveQuotes()
146     {
147         this.removQuotes = true;
148     }
149 }
150
Popular Tags