12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* *******************************************************************
- * Copyright (c) 1999-2001 Xerox Corporation,
- * 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Common Public License v1.0
- * which accompanies this distribution and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * Xerox/PARC initial implementation
- * ******************************************************************/
-
- // todo: non-distribution license?
-
- package org.aspectj.testing.compare;
-
- // currently in aspectj-external-lib/regexp
- import org.apache.regexp.RE;
-
- import java.util.Vector;
-
-
- /** Factory for our Regexp. */
- public class RegexpFactory {
- public static Regexp makeRegexp() {
- return new RegExpDelegate();
- }
- }
-
- /** Implement Regexp by delegating to org.apache.regexp.RE */
- final class RegExpDelegate implements Regexp {
- String pattern;
- RE regexp;
- public RegExpDelegate() { }
- public Vector getGroups(String arg) {
- String label = "getGroups(\"" + arg + "\") ";
- D.log(label);
- Vector result = null;
- if ((null != arg) && (matches(arg))) {
- int size = regexp.getParenCount();
- D.log(label + " size " + size);
- result = new Vector(size);
- for (int i = 0; i < size; i++) {
- Object item = regexp.getParen(i);
- result.addElement(item);
- D.log(label + i + ": " + item);
- }
- }
- return result;
- }
- public boolean matches(String arg) {
- return ((null != regexp) && regexp.match(arg));
- }
- public void setPattern(String pattern) throws Exception {
- this.pattern = pattern;
- regexp = new RE(this.pattern);
- D.log("RE: " + regexp + " pattern: /" + pattern + "/");
- }
- public String getPattern() {
- return pattern;
- }
- }
|