@@ -107,27 +106,26 @@ import com.puppycrawl.tools.checkstyle.Utils;
public class AvoidEscapedUnicodeCharactersCheck
extends Check
{
- /** Regexp for Unicode chars */
- private static Pattern sUnicodeRegexp =
- Utils.getPattern("\\\\u[a-fA-F0-9]{4}");
+ /** Regular expression for Unicode chars */
+ private static Pattern sUnicodeRegexp = Pattern.compile("\\\\u[a-fA-F0-9]{4}");
- /** Regexp Unicode control characters */
- private static Pattern sUnicodeControl = Utils.getPattern("\\\\(u|U)"
+ /** Regular expression Unicode control characters */
+ private static Pattern sUnicodeControl = Pattern.compile("\\\\(u|U)"
+ "(00[0-1][0-1A-Fa-f]|00[8-9][0-9A-Fa-f]|034(f|F)|070(f|F)"
+ "|180(e|E)|200[b-fB-F]|202[b-eB-E]|206[0-4a-fA-F]"
+ "|[fF]{3}[9a-bA-B]|[fF][eE][fF]{2})");
- /** Regexp for trail comment */
- private static Pattern sCommentRegexp = Utils.getPattern(";[ ]*//+"
+ /** Regular expression for trail comment */
+ private static Pattern sCommentRegexp = Pattern.compile(";[ ]*//+"
+ "[a-zA-Z0-9 ]*|;[ ]*/[*]{1}+[a-zA-Z0-9 ]*");
- /** Regexp for all escaped chars*/
+ /** Regular expression for all escaped chars */
private static Pattern sAllEscapedChars =
- Utils.getPattern("^((\\\\u)[a-fA-F0-9]{4}"
+ Pattern.compile("^((\\\\u)[a-fA-F0-9]{4}"
+ "||\\\\b|\\\\t|\\\\n|\\\\f|\\\\r|\\\\|\\\"|\\\')+$");
- /** Regexp for non-printable unicode chars*/
- private static Pattern sNonPrintableChars = Utils.getPattern("\\\\u1680|\\\\u2028"
+ /** Regular expression for non-printable unicode chars */
+ private static Pattern sNonPrintableChars = Pattern.compile("\\\\u1680|\\\\u2028"
+ "|\\\\u2029|\\\\u205(f|F)|\\\\u3000|\\\\u2007|\\\\u2000|\\\\u200(a|A)"
+ "|\\\\u007(F|f)|\\\\u009(f|F)|\\\\u(f|F){4}|\\\\u007(F|f)|\\\\u00(a|A)(d|D)"
+ "|\\\\u0600|\\\\u061(c|C)|\\\\u06(d|D){2}|\\\\u070(f|F)|\\\\u1680|\\\\u180(e|E)"
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java
index 7d2e88db4..58e224bf2 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java
@@ -20,6 +20,7 @@ package com.puppycrawl.tools.checkstyle.checks;
import java.util.regex.Pattern;
+import com.puppycrawl.tools.checkstyle.Utils;
import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
@@ -77,12 +78,15 @@ public class TodoCommentCheck
/**
* Setter for todo comment format.
- * @param format format of todo comment.
+ * @param format
+ * format of todo comment.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public void setFormat(String format)
{
this.format = format;
- regexp = Pattern.compile(format);
+ regexp = Utils.createPattern(format);
}
@Override
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java
index a978e671b..5493d5c94 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java
@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
+
import org.apache.commons.beanutils.ConversionException;
/**
@@ -115,17 +115,12 @@ public class TrailingCommentCheck extends AbstractFormatCheck
/**
* Sets patter for legal trailing comments.
* @param format format to set.
- * @throws ConversionException unable to parse a given format.
+ * @throws ConversionException if unable to create Pattern object
*/
public void setLegalComment(final String format)
throws ConversionException
{
- try {
- legalComment = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ legalComment = Utils.createPattern(format);
}
/**
* Creates new instance of the check.
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java
index a02eb71e0..7839b607f 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java
@@ -25,7 +25,6 @@ import com.puppycrawl.tools.checkstyle.api.TokenTypes;
import com.puppycrawl.tools.checkstyle.Utils;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
import org.apache.commons.beanutils.ConversionException;
@@ -66,20 +65,13 @@ public class UncommentedMainCheck
/**
* Set the excluded classes pattern.
* @param excludedClasses a
@@ -80,7 +79,7 @@ public class LocalVariableNameCheck
private boolean allowOneCharVarInForLoop;
/** Regexp for one-char loop variables. */
- private static Pattern sSingleChar = Utils.getPattern("^[a-z]$");
+ private static Pattern sSingleChar = Pattern.compile("^[a-z]$");
/** Creates a new String value
- * @throws ConversionException unable to parse excludedClasses
+ * @throws ConversionException if unable to create Pattern object
*/
public void setExcludedClasses(String excludedClasses)
throws ConversionException
{
- try {
- this.excludedClasses = excludedClasses;
- excludedClassesPattern = Utils.getPattern(excludedClasses);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse "
- + excludedClasses,
- e);
- }
+ this.excludedClasses = excludedClasses;
+ excludedClassesPattern = Utils.createPattern(excludedClasses);
}
@Override
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyCatchBlockCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyCatchBlockCheck.java
index 3ffc68a0d..0e2be422e 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyCatchBlockCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyCatchBlockCheck.java
@@ -20,6 +20,7 @@ package com.puppycrawl.tools.checkstyle.checks.blocks;
import java.util.regex.Pattern;
+import com.puppycrawl.tools.checkstyle.Utils;
import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
@@ -153,22 +154,28 @@ public class EmptyCatchBlockCheck extends Check
/**
* Setter for exception's variable name format.
- * @param exceptionVariableName format of exception's variable name.
+ * @param exceptionVariableName
+ * format of exception's variable name.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public void setExceptionVariableName(String exceptionVariableName)
{
this.exceptionVariableName = exceptionVariableName;
- variableNameRegexp = Pattern.compile(exceptionVariableName);
+ variableNameRegexp = Utils.createPattern(exceptionVariableName);
}
/**
* Setter for comment format.
- * @param commentFormat format of comment.
+ * @param commentFormat
+ * format of comment.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public void setCommentFormat(String commentFormat)
{
this.commentFormat = commentFormat;
- commentRegexp = Pattern.compile(commentFormat);
+ commentRegexp = Utils.createPattern(commentFormat);
}
@Override
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/FallThroughCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/FallThroughCheck.java
index 2a31caf26..d6e750813 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/FallThroughCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/FallThroughCheck.java
@@ -24,7 +24,6 @@ import java.util.regex.Pattern;
import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
-import com.puppycrawl.tools.checkstyle.Utils;
/**
* Checks for fall through in switch statements
@@ -135,7 +134,7 @@ public class FallThroughCheck extends Check
public void init()
{
super.init();
- regExp = Utils.getPattern(reliefPattern);
+ regExp = Pattern.compile(reliefPattern);
}
@Override
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java
index e2df93793..f30e745c8 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java
@@ -28,7 +28,6 @@ import com.puppycrawl.tools.checkstyle.Utils;
import java.util.Set;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
import org.apache.commons.beanutils.ConversionException;
/**
@@ -466,17 +465,12 @@ public class HiddenFieldCheck
/**
* Set the ignore format to the specified regular expression.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setIgnoreFormat(String format)
throws ConversionException
{
- try {
- regexp = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ regexp = Utils.createPattern(format);
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java
index 16c6fc266..e58aaff92 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/MultipleStringLiteralsCheck.java
@@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
+
/**
* Checks for multiple occurrences of the same string literal within a
* single file.
@@ -87,15 +88,18 @@ public class MultipleStringLiteralsCheck extends Check
}
/**
- * Sets regexp pattern for ignored strings.
- * @param ignoreStringsRegexp regexp pattern for ignored strings
+ * Sets regular expression pattern for ignored strings.
+ * @param ignoreStringsRegexp
+ * regular expression pattern for ignored strings
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object
*/
public void setIgnoreStringsRegexp(String ignoreStringsRegexp)
{
if (ignoreStringsRegexp != null
&& ignoreStringsRegexp.length() > 0)
{
- pattern = Utils.getPattern(ignoreStringsRegexp);
+ pattern = Utils.createPattern(ignoreStringsRegexp);
}
else {
pattern = null;
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java
index 46adf2d9b..ba8480cc0 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/VariableDeclarationUsageDistanceCheck.java
@@ -27,6 +27,7 @@ import java.util.regex.Pattern;
import antlr.collections.ASTEnumeration;
+import com.puppycrawl.tools.checkstyle.Utils;
import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.FullIdent;
@@ -214,14 +215,15 @@ public class VariableDeclarationUsageDistanceCheck extends Check
}
/**
- * Sets RegExp pattern to ignore distance calculation for variables listed
- * in this pattern.
+ * Sets RegExp pattern to ignore distance calculation for variables listed in this pattern.
* @param ignorePattern
* Pattern contains ignored variables.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public void setIgnoreVariablePattern(String ignorePattern)
{
- this.ignoreVariablePattern = Pattern.compile(ignorePattern);
+ this.ignoreVariablePattern = Utils.createPattern(ignorePattern);
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java
index 2e25e1faa..a8ef1b658 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java
@@ -24,9 +24,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.apache.commons.beanutils.ConversionException;
import antlr.collections.AST;
@@ -350,17 +347,15 @@ public class VisibilityModifierCheck
/**
* Set the pattern for public members to ignore.
- * @param pattern pattern for public members to ignore.
+ * @param pattern
+ * pattern for public members to ignore.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object
*/
public void setPublicMemberPattern(String pattern)
{
- try {
- publicMemberPattern = Utils.getPattern(pattern);
- publicMemberFormat = pattern;
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + pattern, e);
- }
+ publicMemberPattern = Utils.createPattern(pattern);
+ publicMemberFormat = pattern;
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/RegexpHeaderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/RegexpHeaderCheck.java
index a0e38c218..3bce710c4 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/RegexpHeaderCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/RegexpHeaderCheck.java
@@ -29,7 +29,6 @@ import java.util.regex.PatternSyntaxException;
import org.apache.commons.beanutils.ConversionException;
import com.google.common.collect.Lists;
-import com.puppycrawl.tools.checkstyle.Utils;
/**
* Checks the header of the source against a header file that contains a
@@ -135,8 +134,7 @@ public class RegexpHeaderCheck extends AbstractHeaderCheck
headerRegexps.clear();
for (String line : headerLines) {
try {
- // TODO: Not sure if cache in Utils is still necessary
- headerRegexps.add(Utils.getPattern(line));
+ headerRegexps.add(Pattern.compile(line));
}
catch (final PatternSyntaxException ex) {
throw new ConversionException("line "
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java
index 9e65dff46..df245b236 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheck.java
@@ -220,13 +220,13 @@ public class CustomImportOrderCheck extends Check
private String samePackageDomainsRegExp = "";
/** RegExp for STANDARD_JAVA_PACKAGE group imports */
- private Pattern standardPackageRegExp = Utils.getPattern("java|javax");
+ private Pattern standardPackageRegExp = Pattern.compile("java|javax");
/** RegExp for THIRDPARTY_PACKAGE group imports */
- private Pattern thirdPartyPackageRegExp = Utils.getPattern(".*");
+ private Pattern thirdPartyPackageRegExp = Pattern.compile(".*");
/** RegExp for SPECIAL_IMPORTS group imports */
- private Pattern specialImportsRegExp = Utils.getPattern("^$");
+ private Pattern specialImportsRegExp = Pattern.compile("^$");
/** Force empty line separator between import groups */
private boolean separateLineBetweenGroups = true;
@@ -247,30 +247,36 @@ public class CustomImportOrderCheck extends Check
* Sets standardRegExp specified by user.
* @param regexp
* user value.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public final void setStandardPackageRegExp(String regexp)
{
- standardPackageRegExp = Utils.getPattern(regexp);
+ standardPackageRegExp = Utils.createPattern(regexp);
}
/**
* Sets thirdPartyRegExp specified by user.
* @param regexp
* user value.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public final void setThirdPartyPackageRegExp(String regexp)
{
- thirdPartyPackageRegExp = Utils.getPattern(regexp);
+ thirdPartyPackageRegExp = Utils.createPattern(regexp);
}
/**
* Sets specialImportsRegExp specified by user.
* @param regexp
* user value.
+ * @throws org.apache.commons.beanutils.ConversionException
+ * if unable to create Pattern object.
*/
public final void setSpecialImportsRegExp(String regexp)
{
- specialImportsRegExp = Utils.getPattern(regexp);
+ specialImportsRegExp = Utils.createPattern(regexp);
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java
index 0bb5c1b59..2c1c3b29c 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java
@@ -31,7 +31,6 @@ import com.puppycrawl.tools.checkstyle.checks.CheckUtils;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
import org.apache.commons.beanutils.ConversionException;
/**
@@ -121,36 +120,25 @@ public class JavadocTypeCheck
/**
* Set the author tag pattern.
* @param format a String value
- * @throws ConversionException unable to parse aFormat
+ * @throws ConversionException if unable to create Pattern object.
*/
public void setAuthorFormat(String format)
throws ConversionException
{
- try {
- authorFormat = format;
- authorFormatPattern = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ authorFormat = format;
+ authorFormatPattern = Utils.createPattern(format);
}
/**
* Set the version format pattern.
* @param format a String value
- * @throws ConversionException unable to parse aFormat
+ * @throws ConversionException if unable to create Pattern object.
*/
public void setVersionFormat(String format)
throws ConversionException
{
- try {
- versionFormat = format;
- versionFormatPattern = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
-
+ versionFormat = format;
+ versionFormatPattern = Utils.createPattern(format);
}
/**
@@ -334,7 +322,7 @@ public class JavadocTypeCheck
final ListString value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setTagFormat(String format)
throws ConversionException
{
- try {
- tagFormat = format;
- tagFormatRE = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ tagFormat = format;
+ tagFormatRE = Utils.createPattern(format);
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/LocalVariableNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/LocalVariableNameCheck.java
index 9149cbc2b..55f60880b 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/LocalVariableNameCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/LocalVariableNameCheck.java
@@ -23,7 +23,6 @@ import java.util.regex.Pattern;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.ScopeUtils;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
-import com.puppycrawl.tools.checkstyle.Utils;
/**
* LocalVariableNameCheck instance. */
public LocalVariableNameCheck()
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/DetectorOptions.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/DetectorOptions.java
index dd56e2adc..a73006ff4 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/DetectorOptions.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/DetectorOptions.java
@@ -19,7 +19,7 @@
package com.puppycrawl.tools.checkstyle.checks.regexp;
import com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter;
-import com.puppycrawl.tools.checkstyle.Utils;
+
import java.util.regex.Pattern;
/**
@@ -197,6 +197,6 @@ class DetectorOptions
{
final int options = ignoreCase ? compileFlags
| Pattern.CASE_INSENSITIVE : compileFlags;
- return Utils.getPattern(format, options);
+ return Pattern.compile(format, options);
}
}
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/sizes/LineLengthCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/sizes/LineLengthCheck.java
index 77312bf8e..301cf2292 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/sizes/LineLengthCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/sizes/LineLengthCheck.java
@@ -23,7 +23,7 @@ import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.Utils;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
+
import org.apache.commons.beanutils.ConversionException;
/**
@@ -136,16 +136,11 @@ public class LineLengthCheck extends Check
/**
* Set the ignore pattern.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setIgnorePattern(String format)
throws ConversionException
{
- try {
- ignorePattern = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ ignorePattern = Utils.createPattern(format);
}
}
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressElement.java b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressElement.java
index 5d7a96bc9..4843a8228 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressElement.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressElement.java
@@ -22,7 +22,8 @@ import com.puppycrawl.tools.checkstyle.api.AuditEvent;
import com.puppycrawl.tools.checkstyle.api.Filter;
import com.puppycrawl.tools.checkstyle.Utils;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
+
+import org.apache.commons.beanutils.ConversionException;
/**
* This filter processes {@link com.puppycrawl.tools.checkstyle.api.AuditEvent}
@@ -75,23 +76,25 @@ public class SuppressElement
* file name pattern. Must either call {@link #setColumns(String)} or
* {@link #setModuleId(String)} before using this object.
* @param files regular expression for names of filtered files.
- * @throws PatternSyntaxException if there is an error.
+ * @throws ConversionException if unable to create Pattern object.
*/
public SuppressElement(String files)
- throws PatternSyntaxException
+ throws ConversionException
{
filePattern = files;
- fileRegexp = Utils.getPattern(files);
+ fileRegexp = Pattern.compile(files);
}
/**
* Set the check class pattern.
* @param checks regular expression for filtered check classes.
+ * @throws ConversionException if unable to create Pattern object
*/
public void setChecks(final String checks)
+ throws ConversionException
{
checkPattern = checks;
- checkRegexp = Utils.getPattern(checks);
+ checkRegexp = Utils.createPattern(checks);
}
/**
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java
index da65edb60..daee393d2 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java
@@ -323,17 +323,12 @@ public class SuppressWithNearbyCommentFilter
/**
* Set the format for a comment that turns off reporting.
* @param format a String value.
- * @throws ConversionException unable to parse format.
+ * @throws ConversionException if unable to create Pattern object.
*/
public void setCommentFormat(String format)
throws ConversionException
{
- try {
- commentRegexp = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ commentRegexp = Utils.createPattern(format);
}
/** @return the FileContents for this filter. */
@@ -354,31 +349,24 @@ public class SuppressWithNearbyCommentFilter
/**
* Set the format for a check.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setCheckFormat(String format)
throws ConversionException
{
- try {
- checkRegexp = Utils.getPattern(format);
- checkFormat = format;
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ checkRegexp = Utils.createPattern(format);
+ checkFormat = format;
}
/**
* Set the format for a message.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setMessageFormat(String format)
throws ConversionException
{
- if (!Utils.isPatternValid(format)) {
- throw new ConversionException("Unable to parse format: " + format);
- }
+ Utils.createPattern(format);
messageFormat = format;
}
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java
index 6a7ffc316..06c6ef196 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java
@@ -305,33 +305,23 @@ public class SuppressionCommentFilter
/**
* Set the format for a comment that turns off reporting.
* @param format a String value.
- * @throws ConversionException unable to parse format.
+ * @throws ConversionException if unable to create Pattern object.
*/
public void setOffCommentFormat(String format)
throws ConversionException
{
- try {
- offRegexp = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ offRegexp = Utils.createPattern(format);
}
/**
* Set the format for a comment that turns on reporting.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object.
*/
public void setOnCommentFormat(String format)
throws ConversionException
{
- try {
- onRegexp = Utils.getPattern(format);
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ onRegexp = Utils.createPattern(format);
}
/** @return the FileContents for this filter. */
@@ -352,18 +342,14 @@ public class SuppressionCommentFilter
/**
* Set the format for a check.
* @param format a String value
- * @throws ConversionException unable to parse format
+ * @throws ConversionException if unable to create Pattern object
*/
public void setCheckFormat(String format)
throws ConversionException
{
- try {
- checkRegexp = Utils.getPattern(format);
- checkFormat = format;
- }
- catch (final PatternSyntaxException e) {
- throw new ConversionException("unable to parse " + format, e);
- }
+ checkRegexp = Utils.createPattern(format);
+ checkFormat = format;
+
}
/**
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/UtilsTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/UtilsTest.java
index 6e7b828e6..5ca2dd1cb 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/UtilsTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/UtilsTest.java
@@ -25,7 +25,6 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.File;
-import java.util.regex.Pattern;
import org.apache.commons.beanutils.ConversionException;
import org.junit.Test;
@@ -57,10 +56,6 @@ public class UtilsTest
assertEquals(0, Utils.lengthMinusTrailingWhitespace(" \t "));
assertEquals(3, Utils.lengthMinusTrailingWhitespace(" 23"));
assertEquals(3, Utils.lengthMinusTrailingWhitespace(" 23 \t "));
-
- final Pattern r1 = Utils.getPattern("a");
- final Pattern r2 = Utils.getPattern("a");
- assertEquals(r1, r2);
}
@Test(expected = ConversionException.class)
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/XMLLoggerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/XMLLoggerTest.java
index 38f6448ab..42405323a 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/XMLLoggerTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/XMLLoggerTest.java
@@ -216,7 +216,7 @@ public class XMLLoggerTest
assertEquals("first line.",
"",
lines[0]);
- Pattern checkstyleOpenTag = Utils.getPattern("^