View Javadoc
1 /* 2 Java Regular Expressions Plugin API 3 4 Copyright (C) 2002 Jose San Leandro Armend?riz 5 jsanleandro@yahoo.es 6 chousz@yahoo.com 7 8 This library is free software; you can redistribute it and/or 9 modify it under the terms of the GNU Lesser General Public 10 License as published by the Free Software Foundation; either 11 version 2.1 of the License, or (at your option) any later version. 12 13 This library is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 Lesser General Public License for more details. 17 18 You should have received a copy of the GNU Lesser General Public 19 License along with this library; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 22 Thanks to ACM S.L. for distributing this library under the LGPL license. 23 Contact info: jsr000@terra.es 24 Postal Address: c/Playa de Lagoa, 1 25 Urb. Valdecaba?as 26 Boadilla del monte 27 28660 Madrid 28 Spain 29 30 This library uses some external APIs. So far I haven't released such 31 APIs as projects themselves, but you should be able 32 to download them from the web page where you got this source code. 33 34 ****************************************************************************** 35 * 36 * Filename: $RCSfile: HelperOROAdapter.java,v $ 37 * 38 * Author: Jose San Leandro Armend?riz 39 * 40 * Description: Jakarta ORO-specific regexp helper adapter. 41 * 42 * Last modified by: $Author: chous $ at $Date: 2003/06/21 11:56:06 $ 43 * 44 * File version: $Revision: 1.1 $ 45 * 46 * Project version: $Name: $ 47 * ("Name" means no concrete version has been checked out) 48 * 49 * $Id: HelperOROAdapter.java,v 1.1 2003/06/21 11:56:06 chous Exp $ 50 * 51 */ 52 package org.acmsl.regexpplugin.jakartaoro; 53 54 /* 55 * Importing project-specific classes. 56 */ 57 import org.acmsl.regexpplugin.Helper; 58 59 /* 60 * Importing some ACMSL classes. 61 */ 62 import org.acmsl.version.Version; 63 import org.acmsl.version.VersionFactory; 64 65 /* 66 * Importing ORO classes. 67 */ 68 import org.apache.oro.text.perl.Perl5Util; 69 import org.apache.oro.text.regex.MalformedPatternException; 70 import org.apache.oro.text.regex.Perl5Compiler; 71 72 /*** 73 * Jakarta ORO-specific regexp helper adapter. 74 * @author <a href="mailto:jsanleandro@yahoo.es" 75 >Jose San Leandro Armend?riz</a> 76 * @version $Revision: 1.1 $ 77 */ 78 public class HelperOROAdapter 79 implements Helper 80 { 81 /*** 82 * Finds all occurrences of a specified pattern in given input contents, 83 * and replaces them with passed String. 84 * @param input the input text to process. 85 * @param pattern the pattern to replace. 86 * @param replacement the replacement text. 87 * @return the updated input. 88 * @throws MalformedPatternException if given regexp is malformed. 89 */ 90 public String replaceAll(String input, String pattern, String replacement) 91 throws org.acmsl.regexpplugin.MalformedPatternException 92 { 93 StringBuffer result = new StringBuffer(); 94 95 if ( (input != null) 96 && (pattern != null) 97 && (replacement != null)) 98 { 99 Perl5Util t_Perl5Util = new Perl5Util(); 100 101 StringBuffer t_sbSafePattern = new StringBuffer(); 102 103 t_Perl5Util.substitute( 104 t_sbSafePattern, 105 "s/////////////g", 106 pattern); 107 108 t_Perl5Util.substitute( 109 result, 110 "s/" + t_sbSafePattern + "/" 111 + Perl5Compiler.quotemeta(replacement) + "/g", 112 input); 113 } 114 115 if (result == null) 116 { 117 result = new StringBuffer(); 118 } 119 120 if (result.length() == 0) 121 { 122 result.append(input); 123 } 124 125 return result.toString(); 126 } 127 128 /*** 129 * Concrete version object updated everytime it's checked-in in a CVS 130 * repository. 131 */ 132 public static final Version VERSION = 133 VersionFactory.createVersion("$Revision: 1.1 $"); 134 135 /*** 136 * Retrieves the current version of this object. 137 * @return the version object with such information. 138 */ 139 public Version getVersion() 140 { 141 return VERSION; 142 } 143 144 /*** 145 * Retrieves the current version of this class. 146 * @return the object with class version information. 147 */ 148 public static Version getClassVersion() 149 { 150 return VERSION; 151 } 152 }

This page was automatically generated by Maven