{
    "rules": {
        "basic.AssertWithinFinallyBlock": {},
        "basic.AssignmentInConditional": {},
        "basic.BigDecimalInstantiation": {},
        "basic.BitwiseOperatorInConditional": {},
        "basic.BooleanGetBoolean": {},
        "basic.BrokenNullCheck": {},
        "basic.BrokenOddnessCheck": {},
        "basic.ClassForName": {},
        "basic.ComparisonOfTwoConstants": {},
        "basic.ComparisonWithSelf": {},
        "basic.ConstantAssertExpression": {},
        "basic.ConstantIfExpression": {},
        "basic.ConstantTernaryExpression": {},
        "basic.DeadCode": {},
        "basic.DoubleNegative": {},
        "basic.DuplicateCaseStatement": {},
        "basic.DuplicateMapKey": {},
        "basic.DuplicateSetValue": {},
        "basic.EmptyCatchBlock": {},
        "basic.EmptyClass": {},
        "basic.EmptyElseBlock": {},
        "basic.EmptyFinallyBlock": {},
        "basic.EmptyForStatement": {},
        "basic.EmptyIfStatement": {},
        "basic.EmptyInstanceInitializer": {},
        "basic.EmptyMethod": {},
        "basic.EmptyStaticInitializer": {},
        "basic.EmptySwitchStatement": {},
        "basic.EmptySynchronizedStatement": {},
        "basic.EmptyTryBlock": {},
        "basic.EmptyWhileStatement": {},
        "basic.EqualsAndHashCode": {},
        "basic.EqualsOverloaded": {},
        "basic.ExplicitGarbageCollection": {},
        "basic.ForLoopShouldBeWhileLoop": {},
        "basic.HardCodedWindowsFileSeparator": {},
        "basic.HardCodedWindowsRootDirectory": {},
        "basic.IntegerGetInteger": {},
        "basic.MultipleUnaryOperators": {},
        "basic.ParameterAssignmentInFilterClosure": {},
        "basic.RandomDoubleCoercedToZero": {},
        "basic.RemoveAllOnSelf": {},
        "basic.ReturnFromFinallyBlock": {},
        "basic.ThrowExceptionFromFinallyBlock": {},
        "braces.ElseBlockBraces": {},
        "braces.ForStatementBraces": {},
        "braces.IfStatementBraces": {},
        "braces.WhileStatementBraces": {},
        "comments.ClassJavadoc": {},
        "comments.JavadocConsecutiveEmptyLines": {},
        "comments.JavadocEmptyAuthorTag": {},
        "comments.JavadocEmptyExceptionTag": {},
        "comments.JavadocEmptyFirstLine": {},
        "comments.JavadocEmptyLastLine": {},
        "comments.JavadocEmptyParamTag": {},
        "comments.JavadocEmptyReturnTag": {},
        "comments.JavadocEmptySeeTag": {},
        "comments.JavadocEmptySinceTag": {},
        "comments.JavadocEmptyThrowsTag": {},
        "comments.JavadocEmptyVersionTag": {},
        "comments.JavadocMissingExceptionDescription": {},
        "comments.JavadocMissingParamDescription": {},
        "comments.JavadocMissingThrowsDescription": {},
        "concurrency.BusyWait": {},
        "concurrency.DoubleCheckedLocking": {},
        "concurrency.InconsistentPropertyLocking": {},
        "concurrency.InconsistentPropertySynchronization": {},
        "concurrency.NestedSynchronization": {},
        "concurrency.StaticCalendarField": {},
        "concurrency.StaticConnection": {},
        "concurrency.StaticDateFormatField": {},
        "concurrency.StaticMatcherField": {},
        "concurrency.StaticSimpleDateFormatField": {},
        "concurrency.SynchronizedMethod": {},
        "concurrency.SynchronizedOnBoxedPrimitive": {},
        "concurrency.SynchronizedOnGetClass": {},
        "concurrency.SynchronizedOnReentrantLock": {},
        "concurrency.SynchronizedOnString": {},
        "concurrency.SynchronizedOnThis": {},
        "concurrency.SynchronizedReadObjectMethod": {},
        "concurrency.SystemRunFinalizersOnExit": {},
        "concurrency.ThisReferenceEscapesConstructor": {},
        "concurrency.ThreadGroup": {},
        "concurrency.ThreadLocalNotStaticFinal": {},
        "concurrency.ThreadYield": {},
        "concurrency.UseOfNotifyMethod": {},
        "concurrency.VolatileArrayField": {},
        "concurrency.VolatileLongOrDoubleField": {},
        "concurrency.WaitOutsideOfWhileLoop": {},
        "convention.CompileStatic": {},
        "convention.ConfusingTernary": {},
        "convention.CouldBeElvis": {},
        "convention.CouldBeSwitchStatement": {},
        "convention.FieldTypeRequired": {},
        "convention.HashtableIsObsolete": {},
        "convention.IfStatementCouldBeTernary": {},
        "convention.ImplicitClosureParameter": {},
        "convention.ImplicitReturnStatement": {},
        "convention.InvertedCondition": {},
        "convention.InvertedIfElse": {},
        "convention.LongLiteralWithLowerCaseL": {},
        "convention.MethodParameterTypeRequired": {},
        "convention.MethodReturnTypeRequired": {},
        "convention.NoDef": {},
        "convention.NoDouble": {},
        "convention.NoFloat": {},
        "convention.NoJavaUtilDate": {},
        "convention.NoTabCharacter": {},
        "convention.ParameterReassignment": {},
        "convention.PublicMethodsBeforeNonPublicMethods": {},
        "convention.StaticFieldsBeforeInstanceFields": {},
        "convention.StaticMethodsBeforeInstanceMethods": {},
        "convention.TernaryCouldBeElvis": {},
        "convention.TrailingComma": {},
        "convention.VariableTypeRequired": {},
        "convention.VectorIsObsolete": {},
        "design.AbstractClassWithPublicConstructor": {},
        "design.AbstractClassWithoutAbstractMethod": {},
        "design.AssignmentToStaticFieldFromInstanceMethod": {},
        "design.BooleanMethodReturnsNull": {},
        "design.BuilderMethodWithSideEffects": {},
        "design.CloneableWithoutClone": {},
        "design.CloseWithoutCloseable": {},
        "design.CompareToWithoutComparable": {},
        "design.ConstantsOnlyInterface": {},
        "design.EmptyMethodInAbstractClass": {},
        "design.FinalClassWithProtectedMember": {},
        "design.ImplementationAsType": {},
        "design.Instanceof": {},
        "design.LocaleSetDefault": {},
        "design.NestedForLoop": {},
        "design.OptionalCollectionReturnType": {},
        "design.OptionalField": {},
        "design.OptionalMethodParameter": {},
        "design.PrivateFieldCouldBeFinal": {},
        "design.PublicInstanceField": {},
        "design.ReturnsNullInsteadOfEmptyArray": {},
        "design.ReturnsNullInsteadOfEmptyCollection": {},
        "design.SimpleDateFormatMissingLocale": {},
        "design.StatelessSingleton": {},
        "design.ToStringReturnsNull": {},
        "dry.DuplicateListLiteral": {},
        "dry.DuplicateMapLiteral": {},
        "dry.DuplicateNumberLiteral": {},
        "dry.DuplicateStringLiteral": {},
        "enhanced.CloneWithoutCloneable": {},
        "enhanced.JUnitAssertEqualsConstantActualValue": {},
        "enhanced.MissingOverrideAnnotation": {},
        "enhanced.UnsafeImplementationAsMap": {},
        "exceptions.CatchArrayIndexOutOfBoundsException": {},
        "exceptions.CatchError": {},
        "exceptions.CatchException": {},
        "exceptions.CatchIllegalMonitorStateException": {},
        "exceptions.CatchIndexOutOfBoundsException": {},
        "exceptions.CatchNullPointerException": {},
        "exceptions.CatchRuntimeException": {},
        "exceptions.CatchThrowable": {},
        "exceptions.ConfusingClassNamedException": {},
        "exceptions.ExceptionExtendsError": {},
        "exceptions.ExceptionExtendsThrowable": {},
        "exceptions.ExceptionNotThrown": {},
        "exceptions.MissingNewInThrowStatement": {},
        "exceptions.ReturnNullFromCatchBlock": {},
        "exceptions.SwallowThreadDeath": {},
        "exceptions.ThrowError": {},
        "exceptions.ThrowException": {},
        "exceptions.ThrowNullPointerException": {},
        "exceptions.ThrowRuntimeException": {},
        "exceptions.ThrowThrowable": {},
        "formatting.BlankLineBeforePackage": {},
        "formatting.BlockEndsWithBlankLine": {},
        "formatting.BlockStartsWithBlankLine": {},
        "formatting.BracesForClass": {},
        "formatting.BracesForForLoop": {},
        "formatting.BracesForIfElse": {},
        "formatting.BracesForMethod": {},
        "formatting.BracesForTryCatchFinally": {},
        "formatting.ClassEndsWithBlankLine": {},
        "formatting.ClassStartsWithBlankLine": {},
        "formatting.ClosureStatementOnOpeningLineOfMultipleLineClosure": {},
        "formatting.ConsecutiveBlankLines": {},
        "formatting.FileEndsWithoutNewline": {},
        "formatting.Indentation": {},
        "formatting.LineLength": {},
        "formatting.MissingBlankLineAfterImports": {},
        "formatting.MissingBlankLineAfterPackage": {},
        "formatting.MissingBlankLineBeforeAnnotatedField": {},
        "formatting.SpaceAfterCatch": {},
        "formatting.SpaceAfterClosingBrace": {},
        "formatting.SpaceAfterComma": {},
        "formatting.SpaceAfterFor": {},
        "formatting.SpaceAfterIf": {},
        "formatting.SpaceAfterMethodCallName": {},
        "formatting.SpaceAfterMethodDeclarationName": {},
        "formatting.SpaceAfterNotOperator": {},
        "formatting.SpaceAfterOpeningBrace": {},
        "formatting.SpaceAfterSemicolon": {},
        "formatting.SpaceAfterSwitch": {},
        "formatting.SpaceAfterWhile": {},
        "formatting.SpaceAroundClosureArrow": {},
        "formatting.SpaceAroundMapEntryColon": {},
        "formatting.SpaceAroundOperator": {},
        "formatting.SpaceBeforeClosingBrace": {},
        "formatting.SpaceBeforeOpeningBrace": {},
        "formatting.SpaceInsideParentheses": {},
        "formatting.TrailingWhitespace": {},
        "generic.IllegalClassMember": {},
        "generic.IllegalClassReference": {},
        "generic.IllegalPackageReference": {},
        "generic.IllegalRegex": {},
        "generic.IllegalString": {},
        "generic.IllegalSubclass": {},
        "generic.RequiredRegex": {},
        "generic.RequiredString": {},
        "generic.StatelessClass": {},
        "grails.GrailsDomainGormMethods": {},
        "grails.GrailsDomainHasEquals": {},
        "grails.GrailsDomainHasToString": {},
        "grails.GrailsDomainReservedSqlKeywordName": {},
        "grails.GrailsDomainStringPropertyMaxSize": {},
        "grails.GrailsDomainWithServiceReference": {},
        "grails.GrailsDuplicateConstraint": {},
        "grails.GrailsDuplicateMapping": {},
        "grails.GrailsMassAssignment": {},
        "grails.GrailsPublicControllerMethod": {},
        "grails.GrailsServletContextReference": {},
        "grails.GrailsStatelessService": {},
        "groovyism.AssignCollectionSort": {},
        "groovyism.AssignCollectionUnique": {},
        "groovyism.ClosureAsLastMethodParameter": {},
        "groovyism.CollectAllIsDeprecated": {},
        "groovyism.ConfusingMultipleReturns": {},
        "groovyism.ExplicitArrayListInstantiation": {},
        "groovyism.ExplicitCallToAndMethod": {},
        "groovyism.ExplicitCallToCompareToMethod": {},
        "groovyism.ExplicitCallToDivMethod": {},
        "groovyism.ExplicitCallToEqualsMethod": {},
        "groovyism.ExplicitCallToGetAtMethod": {},
        "groovyism.ExplicitCallToLeftShiftMethod": {},
        "groovyism.ExplicitCallToMinusMethod": {},
        "groovyism.ExplicitCallToModMethod": {},
        "groovyism.ExplicitCallToMultiplyMethod": {},
        "groovyism.ExplicitCallToOrMethod": {},
        "groovyism.ExplicitCallToPlusMethod": {},
        "groovyism.ExplicitCallToPowerMethod": {},
        "groovyism.ExplicitCallToPutAtMethod": {},
        "groovyism.ExplicitCallToRightShiftMethod": {},
        "groovyism.ExplicitCallToXorMethod": {},
        "groovyism.ExplicitHashMapInstantiation": {},
        "groovyism.ExplicitHashSetInstantiation": {},
        "groovyism.ExplicitLinkedHashMapInstantiation": {},
        "groovyism.ExplicitLinkedListInstantiation": {},
        "groovyism.ExplicitStackInstantiation": {},
        "groovyism.ExplicitTreeSetInstantiation": {},
        "groovyism.GStringAsMapKey": {},
        "groovyism.GStringExpressionWithinString": {},
        "groovyism.GetterMethodCouldBeProperty": {},
        "groovyism.GroovyLangImmutable": {},
        "groovyism.UseCollectMany": {},
        "groovyism.UseCollectNested": {},
        "imports.DuplicateImport": {},
        "imports.ImportFromSamePackage": {},
        "imports.ImportFromSunPackages": {},
        "imports.MisorderedStaticImports": {},
        "imports.NoWildcardImports": {},
        "imports.UnnecessaryGroovyImport": {},
        "imports.UnusedImport": {},
        "jdbc.DirectConnectionManagement": {},
        "jdbc.JdbcConnectionReference": {},
        "jdbc.JdbcResultSetReference": {},
        "jdbc.JdbcStatementReference": {},
        "junit.ChainedTest": {},
        "junit.CoupledTestCase": {},
        "junit.JUnitAssertAlwaysFails": {},
        "junit.JUnitAssertAlwaysSucceeds": {},
        "junit.JUnitFailWithoutMessage": {},
        "junit.JUnitLostTest": {},
        "junit.JUnitPublicField": {},
        "junit.JUnitPublicNonTestMethod": {},
        "junit.JUnitPublicProperty": {},
        "junit.JUnitSetUpCallsSuper": {},
        "junit.JUnitStyleAssertions": {},
        "junit.JUnitTearDownCallsSuper": {},
        "junit.JUnitTestMethodWithoutAssert": {},
        "junit.JUnitUnnecessarySetUp": {},
        "junit.JUnitUnnecessaryTearDown": {},
        "junit.JUnitUnnecessaryThrowsException": {},
        "junit.SpockIgnoreRestUsed": {},
        "junit.UnnecessaryFail": {},
        "junit.UseAssertEqualsInsteadOfAssertTrue": {},
        "junit.UseAssertFalseInsteadOfNegation": {},
        "junit.UseAssertNullInsteadOfAssertEquals": {},
        "junit.UseAssertSameInsteadOfAssertTrue": {},
        "junit.UseAssertTrueInsteadOfAssertEquals": {},
        "junit.UseAssertTrueInsteadOfNegation": {},
        "logging.LoggerForDifferentClass": {},
        "logging.LoggerWithWrongModifiers": {},
        "logging.LoggingSwallowsStacktrace": {},
        "logging.MultipleLoggers": {},
        "logging.PrintStackTrace": {},
        "logging.Println": {},
        "logging.SystemErrPrint": {},
        "logging.SystemOutPrint": {},
        "naming.AbstractClassName": {},
        "naming.ClassName": {},
        "naming.ClassNameSameAsFilename": {},
        "naming.ClassNameSameAsSuperclass": {},
        "naming.ConfusingMethodName": {},
        "naming.FactoryMethodName": {},
        "naming.FieldName": {},
        "naming.InterfaceName": {},
        "naming.InterfaceNameSameAsSuperInterface": {},
        "naming.MethodName": {},
        "naming.ObjectOverrideMisspelledMethodName": {},
        "naming.PackageName": {},
        "naming.PackageNameMatchesFilePath": {},
        "naming.ParameterName": {},
        "naming.PropertyName": {},
        "naming.VariableName": {},
        "security.FileCreateTempFile": {},
        "security.InsecureRandom": {},
        "security.JavaIoPackageAccess": {},
        "security.NonFinalPublicField": {},
        "security.NonFinalSubclassOfSensitiveInterface": {},
        "security.ObjectFinalize": {},
        "security.PublicFinalizeMethod": {},
        "security.SystemExit": {},
        "security.UnsafeArrayDeclaration": {},
        "serialization.EnumCustomSerializationIgnored": {},
        "serialization.SerialPersistentFields": {},
        "serialization.SerialVersionUID": {},
        "serialization.SerializableClassMustDefineSerialVersionUID": {},
        "size.ClassSize": {},
        "size.MethodCount": {},
        "size.MethodSize": {},
        "size.NestedBlockDepth": {},
        "size.ParameterCount": {},
        "unnecessary.AddEmptyString": {},
        "unnecessary.ConsecutiveLiteralAppends": {},
        "unnecessary.ConsecutiveStringConcatenation": {},
        "unnecessary.UnnecessaryBigDecimalInstantiation": {},
        "unnecessary.UnnecessaryBigIntegerInstantiation": {},
        "unnecessary.UnnecessaryBooleanExpression": {},
        "unnecessary.UnnecessaryBooleanInstantiation": {},
        "unnecessary.UnnecessaryCallForLastElement": {},
        "unnecessary.UnnecessaryCallToSubstring": {},
        "unnecessary.UnnecessaryCast": {},
        "unnecessary.UnnecessaryCatchBlock": {},
        "unnecessary.UnnecessaryCollectCall": {},
        "unnecessary.UnnecessaryCollectionCall": {},
        "unnecessary.UnnecessaryConstructor": {},
        "unnecessary.UnnecessaryDefInFieldDeclaration": {},
        "unnecessary.UnnecessaryDefInMethodDeclaration": {},
        "unnecessary.UnnecessaryDefInVariableDeclaration": {},
        "unnecessary.UnnecessaryDotClass": {},
        "unnecessary.UnnecessaryDoubleInstantiation": {},
        "unnecessary.UnnecessaryElseStatement": {},
        "unnecessary.UnnecessaryFinalOnPrivateMethod": {},
        "unnecessary.UnnecessaryFloatInstantiation": {},
        "unnecessary.UnnecessaryGString": {},
        "unnecessary.UnnecessaryGetter": {},
        "unnecessary.UnnecessaryIfStatement": {},
        "unnecessary.UnnecessaryInstanceOfCheck": {},
        "unnecessary.UnnecessaryInstantiationToGetClass": {},
        "unnecessary.UnnecessaryIntegerInstantiation": {},
        "unnecessary.UnnecessaryLongInstantiation": {},
        "unnecessary.UnnecessaryModOne": {},
        "unnecessary.UnnecessaryNullCheck": {},
        "unnecessary.UnnecessaryNullCheckBeforeInstanceOf": {},
        "unnecessary.UnnecessaryObjectReferences": {},
        "unnecessary.UnnecessaryOverridingMethod": {},
        "unnecessary.UnnecessaryPackageReference": {},
        "unnecessary.UnnecessaryParenthesesForMethodCallWithClosure": {},
        "unnecessary.UnnecessaryPublicModifier": {},
        "unnecessary.UnnecessaryReturnKeyword": {},
        "unnecessary.UnnecessarySafeNavigationOperator": {},
        "unnecessary.UnnecessarySelfAssignment": {},
        "unnecessary.UnnecessarySemicolon": {},
        "unnecessary.UnnecessarySetter": {},
        "unnecessary.UnnecessaryStringInstantiation": {},
        "unnecessary.UnnecessaryTernaryExpression": {},
        "unnecessary.UnnecessaryToString": {},
        "unnecessary.UnnecessaryTransientModifier": {},
        "unused.UnusedArray": {},
        "unused.UnusedMethodParameter": {},
        "unused.UnusedObject": {},
        "unused.UnusedPrivateField": {},
        "unused.UnusedPrivateMethod": {},
        "unused.UnusedPrivateMethodParameter": {},
        "unused.UnusedVariable": {}
    }
}