/* * Copyright 2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ ruleset { // rulesets/basic.xml /* AssertWithinFinallyBlock AssignmentInConditional BigDecimalInstantiation BitwiseOperatorInConditional BooleanGetBoolean BrokenNullCheck BrokenOddnessCheck ClassForName ComparisonOfTwoConstants ComparisonWithSelf ConstantAssertExpression ConstantIfExpression ConstantTernaryExpression DeadCode DoubleNegative DuplicateCaseStatement DuplicateMapKey DuplicateSetValue EmptyCatchBlock EmptyClass EmptyElseBlock EmptyFinallyBlock EmptyForStatement EmptyIfStatement EmptyInstanceInitializer EmptyMethod EmptyStaticInitializer EmptySwitchStatement EmptySynchronizedStatement EmptyTryBlock EmptyWhileStatement EqualsAndHashCode EqualsOverloaded ExplicitGarbageCollection ForLoopShouldBeWhileLoop HardCodedWindowsFileSeparator HardCodedWindowsRootDirectory IntegerGetInteger RandomDoubleCoercedToZero RemoveAllOnSelf ReturnFromFinallyBlock ThrowExceptionFromFinallyBlock */ // rulesets/braces.xml ElseBlockBraces ForStatementBraces IfStatementBraces WhileStatementBraces // rulesets/concurrency.xml /* BusyWait DoubleCheckedLocking InconsistentPropertyLocking InconsistentPropertySynchronization NestedSynchronization StaticCalendarField StaticConnection StaticDateFormatField StaticMatcherField StaticSimpleDateFormatField SynchronizedMethod SynchronizedOnBoxedPrimitive SynchronizedOnGetClass SynchronizedOnReentrantLock SynchronizedOnString SynchronizedOnThis SynchronizedReadObjectMethod SystemRunFinalizersOnExit ThisReferenceEscapesConstructor ThreadGroup ThreadLocalNotStaticFinal ThreadYield UseOfNotifyMethod VolatileArrayField VolatileLongOrDoubleField WaitOutsideOfWhileLoop */ // rulesets/convention.xml /* ConfusingTernary CouldBeElvis HashtableIsObsolete IfStatementCouldBeTernary InvertedIfElse LongLiteralWithLowerCaseL ParameterReassignment TernaryCouldBeElvis VectorIsObsolete */ // rulesets/design.xml /* AbstractClassWithPublicConstructor AbstractClassWithoutAbstractMethod BooleanMethodReturnsNull BuilderMethodWithSideEffects CloneableWithoutClone CloseWithoutCloseable CompareToWithoutComparable ConstantsOnlyInterface EmptyMethodInAbstractClass FinalClassWithProtectedMember ImplementationAsType LocaleSetDefault PrivateFieldCouldBeFinal PublicInstanceField ReturnsNullInsteadOfEmptyArray ReturnsNullInsteadOfEmptyCollection SimpleDateFormatMissingLocale StatelessSingleton */ // rulesets/dry.xml /* DuplicateListLiteral DuplicateMapLiteral DuplicateNumberLiteral DuplicateStringLiteral */ // rulesets/enhanced.xml /* CloneWithoutCloneable JUnitAssertEqualsConstantActualValue UnsafeImplementationAsMap */ // rulesets/exceptions.xml /* CatchArrayIndexOutOfBoundsException CatchError CatchException CatchIllegalMonitorStateException CatchIndexOutOfBoundsException CatchNullPointerException CatchRuntimeException CatchThrowable ConfusingClassNamedException ExceptionExtendsError ExceptionNotThrown MissingNewInThrowStatement ReturnNullFromCatchBlock SwallowThreadDeath ThrowError ThrowException ThrowNullPointerException ThrowRuntimeException ThrowThrowable */ // rulesets/formatting.xml /* BracesForClass BracesForForLoop BracesForIfElse BracesForMethod BracesForTryCatchFinally ClassJavadoc ClosureStatementOnOpeningLineOfMultipleLineClosure LineLength SpaceAfterCatch SpaceAfterClosingBrace SpaceAfterComma SpaceAfterFor SpaceAfterIf SpaceAfterOpeningBrace SpaceAfterSemicolon SpaceAfterSwitch SpaceAfterWhile SpaceAroundClosureArrow SpaceAroundMapEntryColon SpaceAroundOperator SpaceBeforeClosingBrace SpaceBeforeOpeningBrace */ // rulesets/generic.xml /* IllegalClassMember IllegalClassReference IllegalPackageReference IllegalRegex IllegalString RequiredRegex RequiredString StatelessClass */ // rulesets/grails.xml /* GrailsDomainHasEquals GrailsDomainHasToString GrailsDomainReservedSqlKeywordName GrailsDomainWithServiceReference GrailsDuplicateConstraint GrailsDuplicateMapping GrailsPublicControllerMethod GrailsServletContextReference GrailsSessionReference // DEPRECATED GrailsStatelessService */ // rulesets/groovyism.xml /* AssignCollectionSort AssignCollectionUnique ClosureAsLastMethodParameter CollectAllIsDeprecated ConfusingMultipleReturns ExplicitArrayListInstantiation ExplicitCallToAndMethod ExplicitCallToCompareToMethod ExplicitCallToDivMethod ExplicitCallToEqualsMethod ExplicitCallToGetAtMethod ExplicitCallToLeftShiftMethod ExplicitCallToMinusMethod ExplicitCallToModMethod ExplicitCallToMultiplyMethod ExplicitCallToOrMethod ExplicitCallToPlusMethod ExplicitCallToPowerMethod ExplicitCallToRightShiftMethod ExplicitCallToXorMethod ExplicitHashMapInstantiation ExplicitHashSetInstantiation ExplicitLinkedHashMapInstantiation ExplicitLinkedListInstantiation ExplicitStackInstantiation ExplicitTreeSetInstantiation GStringAsMapKey GStringExpressionWithinString GetterMethodCouldBeProperty GroovyLangImmutable UseCollectMany UseCollectNested */ // rulesets/imports.xml DuplicateImport ImportFromSamePackage // ImportFromSunPackages // MisorderedStaticImports UnnecessaryGroovyImport UnusedImport // rulesets/jdbc.xml /* DirectConnectionManagement JdbcConnectionReference JdbcResultSetReference JdbcStatementReference */ // rulesets/junit.xml /* ChainedTest CoupledTestCase JUnitAssertAlwaysFails JUnitAssertAlwaysSucceeds JUnitFailWithoutMessage JUnitLostTest JUnitPublicField JUnitPublicNonTestMethod JUnitSetUpCallsSuper JUnitStyleAssertions JUnitTearDownCallsSuper JUnitTestMethodWithoutAssert JUnitUnnecessarySetUp JUnitUnnecessaryTearDown JUnitUnnecessaryThrowsException SpockIgnoreRestUsed UnnecessaryFail UseAssertEqualsInsteadOfAssertTrue UseAssertFalseInsteadOfNegation UseAssertNullInsteadOfAssertEquals UseAssertSameInsteadOfAssertTrue UseAssertTrueInsteadOfAssertEquals UseAssertTrueInsteadOfNegation */ // rulesets/logging.xml /* LoggerForDifferentClass LoggerWithWrongModifiers LoggingSwallowsStacktrace MultipleLoggers PrintStackTrace Println SystemErrPrint SystemOutPrint */ // rulesets/naming.xml AbstractClassName ClassName { regex = '^[A-Z][\\$a-zA-Z0-9]*(?