1 /* 2 * Copyright 2013 smartics, Kronseder & Reiner GmbH 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package de.smartics.maven.plugin.jboss.modules.domain; 17 18 import java.util.regex.MatchResult; 19 20 /** 21 * Contains the result of a regular expression match. 22 */ 23 public interface MatchContext 24 { 25 // ********************************* Fields ********************************* 26 27 // --- constants ------------------------------------------------------------ 28 29 // ****************************** Initializer ******************************* 30 31 // ****************************** Inner Classes ***************************** 32 33 // ********************************* Methods ******************************** 34 35 // --- get&set -------------------------------------------------------------- 36 37 /** 38 * Checks if the match was successful. 39 * 40 * @return <code>true</code> if the match was successful, <code>false</code> 41 * otherwise. 42 */ 43 boolean isMatched(); 44 45 /** 46 * Returns the match result to access group information. 47 * 48 * @return the matcher to access group information. 49 */ 50 MatchResult getMatchResult(); 51 52 // --- business ------------------------------------------------------------- 53 54 /** 55 * Translates the name if it contains placeholders with the matching groups. 56 * 57 * @param input the input name that may contain placeholders. 58 * @return the translated string. It is the input string, if {@code input} 59 * does not contain any placeholders. 60 */ 61 String translateName(String input); 62 63 /** 64 * Checks if the match produced at least one group match. 65 * 66 * @return <code>true</code> if at least one group is matched, 67 * <code>false</code> otherwise. 68 */ 69 boolean hasGroupMatch(); 70 71 // --- object basics -------------------------------------------------------- 72 }