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: MatchResultRegexpAdapter.java,v $
37 *
38 * Author: Jose San Leandro Armend?riz
39 *
40 * Description: Represents the result of match in a regexp parsing
41 * process using Jakarta Regexp package.
42 *
43 * Last modified by: $Author: dev $ at $Date: 2002/09/27 08:27:17 $
44 *
45 * File version: $Revision: 1.5 $
46 *
47 * Project version: $Name: $
48 * ("Name" means no concrete version has been checked out)
49 *
50 * $Id: MatchResultRegexpAdapter.java,v 1.5 2002/09/27 08:27:17 dev Exp $
51 *
52 */
53 package org.acmsl.regexpplugin.jakartaregexp;
54
55 /*
56 * Importing some project-specific classes.
57 */
58 import org.acmsl.regexpplugin.MatchResult;
59
60 /*
61 * Importing some ACM classes.
62 */
63 import org.acmsl.version.Version;
64 import org.acmsl.version.VersionFactory;
65
66 /*
67 * Importing some Jakarta Regexp classes.
68 */
69 import org.apache.regexp.RE;
70
71 /***
72 * Represents the result of match in a regexp parsing process using
73 * Jakarta Regexp package.
74 * @author <a href="mailto:jsanleandro@yahoo.es"
75 >Jose San Leandro Armend?riz</a>
76 * @version $Revision: 1.5 $
77 */
78 public class MatchResultRegexpAdapter
79 implements MatchResult
80 {
81 /***
82 * Adapted object.
83 */
84 private RE m__Adaptee;
85
86 /***
87 * Constructs a REMatchResultRegexpAdapter from given Jakarta
88 * Regexp-specific instance.
89 * @param matchResult Jakarta Regexp match result object to adapt.
90 */
91 public MatchResultRegexpAdapter(RE matchResult)
92 {
93 setAdaptee(matchResult);
94 }
95
96 /***
97 * Sets the instance to adapt.
98 * @param matchResult the adaptee.
99 */
100 protected void setAdaptee(RE matchResult)
101 {
102 m__Adaptee = matchResult;
103 }
104
105 /***
106 * Retrieves the adapted instance.
107 * @return such instance.
108 */
109 public RE getAdaptee()
110 {
111 return m__Adaptee;
112 }
113
114 /***
115 * Taken from Jakarta Regexp javadoc:
116 * <i>Gets the contents of a parenthesized subexpression after a
117 * successful match</i>.
118 * @param group Nesting level of subexpression.
119 * @return A string containing the indicated pattern subgroup.
120 */
121 public String group(int group)
122 {
123 return
124 (getAdaptee() == null)
125 ? ""
126 : getAdaptee().getParen(group);
127 }
128
129 /***
130 * Taken from Jakarta Regexp 1.2 javadoc:
131 * <i>Returns the number of parenthesized subexpressions available
132 * after a successful match.</i>.
133 * @return such value.
134 */
135 public int groups()
136 {
137 return
138 (getAdaptee() == null)
139 ? 0
140 : getAdaptee().getParenCount();
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.5 $");
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