diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java b/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java index 8d1335d99..e284d040a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.StringTokenizer; +import java.util.regex.Pattern; import org.apache.commons.beanutils.BeanUtilsBean; import org.apache.commons.beanutils.ConversionException; @@ -43,6 +44,8 @@ import org.apache.commons.beanutils.converters.IntegerConverter; import org.apache.commons.beanutils.converters.LongConverter; import org.apache.commons.beanutils.converters.ShortConverter; +import com.puppycrawl.tools.checkstyle.utils.CommonUtils; + /** * A Java Bean that implements the component lifecycle interfaces by * calling the bean's setters for all configuration attributes. @@ -96,6 +99,7 @@ public class AutomaticBean cub.register(new ShortConverter(), Short.class); cub.register(new ArrayConverter(short[].class, new ShortConverter()), short[].class); + cub.register(new PatternConverter(), Pattern.class); cub.register(new RelaxedStringArrayConverter(), String[].class); // BigDecimal, BigInteger, Class, Date, String, Time, TimeStamp @@ -241,6 +245,15 @@ public class AutomaticBean } } + /** A converter that converts strings to patterns. */ + private static class PatternConverter implements Converter { + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public Object convert(Class type, Object value) { + return CommonUtils.createPattern(value.toString()); + } + } + /** * A converter that does not care whether the array elements contain String * characters like '*' or '_'. The normal ArrayConverter class has problems 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 f57bf6d3a..9c6a84482 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TodoCommentCheck.java @@ -24,7 +24,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -76,15 +75,13 @@ public class TodoCommentCheck } /** - * Setter for 'todo' comment format. - * @param format - * format of 'todo' comment. - * @throws org.apache.commons.beanutils.ConversionException - * if unable to create Pattern object. + * Setter for 'todo' comment pattern. + * @param pattern + * pattern of 'todo' comment. */ - public void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @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 c2b0e80f5..e23d86d77 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TrailingCommentCheck.java @@ -116,20 +116,19 @@ public class TrailingCommentCheck extends AbstractCheck { /** * Sets patter for legal trailing comments. - * @param legalComment format to set. + * @param legalComment pattern to set. */ - public void setLegalComment(final String legalComment) { - this.legalComment = CommonUtils.createPattern(legalComment); + public void setLegalComment(final Pattern legalComment) { + this.legalComment = legalComment; } /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern a pattern */ - public final void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public final void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TranslationCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TranslationCheck.java index 5c41f0921..0408959fd 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/TranslationCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/TranslationCheck.java @@ -169,7 +169,7 @@ public class TranslationCheck extends AbstractFileSetCheck { private final Set filesToProcess = new HashSet<>(); /** The base name regexp pattern. */ - private Pattern baseNamePattern; + private Pattern baseName; /** * Language codes of required translations for the check (de, pt, ja, etc). @@ -181,15 +181,15 @@ public class TranslationCheck extends AbstractFileSetCheck { */ public TranslationCheck() { setFileExtensions("properties"); - baseNamePattern = CommonUtils.createPattern("^messages.*$"); + baseName = CommonUtils.createPattern("^messages.*$"); } /** * Sets the base name regexp pattern. * @param baseName base name regexp. */ - public void setBaseName(String baseName) { - baseNamePattern = CommonUtils.createPattern(baseName); + public void setBaseName(Pattern baseName) { + this.baseName = baseName; } /** @@ -250,7 +250,7 @@ public class TranslationCheck extends AbstractFileSetCheck { public void finishProcessing() { super.finishProcessing(); - final Set bundles = groupFilesIntoBundles(filesToProcess, baseNamePattern); + final Set bundles = groupFilesIntoBundles(filesToProcess, baseName); for (ResourceBundle currentBundle : bundles) { checkExistenceOfDefaultTranslation(currentBundle); checkExistenceOfRequiredTranslations(currentBundle); 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 b27ed97f2..cf84c1496 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/UncommentedMainCheck.java @@ -63,11 +63,11 @@ public class UncommentedMainCheck /** * Set the excluded classes pattern. - * @param excludedClasses a {@code String} value + * @param excludedClasses a pattern */ - public void setExcludedClasses(String excludedClasses) { - this.excludedClasses = excludedClasses; - excludedClassesPattern = CommonUtils.createPattern(excludedClasses); + public void setExcludedClasses(Pattern excludedClasses) { + this.excludedClasses = excludedClasses.pattern(); + excludedClassesPattern = excludedClasses; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/SuppressWarningsCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/SuppressWarningsCheck.java index 1338b2a3a..51a3ea1e6 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/SuppressWarningsCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/SuppressWarningsCheck.java @@ -114,13 +114,12 @@ public class SuppressWarningsCheck extends AbstractCheck { private Pattern regexp = Pattern.compile(format); /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern the new pattern */ - public final void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public final void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @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 f2e672955..06cd799b7 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 @@ -84,11 +84,8 @@ public class FallThroughCheck extends AbstractCheck { /** Do we need to check last case group. */ private boolean checkLastCaseGroup; - /** Relief pattern to allow fall through to the next case branch. */ - private String reliefPattern = "fallthru|falls? ?through"; - - /** Relief regexp. */ - private Pattern regExp; + /** Relief regexp to allow fall through to the next case branch. */ + private Pattern reliefPattern = Pattern.compile("fallthru|falls? ?through"); @Override public int[] getDefaultTokens() { @@ -111,7 +108,7 @@ public class FallThroughCheck extends AbstractCheck { * @param pattern * The regular expression pattern. */ - public void setReliefPattern(String pattern) { + public void setReliefPattern(Pattern pattern) { reliefPattern = pattern; } @@ -123,12 +120,6 @@ public class FallThroughCheck extends AbstractCheck { checkLastCaseGroup = value; } - @Override - public void init() { - super.init(); - regExp = Pattern.compile(reliefPattern); - } - @Override public void visitToken(DetailAST ast) { final DetailAST nextGroup = ast.getNextSibling(); @@ -339,7 +330,7 @@ public class FallThroughCheck extends AbstractCheck { // /+ FALLTHRU +/} // final String linePart = lines[endLineNo - 1].substring(0, endColNo); - if (matchesComment(regExp, linePart, endLineNo)) { + if (matchesComment(reliefPattern, linePart, endLineNo)) { allThroughComment = true; } else { @@ -357,7 +348,7 @@ public class FallThroughCheck extends AbstractCheck { final int startLineNo = currentCase.getLineNo(); for (int i = endLineNo - 2; i > startLineNo - 1; i--) { if (!lines[i].trim().isEmpty()) { - allThroughComment = matchesComment(regExp, lines[i], i + 1); + allThroughComment = matchesComment(reliefPattern, lines[i], i + 1); break; } } 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 6e1769249..2a1b1273f 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 @@ -30,7 +30,6 @@ import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.Scope; import com.puppycrawl.tools.checkstyle.api.TokenTypes; import com.puppycrawl.tools.checkstyle.utils.CheckUtils; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; import com.puppycrawl.tools.checkstyle.utils.ScopeUtils; /** @@ -143,7 +142,7 @@ public class HiddenFieldCheck private FieldFrame frame; /** Pattern for names of variables and parameters to ignore. */ - private Pattern regexp; + private Pattern ignoreFormat; /** Controls whether to check the parameter of a property setter method. */ private boolean ignoreSetter; @@ -356,7 +355,7 @@ public class HiddenFieldCheck * @return true is regexp is matching */ private boolean isMatchingRegexp(String name) { - return regexp != null && regexp.matcher(name).find(); + return ignoreFormat != null && ignoreFormat.matcher(name).find(); } /** @@ -511,11 +510,11 @@ public class HiddenFieldCheck } /** - * Set the ignore format to the specified regular expression. - * @param format a {@code String} value + * Set the ignore format for the specified regular expression. + * @param pattern a pattern. */ - public void setIgnoreFormat(String format) { - regexp = CommonUtils.createPattern(format); + public void setIgnoreFormat(Pattern pattern) { + ignoreFormat = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheck.java index 9825b30e1..c81267b58 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheck.java @@ -31,7 +31,6 @@ import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; import com.puppycrawl.tools.checkstyle.utils.CheckUtils; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; import com.puppycrawl.tools.checkstyle.utils.TokenUtils; /** @@ -151,13 +150,12 @@ public final class IllegalTypeCheck extends AbstractCheck { } /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern a pattern. */ - public void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } /** 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 b548c1b74..a20081b81 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 @@ -29,7 +29,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; import com.puppycrawl.tools.checkstyle.utils.TokenUtils; /** @@ -67,13 +66,13 @@ public class MultipleStringLiteralsCheck extends AbstractCheck { /** * Pattern for matching ignored strings. */ - private Pattern pattern; + private Pattern ignoreStringsRegexp; /** * Construct an instance with default values. */ public MultipleStringLiteralsCheck() { - setIgnoreStringsRegexp("^\"\"$"); + setIgnoreStringsRegexp(Pattern.compile("^\"\"$")); ignoreOccurrenceContext.set(TokenTypes.ANNOTATION); } @@ -89,15 +88,13 @@ public class MultipleStringLiteralsCheck extends AbstractCheck { * 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 final void setIgnoreStringsRegexp(String ignoreStringsRegexp) { - if (ignoreStringsRegexp == null || ignoreStringsRegexp.isEmpty()) { - pattern = null; + public final void setIgnoreStringsRegexp(Pattern ignoreStringsRegexp) { + if (ignoreStringsRegexp == null || ignoreStringsRegexp.pattern().isEmpty()) { + this.ignoreStringsRegexp = null; } else { - pattern = CommonUtils.createPattern(ignoreStringsRegexp); + this.ignoreStringsRegexp = ignoreStringsRegexp; } } @@ -132,7 +129,7 @@ public class MultipleStringLiteralsCheck extends AbstractCheck { public void visitToken(DetailAST ast) { if (!isInIgnoreOccurrenceContext(ast)) { final String currentString = ast.getText(); - if (pattern == null || !pattern.matcher(currentString).find()) { + if (ignoreStringsRegexp == null || !ignoreStringsRegexp.matcher(currentString).find()) { List hitList = stringMap.get(currentString); if (hitList == null) { hitList = new ArrayList<>(); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ReturnCountCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ReturnCountCheck.java index bfb19ae3c..a1160d473 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ReturnCountCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/ReturnCountCheck.java @@ -26,7 +26,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -101,13 +100,12 @@ public final class ReturnCountCheck extends AbstractCheck { } /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern a pattern. */ - public void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } /** 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 1a704867f..e5bdb34f7 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 @@ -32,7 +32,6 @@ import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -213,13 +212,10 @@ public class VariableDeclarationUsageDistanceCheck extends AbstractCheck { /** * 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. + * @param pattern a pattern. */ - public void setIgnoreVariablePattern(String ignorePattern) { - ignoreVariablePattern = CommonUtils.createPattern(ignorePattern); + public void setIgnoreVariablePattern(Pattern pattern) { + ignoreVariablePattern = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/MutableExceptionCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/MutableExceptionCheck.java index 9bb856297..7a4888db4 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/MutableExceptionCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/MutableExceptionCheck.java @@ -26,7 +26,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

Ensures that exceptions (classes with names conforming to some regular @@ -54,7 +53,7 @@ public final class MutableExceptionCheck extends AbstractCheck { /** Stack of checking information for classes. */ private final Deque checkingStack = new ArrayDeque<>(); /** Pattern for class name that is being extended. */ - private String extendedClassNameFormat = DEFAULT_FORMAT; + private Pattern extendedClassNameFormat = Pattern.compile(DEFAULT_FORMAT); /** Should we check current class or not. */ private boolean checking; /** The format string of the regexp. */ @@ -66,18 +65,17 @@ public final class MutableExceptionCheck extends AbstractCheck { * Sets the format of extended class name to the specified regular expression. * @param extendedClassNameFormat a {@code String} value */ - public void setExtendedClassNameFormat(String extendedClassNameFormat) { + public void setExtendedClassNameFormat(Pattern extendedClassNameFormat) { this.extendedClassNameFormat = extendedClassNameFormat; } /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern the new pattern */ - public void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @Override @@ -169,7 +167,7 @@ public final class MutableExceptionCheck extends AbstractCheck { currentNode = currentNode.getLastChild(); } final String extendedClassName = currentNode.getText(); - return extendedClassName.matches(extendedClassNameFormat); + return extendedClassNameFormat.matcher(extendedClassName).matches(); } return false; } 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 1fcc26844..8707a93c0 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 @@ -35,7 +35,6 @@ import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; import com.puppycrawl.tools.checkstyle.utils.AnnotationUtility; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; import com.puppycrawl.tools.checkstyle.utils.ScopeUtils; /** @@ -372,12 +371,10 @@ public class VisibilityModifierCheck * Set the 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) { - publicMemberPattern = CommonUtils.createPattern(pattern); - publicMemberFormat = pattern; + public void setPublicMemberPattern(Pattern pattern) { + publicMemberPattern = pattern; + publicMemberFormat = pattern.pattern(); } /** 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 7c0a3e23e..e88f33c4f 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 @@ -29,7 +29,6 @@ import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -386,33 +385,27 @@ public class CustomImportOrderCheck extends AbstractCheck { * 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 = CommonUtils.createPattern(regexp); + public final void setStandardPackageRegExp(Pattern regexp) { + standardPackageRegExp = 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 = CommonUtils.createPattern(regexp); + public final void setThirdPartyPackageRegExp(Pattern regexp) { + thirdPartyPackageRegExp = 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 = CommonUtils.createPattern(regexp); + public final void setSpecialImportsRegExp(Pattern regexp) { + specialImportsRegExp = regexp; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java index f2c3388cd..cb0eaa7a1 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java @@ -196,10 +196,10 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck { /** * Set regex for matching method names to ignore. - * @param regex regex for matching method names. + * @param pattern a pattern. */ - public void setIgnoreMethodNamesRegex(String regex) { - ignoreMethodNamesRegex = CommonUtils.createPattern(regex); + public void setIgnoreMethodNamesRegex(Pattern pattern) { + ignoreMethodNamesRegex = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java index f7bde8d48..8c7c522a7 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java @@ -94,10 +94,7 @@ public class JavadocStyleCheck private Scope excludeScope; /** Format for matching the end of a sentence. */ - private String endOfSentenceFormat = "([.?!][ \t\n\r\f<])|([.?!]$)"; - - /** Regular expression for matching the end of a sentence. */ - private Pattern endOfSentencePattern; + private Pattern endOfSentenceFormat = Pattern.compile("([.?!][ \t\n\r\f<])|([.?!]$)"); /** * Indicates if the first sentence should be checked for proper end of @@ -236,7 +233,7 @@ public class JavadocStyleCheck final String commentText = getCommentText(comment.getText()); if (!commentText.isEmpty() - && !getEndOfSentencePattern().matcher(commentText).find() + && !endOfSentenceFormat.matcher(commentText).find() && !(commentText.startsWith("{@inheritDoc}") && JavadocTagInfo.INHERIT_DOC.isValidOn(ast))) { log(comment.getStartLineNo(), MSG_NO_PERIOD); @@ -508,22 +505,10 @@ public class JavadocStyleCheck /** * Set the format for matching the end of a sentence. - * @param format format for matching the end of a sentence. + * @param pattern a pattern. */ - public void setEndOfSentenceFormat(String format) { - endOfSentenceFormat = format; - } - - /** - * Returns a regular expression for matching the end of a sentence. - * - * @return a regular expression for matching the end of a sentence. - */ - private Pattern getEndOfSentencePattern() { - if (endOfSentencePattern == null) { - endOfSentencePattern = Pattern.compile(endOfSentenceFormat); - } - return endOfSentencePattern; + public void setEndOfSentenceFormat(Pattern pattern) { + endOfSentenceFormat = pattern; } /** 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 a40b932bb..aaac2e92e 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 @@ -134,20 +134,20 @@ public class JavadocTypeCheck /** * Set the author tag pattern. - * @param format a {@code String} value + * @param pattern a pattern. */ - public void setAuthorFormat(String format) { - authorFormat = format; - authorFormatPattern = CommonUtils.createPattern(format); + public void setAuthorFormat(Pattern pattern) { + authorFormat = pattern.pattern(); + authorFormatPattern = pattern; } /** * Set the version format pattern. - * @param format a {@code String} value + * @param pattern a pattern. */ - public void setVersionFormat(String format) { - versionFormat = format; - versionFormatPattern = CommonUtils.createPattern(format); + public void setVersionFormat(Pattern pattern) { + versionFormat = pattern.pattern(); + versionFormatPattern = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java index e0de2a879..fc03b2c4f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java @@ -27,7 +27,6 @@ import com.puppycrawl.tools.checkstyle.api.FileContents; import com.puppycrawl.tools.checkstyle.api.Scope; import com.puppycrawl.tools.checkstyle.api.TextBlock; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; import com.puppycrawl.tools.checkstyle.utils.ScopeUtils; /** @@ -71,11 +70,10 @@ public class JavadocVariableCheck /** * Sets the variable names to ignore in the check. - * @param regexp regular expression to define variable names to ignore. - * @throws org.apache.commons.beanutils.ConversionException if unable to create Pattern object. + * @param pattern a pattern. */ - public void setIgnoreNamePattern(String regexp) { - ignoreNamePattern = CommonUtils.createPattern(regexp); + public void setIgnoreNamePattern(Pattern pattern) { + ignoreNamePattern = pattern; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java index c24145307..d05777c52 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java @@ -95,10 +95,10 @@ public class SummaryJavadocCheck extends AbstractJavadocCheck { /** * Sets custom value of regular expression for forbidden summary fragments. - * @param pattern user's value. + * @param pattern a pattern. */ - public void setForbiddenSummaryFragments(String pattern) { - forbiddenSummaryFragments = CommonUtils.createPattern(pattern); + public void setForbiddenSummaryFragments(Pattern pattern) { + forbiddenSummaryFragments = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java index 9eabebecd..857561c62 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java @@ -107,11 +107,11 @@ public class WriteTagCheck /** * Set the tag format. - * @param format a {@code String} value + * @param pattern a {@code String} value */ - public void setTagFormat(String format) { - tagFormat = format; - tagFormatRegExp = CommonUtils.createPattern(format); + public void setTagFormat(Pattern pattern) { + tagFormat = pattern.pattern(); + tagFormatRegExp = pattern; } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java index c83dfc86a..3863a370a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractClassNameCheck.java @@ -24,7 +24,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -85,13 +84,12 @@ public final class AbstractClassNameCheck extends AbstractCheck { } /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern the new pattern */ - public void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractNameCheck.java index 257de9d51..d7d043cf0 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbstractNameCheck.java @@ -49,7 +49,7 @@ public abstract class AbstractNameCheck * @param format format to check with */ protected AbstractNameCheck(String format) { - setFormat(format); + setFormat(CommonUtils.createPattern(format)); } /** @@ -62,13 +62,12 @@ public abstract class AbstractNameCheck protected abstract boolean mustCheckName(DetailAST ast); /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern the new pattern */ - public final void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public final void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/PackageNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/PackageNameCheck.java index 8dee0cecf..9f4bba65d 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/PackageNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/PackageNameCheck.java @@ -25,7 +25,6 @@ import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -80,13 +79,12 @@ public class PackageNameCheck private Pattern regexp = Pattern.compile(format); /** - * Set the format to the specified regular expression. - * @param format a {@code String} value - * @throws org.apache.commons.beanutils.ConversionException unable to parse format + * Set the format for the specified regular expression. + * @param pattern the new pattern */ - public final void setFormat(String format) { - this.format = format; - regexp = CommonUtils.createPattern(format); + public void setFormat(Pattern pattern) { + format = pattern.pattern(); + regexp = pattern; } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpCheck.java index f7cffad5c..4f702b3d0 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpCheck.java @@ -166,11 +166,11 @@ public class RegexpCheck extends AbstractCheck { /** * Set the format to the specified regular expression. - * @param format a {@code String} value + * @param pattern the new pattern * @throws org.apache.commons.beanutils.ConversionException unable to parse format */ - public final void setFormat(String format) { - this.format = format; + public final void setFormat(Pattern pattern) { + format = pattern.pattern(); regexp = CommonUtils.createPattern(format, Pattern.MULTILINE); } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheck.java index 2d090fcda..c0f000861 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheck.java @@ -208,22 +208,18 @@ public class RegexpOnFilenameCheck extends AbstractFileSetCheck { * Setter for folder format. * * @param folderPattern format of folder. - * @throws org.apache.commons.beanutils.ConversionException if unable to - * create Pattern object. */ - public void setFolderPattern(String folderPattern) { - this.folderPattern = CommonUtils.createPattern(folderPattern); + public void setFolderPattern(Pattern folderPattern) { + this.folderPattern = folderPattern; } /** * Setter for file name format. * * @param fileNamePattern format of file. - * @throws org.apache.commons.beanutils.ConversionException if unable to - * create Pattern object. */ - public void setFileNamePattern(String fileNamePattern) { - this.fileNamePattern = CommonUtils.createPattern(fileNamePattern); + public void setFileNamePattern(Pattern fileNamePattern) { + this.fileNamePattern = fileNamePattern; } /** 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 8f130323c..68373bd7a 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 @@ -90,14 +90,7 @@ public class LineLengthCheck extends AbstractCheck { private int max = DEFAULT_MAX_COLUMNS; /** The regexp when long lines are ignored. */ - private Pattern ignorePattern; - - /** - * Creates a new {@code LineLengthCheck} instance. - */ - public LineLengthCheck() { - setIgnorePattern("^$"); - } + private Pattern ignorePattern = Pattern.compile("^$"); @Override public int[] getDefaultTokens() { @@ -140,9 +133,9 @@ public class LineLengthCheck extends AbstractCheck { /** * Set the ignore pattern. - * @param format a {@code String} value + * @param pattern a pattern. */ - public final void setIgnorePattern(String format) { - ignorePattern = CommonUtils.createPattern(format); + public final void setIgnorePattern(Pattern pattern) { + ignorePattern = pattern; } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filefilters/BeforeExecutionExclusionFileFilter.java b/src/main/java/com/puppycrawl/tools/checkstyle/filefilters/BeforeExecutionExclusionFileFilter.java index d4158a953..7c9517f2e 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/filefilters/BeforeExecutionExclusionFileFilter.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/filefilters/BeforeExecutionExclusionFileFilter.java @@ -23,7 +23,6 @@ import java.util.regex.Pattern; import com.puppycrawl.tools.checkstyle.api.AutomaticBean; import com.puppycrawl.tools.checkstyle.api.BeforeExecutionFileFilter; -import com.puppycrawl.tools.checkstyle.utils.CommonUtils; /** *

@@ -78,11 +77,9 @@ public final class BeforeExecutionExclusionFileFilter extends AutomaticBean * Sets regular expression of the file to exclude. * * @param fileNamePattern regular expression of the excluded file. - * @throws org.apache.commons.beanutils.ConversionException if unable to - * create Pattern object. */ - public void setFileNamePattern(String fileNamePattern) { - this.fileNamePattern = CommonUtils.createPattern(fileNamePattern); + public void setFileNamePattern(Pattern fileNamePattern) { + this.fileNamePattern = fileNamePattern; } @Override 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 720c218fd..1ddd3e5b3 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressWithNearbyCommentFilter.java @@ -99,16 +99,16 @@ public class SuppressWithNearbyCommentFilter private boolean checkCPP = true; /** Parsed comment regexp that marks checkstyle suppression region. */ - private Pattern commentRegexp; + private Pattern commentFormat = Pattern.compile(DEFAULT_COMMENT_FORMAT); /** The comment pattern that triggers suppression. */ - private String checkFormat; + private String checkFormat = DEFAULT_CHECK_FORMAT; /** The message format to suppress. */ private String messageFormat; /** The influence of the suppression comment. */ - private String influenceFormat; + private String influenceFormat = DEFAULT_INFLUENCE_FORMAT; /** * References the current FileContents for this filter. @@ -119,24 +119,12 @@ public class SuppressWithNearbyCommentFilter */ private WeakReference fileContentsReference = new WeakReference<>(null); - /** - * Constructs a SuppressionCommentFilter. - * Initializes comment on, comment off, and check formats - * to defaults. - */ - public SuppressWithNearbyCommentFilter() { - setCommentFormat(DEFAULT_COMMENT_FORMAT); - checkFormat = DEFAULT_CHECK_FORMAT; - influenceFormat = DEFAULT_INFLUENCE_FORMAT; - } - /** * Set the format for a comment that turns off reporting. - * @param format a {@code String} value. - * @throws ConversionException if unable to create Pattern object. + * @param pattern a pattern. */ - public final void setCommentFormat(String format) { - commentRegexp = CommonUtils.createPattern(format); + public final void setCommentFormat(Pattern pattern) { + commentFormat = pattern; } /** @@ -273,7 +261,7 @@ public class SuppressWithNearbyCommentFilter * @param line the line number of text. */ private void tagCommentLine(String text, int line) { - final Matcher matcher = commentRegexp.matcher(text); + final Matcher matcher = commentFormat.matcher(text); if (matcher.find()) { addTag(matcher.group(0), line); } @@ -323,18 +311,18 @@ public class SuppressWithNearbyCommentFilter String format = ""; try { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.checkFormat, text, filter.commentRegexp); + filter.checkFormat, text, filter.commentFormat); tagCheckRegexp = Pattern.compile(format); if (filter.messageFormat == null) { tagMessageRegexp = null; } else { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.messageFormat, text, filter.commentRegexp); + filter.messageFormat, text, filter.commentFormat); tagMessageRegexp = Pattern.compile(format); } format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.influenceFormat, text, filter.commentRegexp); + filter.influenceFormat, text, filter.commentFormat); final int influence; try { if (CommonUtils.startsWithChar(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 fc057a798..d3bca92a0 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionCommentFilter.java @@ -67,10 +67,10 @@ public class SuppressionCommentFilter implements Filter { /** Turns checkstyle reporting off. */ - private static final String DEFAULT_OFF_FORMAT = "CHECKSTYLE\\:OFF"; + private static final String DEFAULT_OFF_FORMAT = "CHECKSTYLE:OFF"; /** Turns checkstyle reporting on. */ - private static final String DEFAULT_ON_FORMAT = "CHECKSTYLE\\:ON"; + private static final String DEFAULT_ON_FORMAT = "CHECKSTYLE:ON"; /** Control all checks. */ private static final String DEFAULT_CHECK_FORMAT = ".*"; @@ -87,13 +87,13 @@ public class SuppressionCommentFilter private boolean checkCPP = true; /** Parsed comment regexp that turns checkstyle reporting off. */ - private Pattern offRegexp; + private Pattern offCommentFormat = Pattern.compile(DEFAULT_OFF_FORMAT); /** Parsed comment regexp that turns checkstyle reporting on. */ - private Pattern onRegexp; + private Pattern onCommentFormat = Pattern.compile(DEFAULT_ON_FORMAT); /** The check format to suppress. */ - private String checkFormat; + private String checkFormat = DEFAULT_CHECK_FORMAT; /** The message format to suppress. */ private String messageFormat; @@ -107,33 +107,20 @@ public class SuppressionCommentFilter */ private WeakReference fileContentsReference = new WeakReference<>(null); - /** - * Constructs a SuppressionCommentFilter. - * Initializes comment on, comment off, and check formats - * to defaults. - */ - public SuppressionCommentFilter() { - setOnCommentFormat(DEFAULT_ON_FORMAT); - setOffCommentFormat(DEFAULT_OFF_FORMAT); - checkFormat = DEFAULT_CHECK_FORMAT; - } - /** * Set the format for a comment that turns off reporting. - * @param format a {@code String} value. - * @throws ConversionException if unable to create Pattern object. + * @param pattern a pattern. */ - public final void setOffCommentFormat(String format) { - offRegexp = CommonUtils.createPattern(format); + public final void setOffCommentFormat(Pattern pattern) { + offCommentFormat = pattern; } /** * Set the format for a comment that turns on reporting. - * @param format a {@code String} value - * @throws ConversionException if unable to create Pattern object. + * @param pattern a pattern. */ - public final void setOnCommentFormat(String format) { - onRegexp = CommonUtils.createPattern(format); + public final void setOnCommentFormat(Pattern pattern) { + onCommentFormat = pattern; } /** @@ -269,12 +256,12 @@ public class SuppressionCommentFilter * @param column the column number of text. */ private void tagCommentLine(String text, int line, int column) { - final Matcher offMatcher = offRegexp.matcher(text); + final Matcher offMatcher = offCommentFormat.matcher(text); if (offMatcher.find()) { addTag(offMatcher.group(0), line, column, false); } else { - final Matcher onMatcher = onRegexp.matcher(text); + final Matcher onMatcher = onCommentFormat.matcher(text); if (onMatcher.find()) { addTag(onMatcher.group(0), line, column, true); } @@ -340,27 +327,27 @@ public class SuppressionCommentFilter try { if (reportingOn) { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.checkFormat, text, filter.onRegexp); + filter.checkFormat, text, filter.onCommentFormat); tagCheckRegexp = Pattern.compile(format); if (filter.messageFormat == null) { tagMessageRegexp = null; } else { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.messageFormat, text, filter.onRegexp); + filter.messageFormat, text, filter.onCommentFormat); tagMessageRegexp = Pattern.compile(format); } } else { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.checkFormat, text, filter.offRegexp); + filter.checkFormat, text, filter.offCommentFormat); tagCheckRegexp = Pattern.compile(format); if (filter.messageFormat == null) { tagMessageRegexp = null; } else { format = CommonUtils.fillTemplateWithStringsByRegexp( - filter.messageFormat, text, filter.offRegexp); + filter.messageFormat, text, filter.offCommentFormat); tagMessageRegexp = Pattern.compile(format); } } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java index 1b49e9e73..69b6ba67d 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ConstantNameCheckTest.java @@ -69,8 +69,8 @@ public class ConstantNameCheckTest } catch (CheckstyleException ex) { assertEquals("cannot initialize module" - + " com.puppycrawl.tools.checkstyle.TreeWalker - Cannot set property" - + " 'format' to '\\' in module" + + " com.puppycrawl.tools.checkstyle.TreeWalker - illegal value" + + " '\\' for property 'format' of module" + " com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck", ex.getMessage()); } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheckTest.java index 9efa0066a..0a616e4c2 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/regexp/RegexpOnFilenameCheckTest.java @@ -26,6 +26,7 @@ import static org.junit.Assert.fail; import java.io.File; import java.io.IOException; +import java.util.regex.Pattern; import org.junit.Test; @@ -229,7 +230,7 @@ public class RegexpOnFilenameCheckTest extends BaseFileSetCheckTestSupport { final File file = new File(getPath("") + "\u0000" + File.separatorChar + "Test"); try { final RegexpOnFilenameCheck check = new RegexpOnFilenameCheck(); - check.setFileNamePattern("BAD"); + check.setFileNamePattern(Pattern.compile("BAD")); check.process(file, null); fail("CheckstyleException expected"); } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/filefilters/ExclusionBeforeExecutionFileFilterTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/filefilters/ExclusionBeforeExecutionFileFilterTest.java index 6c86ec521..cb1ee7b02 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/filefilters/ExclusionBeforeExecutionFileFilterTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/filefilters/ExclusionBeforeExecutionFileFilterTest.java @@ -22,6 +22,8 @@ package com.puppycrawl.tools.checkstyle.filefilters; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.util.regex.Pattern; + import org.junit.Test; import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport; @@ -73,7 +75,7 @@ public class ExclusionBeforeExecutionFileFilterTest extends BaseCheckTestSupport final BeforeExecutionExclusionFileFilter exclusionBeforeExecutionFileFilter = new BeforeExecutionExclusionFileFilter(); if (fileName != null) { - exclusionBeforeExecutionFileFilter.setFileNamePattern(fileName); + exclusionBeforeExecutionFileFilter.setFileNamePattern(Pattern.compile(fileName)); } return exclusionBeforeExecutionFileFilter; } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/filters/BeforeExecutionFileFilterSetTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/filters/BeforeExecutionFileFilterSetTest.java index b8f1ad0f5..25f9e694b 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/filters/BeforeExecutionFileFilterSetTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/filters/BeforeExecutionFileFilterSetTest.java @@ -24,6 +24,8 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.util.regex.Pattern; + import org.junit.Test; import com.puppycrawl.tools.checkstyle.api.BeforeExecutionFileFilterSet; @@ -34,7 +36,7 @@ public class BeforeExecutionFileFilterSetTest { public void testAccept() { final String fileName = "BAD"; final BeforeExecutionExclusionFileFilter filter = new BeforeExecutionExclusionFileFilter(); - filter.setFileNamePattern(fileName); + filter.setFileNamePattern(Pattern.compile(fileName)); final BeforeExecutionFileFilterSet set = new BeforeExecutionFileFilterSet(); set.addBeforeExecutionFileFilter(filter); @@ -45,7 +47,7 @@ public class BeforeExecutionFileFilterSetTest { public void testReject() { final String fileName = "Test"; final BeforeExecutionExclusionFileFilter filter = new BeforeExecutionExclusionFileFilter(); - filter.setFileNamePattern(fileName); + filter.setFileNamePattern(Pattern.compile(fileName)); final BeforeExecutionFileFilterSet set = new BeforeExecutionFileFilterSet(); set.addBeforeExecutionFileFilter(filter); diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java index 3b763e4f6..86e06a5fb 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java @@ -40,6 +40,7 @@ import java.util.NoSuchElementException; import java.util.Properties; import java.util.Set; import java.util.TreeSet; +import java.util.regex.Pattern; import javax.xml.parsers.ParserConfigurationException; @@ -602,6 +603,9 @@ public class XDocsPagesTest { result = "String Set"; } } + else if (clss == Pattern.class) { + result = "Regular Expression"; + } else if (clss != String.class) { Assert.fail("Unknown property type: " + clss.getSimpleName()); } @@ -646,6 +650,16 @@ public class XDocsPagesTest { result = "{}"; } } + else if (clss == Pattern.class) { + if (value != null) { + result = '"' + value.toString().replace("\n", "\\n").replace("\t", "\\t") + .replace("\r", "\\r").replace("\f", "\\f") + '"'; + } + + if ("\"$^\"".equals(result)) { + result += " (empty)"; + } + } if (clss != String.class && clss != String[].class && result == null) { result = "null"; diff --git a/src/xdocs/config_annotation.xml b/src/xdocs/config_annotation.xml index 36e0a54bc..8fdc887e1 100644 --- a/src/xdocs/config_annotation.xml +++ b/src/xdocs/config_annotation.xml @@ -609,10 +609,10 @@ public static final int COUNTER = 10; // violation as javadoc exists being suppressed matching this pattern will be flagged. - regexp + Regular Expression - ^$|^\s+$ + "^$|^\s+$" diff --git a/src/xdocs/config_coding.xml b/src/xdocs/config_coding.xml index 44e8f46af..45b849391 100644 --- a/src/xdocs/config_coding.xml +++ b/src/xdocs/config_coding.xml @@ -844,8 +844,8 @@ case 5: Regular expression to match the relief comment that suppresses the warning about a fall through. - regular expression - fallthru|falls? ?through + Regular Expression + "fallthru|falls? ?through" @@ -1063,8 +1063,8 @@ case 5: ignoreFormat pattern for names of variables and parameters to ignore - regular expression - (not applied) + Regular Expression + null @@ -1665,8 +1665,8 @@ class SomeClass format illegal pattern - regular expression - ^$ (empty) + Regular Expression + "$^" (empty) ignoreCase @@ -1805,8 +1805,8 @@ class SomeClass format Pattern for illegal class names. - regular expression - ^(.*[\\.])?Abstract.*$ + Regular Expression + "^(.*[.])?Abstract.*$" memberModifiers @@ -2458,8 +2458,8 @@ class MyClass { Regular expression pattern for ignored strings (with quotation marks) - regular expression - ^""$ (ignore empty strings) + Regular Expression + "^""$" ignoreOccurrenceContext @@ -3503,8 +3503,8 @@ public static class B { format method names to ignore - regular expression - ^equals$ (empty) + Regular Expression + "^equals$" tokens @@ -4103,8 +4103,8 @@ if ("something".equals(x)) ignoreVariablePattern pattern for ignoring the distance calculation - regular expression - (not applied) + Regular Expression + "" diff --git a/src/xdocs/config_design.xml b/src/xdocs/config_design.xml index 206dda966..7ccc47b18 100644 --- a/src/xdocs/config_design.xml +++ b/src/xdocs/config_design.xml @@ -572,14 +572,14 @@ public class StringUtils // not final to allow subclassing format pattern for exception class names - regular expression - ^.*Exception$|^.*Error$|^.*Throwable$ + Regular Expression + "^.*Exception$|^.*Error$|^.*Throwable$" extendedClassNameFormat pattern for extended class names - regular expression - ^.*Exception$|^.*Error$|^.*Throwable$ + Regular Expression + "^.*Exception$|^.*Error$|^.*Throwable$" @@ -922,8 +922,8 @@ public class Foo{ publicMemberPattern pattern for public members that should be ignored - regular expression - ^serialVersionUID$ + Regular Expression + "^serialVersionUID$" allowPublicFinalFields diff --git a/src/xdocs/config_filefilters.xml b/src/xdocs/config_filefilters.xml index 0ad48ee38..a20f28457 100644 --- a/src/xdocs/config_filefilters.xml +++ b/src/xdocs/config_filefilters.xml @@ -54,7 +54,7 @@ fileNamePattern Regular expression to match the file name against. - regular expression + Regular Expression null diff --git a/src/xdocs/config_filters.xml b/src/xdocs/config_filters.xml index d9e649d4d..06d5f864e 100644 --- a/src/xdocs/config_filters.xml +++ b/src/xdocs/config_filters.xml @@ -123,26 +123,26 @@ offCommentFormat comment pattern to trigger filter to begin suppression - regular expression - CHECKSTYLE\:OFF + Regular Expression + "CHECKSTYLE:OFF" onCommentFormat comment pattern to trigger filter to end suppression - regular expression - CHECKSTYLE\:ON + Regular Expression + "CHECKSTYLE:ON" checkFormat check pattern to suppress - regular expression - .* (all checks) + Regular Expression + ".*" messageFormat message pattern to suppress - regular expression - none + Regular Expression + null checkCPP @@ -478,13 +478,13 @@ public class UserService {