001// Copyright 2005 The Apache Software Foundation
002//
003// Licensed under the Apache License, Version 2.0 (the "License");
004// you may not use this file except in compliance with the License.
005// You may obtain a copy of the License at
006//
007//     http://www.apache.org/licenses/LICENSE-2.0
008//
009// Unless required by applicable law or agreed to in writing, software
010// distributed under the License is distributed on an "AS IS" BASIS,
011// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012// See the License for the specific language governing permissions and
013// limitations under the License.
014
015package org.apache.tapestry.util;
016
017import org.apache.oro.text.regex.MatchResult;
018
019/**
020 * A "friendly" version of a regular expression match.
021 * 
022 * @author Howard Lewis Ship
023 * @since 4.0
024 */
025public class RegexpMatch
026{
027    private final MatchResult _match;
028
029    RegexpMatch(MatchResult match)
030    {
031        _match = match;
032    }
033
034    /**
035     * Returns a matching group within the input string. Group 0 is the entire input string, group 1
036     * is the content with the first expression, etc.
037     */
038
039    public String getGroup(int group)
040    {
041        return _match.group(group);
042    }
043
044    /**
045     * Returns the entire matching input.
046     */
047
048    public String getInput()
049    {
050        return _match.toString();
051    }
052    
053    public int getMatchLength()
054    {
055        return _match.length();
056    }
057}