BBCode.java
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 4k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright (c) JForum Team
  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. import java.io.Serializable;
  45. /**
  46.  * Represents each bbcode.
  47.  * 
  48.  * @author Rafael Steil
  49.  * @version $Id: BBCode.java,v 1.11 2006/08/23 02:13:55 rafaelsteil Exp $
  50.  */
  51. public class BBCode implements Serializable
  52. {
  53. private String tagName = "";
  54. private String regex;
  55. private String replace;
  56. private boolean removQuotes;
  57. private boolean alwaysProcess;
  58. public BBCode() {}
  59. /**
  60.  * BBCode class constructor
  61.  * @param tagName The tag name we are going to match
  62.  * @param regex Regular expression relacted to the tag
  63.  * @param replace The replacement string
  64.  */
  65. public BBCode(String tagName, String regex, String replace)
  66. {
  67. this.tagName = tagName;
  68. this.regex = regex;
  69. this.replace = replace;
  70. }
  71. /**
  72.  * Gets the regex
  73.  * @return String witht the regex
  74.  */
  75. public String getRegex() 
  76. {
  77. return this.regex;
  78. }
  79. /**
  80.  * Gets the replacement string
  81.  * @return string with the replacement data
  82.  */
  83. public String getReplace() 
  84. {
  85. return this.replace;
  86. }
  87. /**
  88.  * Getst the tag name
  89.  * @return The tag name
  90.  */
  91. public String getTagName() 
  92. {
  93. return this.tagName;
  94. }
  95. public boolean removeQuotes()
  96. {
  97. return this.removQuotes;
  98. }
  99. /**
  100.  * Sets the regular expression associated to the tag
  101.  * @param regex Regular expression string
  102.  */
  103. public void setRegex(String regex) 
  104. {
  105. this.regex = regex;
  106. }
  107. /**
  108.  * Sets the replacement string, to be aplyied when matching the code
  109.  * @param replace The replacement string data
  110.  */
  111. public void setReplace(String replace) 
  112. {
  113. this.replace = replace;
  114. }
  115. /**
  116.  * Setst the tag name
  117.  * @param tagName The tag name
  118.  */
  119. public void setTagName(String tagName) 
  120. {
  121. this.tagName = tagName;
  122. }
  123. public void enableAlwaysProcess()
  124. {
  125. this.alwaysProcess = true;
  126. }
  127. public boolean alwaysProcess()
  128. {
  129. return this.alwaysProcess;
  130. }
  131. public void enableRemoveQuotes()
  132. {
  133. this.removQuotes = true;
  134. }
  135. }