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: MatchResultOROAdapter.java,v $ 37 * 38 * Author: Jose San Leandro Armend?riz 39 * 40 * Description: Represents the result of match in a regexp parsing process 41 * using Jakarta ORO package. 42 * 43 * Last modified by: $Author: dev $ at $Date: 2002/09/27 08:27:15 $ 44 * 45 * File version: $Revision: 1.6 $ 46 * 47 * Project version: $Name: $ 48 * ("Name" means no concrete version has been checked out) 49 * 50 * $Id: MatchResultOROAdapter.java,v 1.6 2002/09/27 08:27:15 dev Exp $ 51 * 52 */ 53 package org.acmsl.regexpplugin.jakartaoro; 54 55 /* 56 * Importing some ACM classes. 57 */ 58 import org.acmsl.version.Version; 59 import org.acmsl.version.VersionFactory; 60 61 /*** 62 * Represents the result of match in a regexp parsing process using Jakarta 63 * ORO package. 64 * @author <a href="mailto:jsanleandro@yahoo.es" 65 >Jose San Leandro Armend?riz</a> 66 * @version $Revision: 1.6 $ 67 */ 68 public class MatchResultOROAdapter 69 implements org.acmsl.regexpplugin.MatchResult 70 { 71 /*** 72 * Adapted object. 73 */ 74 private org.apache.oro.text.regex.MatchResult m__Adaptee; 75 76 /*** 77 * Constructs a MatchResultOROAdapter from given Jakarta ORO-specific 78 * instance. 79 * @param matchResult Jakarta ORO match result object to adapt. 80 */ 81 public MatchResultOROAdapter( 82 org.apache.oro.text.regex.MatchResult matchResult) 83 { 84 setAdaptee(matchResult); 85 } 86 87 /*** 88 * Sets the adaptee. 89 * @param adaptee the instance to adapt. 90 */ 91 protected void setAdaptee(org.apache.oro.text.regex.MatchResult adaptee) 92 { 93 m__Adaptee = adaptee; 94 } 95 96 /*** 97 * Retrieves the adaptee. 98 * @return the adapted instance. 99 */ 100 protected org.apache.oro.text.regex.MatchResult getAdaptee() 101 { 102 return m__Adaptee; 103 } 104 105 /*** 106 * Taken from Jakarta ORO javadoc: 107 * <i>Returns the contents of the parenthesized subgroups of a match, 108 * counting parentheses from left to right and starting from 1. Group 0 109 * always refers to the entire match. For example, if the pattern foo(\d+) 110 * is used to extract a match from the input abfoo123 , then group(0) will 111 * return foo123 and group(1) will return 123 . group(2) will return null 112 * because there is only one subgroup in the original pattern.</i> 113 * @param group The pattern subgroup to return. 114 * @return A string containing the indicated pattern subgroup. Group 0 115 * always refers to the entire match. If a group was never matched, it 116 * returns null. This is not to be confused with a group matching the null 117 * string, which will return a String of length 0. 118 */ 119 public String group(int group) 120 { 121 return 122 (getAdaptee() == null) 123 ? "" 124 : getAdaptee().group(group); 125 } 126 127 /*** 128 * Taken from Jakarta ORO 2.0.6 javadoc: 129 * <i>The number of groups contained in the result. This number 130 * includes the 0th group. In other words, the result refers to 131 * the number of parenthesized subgroups plus the entire match 132 * itself.</i>. 133 * @return such value. 134 */ 135 public int groups() 136 { 137 return 138 (getAdaptee() == null) 139 ? 0 140 : getAdaptee().groups(); 141 } 142 143 /*** 144 * Concrete version object updated everytime it's checked-in in a CVS 145 * repository. 146 */ 147 public static final Version VERSION = 148 VersionFactory.createVersion("$Revision: 1.6 $"); 149 150 /*** 151 * Retrieves the current version of this object. 152 * @return the version object with such information. 153 */ 154 public Version getVersion() 155 { 156 return VERSION; 157 } 158 159 /*** 160 * Retrieves the current version of this class. 161 * @return the object with class version information. 162 */ 163 public static Version getClassVersion() 164 { 165 return VERSION; 166 } 167 }

This page was automatically generated by Maven