-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkstyle.xml
830 lines (827 loc) · 64.1 KB
/
checkstyle.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<property name="tabWidth" value="4" />
<module name="AnnotationUseStyleCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks the style of elements in annotations." />
<property name="documentationLocation" value="config_annotation.html#AnnotationUseStyle" />
</module>
<module name="ArrayTypeStyleCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks the style of array type definitions." />
<property name="documentationLocation" value="config_misc.html#ArrayTypeStyle" />
</module>
<module name="AvoidNestedBlocksCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds nested blocks (blocks that are used freely in the code)." />
<property name="documentationLocation" value="config_blocks.html#AvoidNestedBlocks" />
</module>
<module name="AvoidStarImportCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks that there are no import statements that use the * notation." />
<property name="documentationLocation" value="config_imports.html#AvoidStarImport" />
</module>
<module name="DefaultComesLastCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that the `default` is after all the cases in a `switch` statement." />
<property name="documentationLocation" value="config_coding.html#DefaultComesLast" />
</module>
<module name="JavadocStyleCheck">
<property name="category" value="Javadoc" />
<property name="checkFirstSentence" value="false" />
<property name="description" value="Validates Javadoc comments to help ensure they are well formed." />
<property name="documentationLocation" value="config_javadoc.html#JavadocStyle" />
</module>
<module name="LocalFinalVariableNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that local final variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#LocalFinalVariableName" />
<property name="format" value="^[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Local final variable ''{0}'' must match pattern ''{1}''" />
</module>
<module name="LocalVariableNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that local, non-final variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#LocalVariableName" />
<property name="format" value="^[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Local non-final variable ''{0}'' must match pattern ''{1}''" />
</module>
<module name="MemberNameCheck">
<property name="applyToPackage" value="false" />
<property name="applyToPrivate" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that instance variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#MemberName" />
<property name="format" value="^[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Protected or public non-static field ''{0}'' must match pattern ''{1}''" />
</module>
<module name="MemberNameCheck">
<property name="applyToProtected" value="false" />
<property name="applyToPublic" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that instance variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#MemberName" />
<property name="format" value="^_[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Private non-static field ''{0}'' must match pattern ''{1}''" />
</module>
<module name="MethodNameCheck">
<property name="applyToPackage" value="false" />
<property name="applyToPrivate" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that method names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#MethodName" />
<property name="format" value="^[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Protected or public method ''{0}'' must match pattern ''{1}''" />
</module>
<module name="MethodNameCheck">
<property name="applyToProtected" value="false" />
<property name="applyToPublic" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that method names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#MethodName" />
<property name="format" value="^_[a-z0-9][_a-zA-Z0-9]*$|readObject|writeObject" />
<message key="name.invalidPattern" value="Private method ''{0}'' must match pattern ''{1}''" />
</module>
<module name="MethodParamPadCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks the padding between the identifier of a method definition, constructor definition, method call, or constructor invocation; and the left parenthesis of the parameter list." />
<property name="documentationLocation" value="config_whitespace.html#MethodParamPad" />
</module>
<module name="MissingDeprecatedCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Verifies that the annotation @Deprecated and the Javadoc tag @deprecated are both present when either of them is present." />
<property name="documentationLocation" value="config_annotation.html#MissingDeprecated" />
</module>
<module name="ModifierOrderCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that the order of modifiers conforms to the suggestions in the Java Language specification, § 8.1.1, 8.3.1, 8.4.3 and 9.4." />
<property name="documentationLocation" value="config_modifier.html#ModifierOrder" />
</module>
<module name="MultipleVariableDeclarationsCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that each variable declaration is in its own statement and on its own line." />
<property name="documentationLocation" value="config_coding.html#MultipleVariableDeclarations" />
</module>
<module name="NoLineWrapCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that chosen statements are not line-wrapped." />
<property name="documentationLocation" value="config_whitespace.html#NoLineWrap" />
</module>
<module name="NoWhitespaceAfterCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that there is no whitespace after a token." />
<property name="documentationLocation" value="config_whitespace.html#NoWhitespaceAfter" />
<property name="tokens" value="ARRAY_DECLARATOR, ARRAY_INIT, BNOT, DEC, DOT, INC, INDEX_OP, LNOT, TYPECAST, UNARY_MINUS, UNARY_PLUS" />
</module>
<module name="NoWhitespaceBeforeCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that there is no whitespace before a token." />
<property name="documentationLocation" value="config_whitespace.html#NoWhitespaceBefore" />
</module>
<module name="OneStatementPerLineCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that there is only one statement per line." />
<property name="documentationLocation" value="config_coding.html#OneStatementPerLine" />
</module>
<module name="OperatorWrapCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks the policy on how to wrap lines on operators." />
<property name="documentationLocation" value="config_whitespace.html#OperatorWrap" />
<property name="option" value="eol" />
<property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, TYPE_EXTENSION_AND" />
</module>
<module name="PackageNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that package names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#PackageName" />
</module>
<module name="ParameterNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that method parameter names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#ParameterName" />
<message key="name.invalidPattern" value="Parameter ''{0}'' must match pattern ''{1}''" />
</module>
<module name="RequireThisCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks that references to instance variables and methods of the present object are explicitly of the form 'this.varName' or 'this.methodName(args)' and that those references don't rely on the default behavior when 'this.' is absent." />
<property name="documentationLocation" value="config_coding.html#RequireThis" />
</module>
<module name="StaticVariableNameCheck">
<property name="applyToPackage" value="false" />
<property name="applyToPrivate" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that static, non-final variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#StaticVariableName" />
<property name="format" value="^[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Protected or public static non-final field ''{0}'' must match pattern ''{1}''" />
</module>
<module name="StaticVariableNameCheck">
<property name="applyToProtected" value="false" />
<property name="applyToPublic" value="false" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that static, non-final variable names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#StaticVariableName" />
<property name="format" value="^_[a-z0-9][_a-zA-Z0-9]*$" />
<message key="name.invalidPattern" value="Private static non-final field ''{0}'' must match pattern ''{1}''" />
</module>
<module name="StringLiteralEqualityCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that string literals are not used with == or !=." />
<property name="documentationLocation" value="config_coding.html#StringLiteralEquality" />
</module>
<module name="TypeNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that type names conform to a specified pattern." />
<property name="documentationLocation" value="config_naming.html#TypeName" />
<property name="format" value="^[A-Z][_a-zA-Z0-9]*" />
<message key="name.invalidPattern" value="Class, interface, enum or annotation ''{0}'' must match pattern ''{1}''" />
</module>
<module name="UnnecessaryParenthesesCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks if unnecessary parentheses are used in a statement or expression." />
<property name="documentationLocation" value="config_coding.html#UnnecessaryParentheses" />
</module>
<module name="WhitespaceAfterCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that a token is followed by whitespace, with the exception that it does not check for whitespace after the semicolon of an empty for iterator." />
<property name="documentationLocation" value="config_whitespace.html#WhitespaceAfter" />
<property name="tokens" value="COMMA, SEMI" />
</module>
<module name="WhitespaceAroundCheck">
<property name="allowEmptyTypes" value="true" />
<property name="category" value="Styling" />
<property name="description" value="Checks that a token is surrounded by whitespace." />
<property name="documentationLocation" value="config_whitespace.html#WhitespaceAround" />
</module>
<!-- Custom checks -->
<module name="com.liferay.source.formatter.checkstyle.checks.AnonymousClassCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks for serialization issue when using anonymous class." />
<message key="anonymous.class.incorrect" value="Do not use anonymous class for variable ''{0}''. This causes (de)serialization issues when passed to method call ''{1}''." />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.AppendCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks instances where literal Strings are appended." />
<property name="enabled" value="false" />
<message key="end.character.invalid" value="When appending multiple literal strings, only the last literal string can end with ''{0}''" />
<message key="line.break.incorrect" value="Avoid using line break when appending multiple literal strings" />
<message key="literal.string.combine" value="Combine the literal strings ''{0}'' and ''{1}''" />
<message key="literal.string.move" value="Add the string ''{0}'' to the {1} literal string" />
<message key="plus.incorrect" value="Incorrect use of ''+'' inside StringBundler" />
<message key="start.character.invalid" value="When appending multiple literal strings, only the first literal string can start with ''{0}''" />
<message key="string.combine" value="Combine the literal string ''{0}'' with ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ArquillianCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks for correct use of `com.liferay.arquillian.extension.junit.bridge.junit.Arquillian`." />
<message key="import.invalid" value="Use import ''com.liferay.arquillian.extension.junit.bridge.junit.Arquillian'' instead of ''org.jboss.arquillian.junit.Arquillian'', see LPS-68945" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.AssertEqualsCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that additional information is provided when calling `Assert.assertEquals`." />
<message key="assert.add.information" value="Add ''{0}'' as extra parameter at the beginning of the ''Assert.assertEquals'' call to provide more information to the test. See LPS-70411." />
<message key="assert.use.boolean" value="Use ''Assert.assert{0}'' instead of ''Assert.assertEquals'' when assert boolean" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.AssignAsUsedCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds cases where an assign statement can be inlined or moved closer to where it is used." />
<message key="string.value.of.use" value="Simplify by using ''String.valueOf'' (combining the statement on line ''{0}'' and ''toString()'' on line ''{1}'')" />
<message key="to.string.add" value="Simplify by adding ''toString()'' to the chain on line ''{0}''" />
<message key="variable.inline" value="No need to assign variable ''{0}''. Pass the {1} directly as parameter on line ''{2}''." />
<message key="variable.move.after.branching.statement" value="For better performance, the variable assignment for ''{0}'' should come after the ''{1}'' statement on line ''{2}''" />
<message key="variable.move.inside.if.statement" value="For better performance, the variable assignment for ''{0}'' should be moved inside the {1}-statement on line ''{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.AttributeOrderCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that attributes in anonymous classes are ordered alphabetically." />
<message key="attribute.incorrect.order" value="Attribute ''{0}'' should come after attribute ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.CamelCaseNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks variable names for correct use of `CamelCase`." />
<message key="following.underscore.incorrect" value="''{0}'' should not be followed by ''_'' for variable ''{1}''" />
<message key="following.uppercase.incorrect" value="''{0}'' should not be followed by an uppercase character for {1} ''{2}''" />
<message key="preceding.underscore.required" value="''{0}'' should be preceded by ''_'' for variable ''{1}''" />
<message key="starting.uppercase.required" value="''{0}'' should start with an uppercase character for {1} ''{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ChainingCheck">
<property name="allowConcatChain" value="true" />
<property name="allowedClassNames" value="ActionSemantics,.*[Bb]uilder(s)?,Assertions,Awaitility,.*Consumer,CreationMenuBuilder,DSL.+FactoryUtil,EasyMock,Either,Filter,FormNavigatorEntryConfigurationRetriever,GenericUtil,InfoFieldSet,InfoForm,InfoFormValues,JSONUtil,List,MemberMatcher,Option,Optional,OSGi,Response,RestAssured,(Double|Int|Long)?Stream,.+Table,Try,Validation" />
<property name="allowedMethodNames" value="bind,builder,getKeywordsPredicate,newBuilder,put" />
<property name="allowedMockitoMethodNames" value="doAnswer,doCallRealMethod,doNothing,doReturn,doThrow,field,replace,stub,verify,verifyPrivate,when" />
<property name="allowedVariableTypeNames" value="^(?!String).+Builder(Impl)?,Column,CompletableFuture,.*Consumer,ContactsEngineClient,Dataset,Description,ExecuteActionRequest,(FormsEventDataset)?Filter,.*Function[0-9]*,HttpSecurity,InOrder,JSONArray,JSONObject,JsonPath,.*Mapper,NestedRepresentor.*,Optional,Predicate,RequestSpecification,Response,SoyContext,.+Step,(Double|Int|Long)?Stream,Try,UpdateFieldPropertyRequest,ValidatableResponse,WebTarget" />
<property name="applyToTypeCast" value="true" />
<property name="category" value="Styling" />
<property name="description" value="Checks that chaining is only applied on certain types and methods." />
<message key="chaining.allowed" value="Chaining is allowed on ''{0}''" />
<message key="chaining.avoid.method" value="Avoid chaining on method ''{0}''" />
<message key="chaining.avoid.new.instance" value="Avoid chaining on new class instantiation" />
<message key="chaining.avoid.parentheses" value="Avoid chaining on expressions with parentheses" />
<message key="chaining.avoid.type.cast" value="Avoid chaining on Type Cast" />
<message key="chaining.required" value="Chaining on ''{0}'' is preferred" />
<message key="concat.avoid.too.many" value="Avoid chaining on method 'concat'. Use StringBundler when there are more than 3 parts" />
<message key="response.unsorted" value="Method calls between ''Response.status'' and ''Response.build'' should be sorted" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.CompanyIterationCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks that `CompanyLocalService.forEachCompany` or `CompanyLocalService.forEachCompanyId` is used when iterating over companies" />
<property name="enabled" value="false" />
<message key="company.local.service.use" value="Use ''CompanyLocalService.{0}'' when iterating over ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ConcatCheck">
<property name="category" value="Performance" />
<property name="description" value="Checks for correct use of `StringBundler.concat`." />
<message key="end.character.invalid" value="When concatenating multiple literal strings, only the last literal string can end with ''{0}''" />
<message key="literal.string.combine" value="Combine the literal strings ''{0}'' and ''{1}''" />
<message key="literal.string.move" value="Add the string ''{0}'' to the {1} literal string" />
<message key="plus.incorrect" value="Do not use ''+'' inside ''StringBundler.concat''" />
<message key="start.character.invalid" value="When concatenating multiple literal strings, only the first literal string can start with ''{0}''" />
<message key="string.combine" value="Combine the literal string ''{0}'' with ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ConstantNameCheck">
<property name="camelCaseTypeNames" value="AggregateTestRule,Atomic.*,CodeCoverageAssertor,LiferayIntegrationTestRule,Log,Pattern,TestRule" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that variable names of constants follow correct naming rules." />
<property name="immutableFieldTypes" value="boolean,byte,char,double,float,int,long,short,Boolean,Byte,Character,Class,Double,Float,Int,Long,Number,Short,String" />
<message key="name.invalidConstantPattern" value="{0} constant ''{1}'' must match pattern ''{2}''" />
<message key="name.invalidConstantTypePattern" value="{0} constant ''{1}'' of type ''{2}'' must match pattern ''{3}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ConstructorGlobalVariableDeclarationCheck">
<property name="category" value="Performance" />
<property name="description" value="Checks that initial values of global variables are not set in the constructor." />
<property name="enabled" value="false" />
<message key="global.variable.value.declare" value="Set the value of ''{0}'' when declaring the variable on line ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ConstructorMissingEmptyLineCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks for line breaks when assiging variables in constructor." />
<message key="empty.line.missing" value="There should be an empty line before line ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ConsumerTypeAnnotationCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Performs several checks on classes with @ConsumerType annotation." />
<message key="default.annotation.redundant" value="No need to specify default ''ConsumerType'' annotation. See https://docs.osgi.org/javadoc/osgi.annotation/8.0.0/org/osgi/annotation/versioning/ConsumerType.html" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ContractionsCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds contractions in Strings (such as `can't` or `you're`)." />
<message key="contraction.avoid" value="Avoid using contraction ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.CreationMenuBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `CreationMenuBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.DeprecatedUsageCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds calls to deprecated classes or methods." />
<property name="enabled" value="false" />
<message key="constructor.call.deprecated" value="Constructor ''{0}'' has been deprecated" />
<message key="field.call.deprecated" value="Field ''{0}'' has been deprecated" />
<message key="method.call.deprecated" value="Method ''{0}'' has been deprecated" />
<message key="type.call.deprecated" value="Type ''{0}'' has been deprecated" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.DTOEnumCreationCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks the creation of DTO enum." />
<message key="create.use" value="Use ''create'' to create DTO enum, instead of ''valueOf''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.EmptyConstructorCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds unnecessary empty constructors." />
<property name="enabled" value="false" />
<message key="empty.constructor.unneeded" value="Empty constructor is not needed" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.EnumConstantDividerCheck">
<property name="category" value="Styling" />
<property name="description" value="Find unnecessary empty lines between enum constants." />
<message key="empty.line.unnecessary" value="Unnecessary empty line needed between enum constants" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.EnumConstantOrderCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks the order of enum constants." />
<message key="enum.constant.incorrect.order" value="Enum constant ''{0}'' should come after constant ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.EqualClauseIfStatementsCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds consecutive if-statements with identical clauses." />
<property name="enabled" value="false" />
<message key="if.statements.combine" value="Combine if-statements with identical clauses" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ExceptionCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds private methods that throw unnecessary exception." />
<message key="exception.unnecessary" value="Method ''{0}'' throws unnecessary {1}. All methods calling ''{0}'' throw ''Exception''." />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ExceptionMessageCheck">
<property name="category" value="Styling" />
<property name="description" value="Validates messages that are passed to exceptions." />
<message key="message.incorrect" value="Incorrect exception message" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ExceptionVariableNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Validates variable names that have type `*Exception`." />
<message key="variable.rename" value="Rename exception variable ''{0}'' to ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.FactoryCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds cases where `*Factory` should be used when creating new instances of an object." />
<message key="factory.use" value="Use ''{0}'' to create new instance of ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.FilterStringWhitespaceCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds missing and unnecessary whitespace in the value of the filter string in `ServiceTrackerFactory.open` or `WaiterUtil.waitForFilter`." />
<message key="whitespace.incorrect" value="The value of ''{0}'' should not have spaces around ''='', see LPS-70526" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.FrameworkBundleCheck">
<property name="category" value="Performance" />
<property name="description" value="Checks that `org.osgi.framework.Bundle.getHeaders()` is not used." />
<message key="bundle.get.headers.use" value="Use ''Bundle.getHeaders(java.lang.String locale)'' statement instead ''Bundle.getHeaders()''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.FullyQualifiedNameCheck">
<property name="category" value="Miscellaneous" />
<property name="description" value="Finds cases where a Fully Qualified Name is used instead of importing a class." />
<message key="import.statement.use" value="Use import statement instead of Fully Qualified Name for ''{0}'" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.GenericTypeCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks that generics are always specified to provide compile-time checking and removing the risk of `ClassCastException` during runtime." />
<property name="populateTypeNames" value="false" />
<message key="generic.type.parameterize" value="Parameterize the generic {0} for ''{1}'" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.InstanceofOrderCheck">
<property name="category" value="Styling" />
<property name="description" value="Check the order of `instanceof` calls." />
<message key="instanceof.order" value="''{0}'' should come before ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ItemBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `DropdownItemBuilder`, `LabelItemBuilder` or `NavigationItemBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
<message key="null.value.incorrect" value="Null values are not allowed in ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ItemListBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `DropdownItemListBuilder`, `LabelItemListBuilder` or `NavigationItemListBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.JavadocCheck">
<property name="category" value="Javadoc" />
<property name="description" value="Performs several checks on javadoc." />
<message key="javadoc.empty.line" value="First or last line in javadoc should not be empty" />
<message key="javadoc.incorrect.first.line" value="Javadoc should start with ''/**''" />
<message key="javadoc.incorrect.last.line" value="Javadoc should end with ''*/''" />
<message key="javadoc.multiple" value="''{0}'' has multiple javadocs" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.JSONNamingCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks if variable names follow naming conventions." />
<message key="variable.name.reserved" value="{0} name ending with ''{1}'' is reserved for object ''{2}''" />
<message key="variable.rename" value="Rename {0} ''{1}'' to ''{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.JSONUtilCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks for utilization of class `JSONUtil`." />
<message key="json.util.put.all.use" value="Use ''JSONUtil.putAll'' instead of chaining on ''JSONUtil.put''" />
<message key="json.util.put.use" value="Combine calls ''{0}'' ({1}) and ''{2}'' ({3}) into single call ''{4}''" />
<message key="json.util.to.string.use" value="Use ''toString'' instead of ''String.valueOf''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.LambdaCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks that `lambda` statements are as simple as possible." />
<message key="lambda.simplify" value="Simplify lambda statement with single statement" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ListUtilCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks for utilization of class `ListUtil`." />
<message key="array.unneeded" value="Pass arguments directly to ''ListUtil.fromArray'' instead of passing new array" />
<message key="list.util.from.array.use" value="Use ''ListUtil.fromArray'' to simplify code" />
<message key="list.util.is.empty.use" value="Use ''ListUtil.isEmpty({0})'' to simplify code" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.LiteralStringEqualsCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds cases where `Objects.equals` should be used." />
<message key="objects.equals.use.1" value="Use ''Objects.equals'' instead of calling ''equals'' on a literal String" />
<message key="objects.equals.use.2" value="Either use ''{0}'' or use ''Objects.equals'' if ''{1}'' can have a ''null'' value, instead of calling ''equals'' on a literal String" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.LocalPatternCheck">
<property name="category" value="Performance" />
<property name="description" value="Checks that a `java.util.Pattern` variable is declared globally, so that it is initiated only once." />
<message key="pattern.local" value="Create a global variable for Pattern ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.LogMessageCheck">
<property name="category" value="Styling" />
<property name="description" value="Validates messages that are passed to `log.*` calls." />
<message key="message.incorrect" value="Incorrect log message" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.LPS42924Check">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds cases where `PortalUtil.getClassName*` (instead of calling `classNameLocalService` directly)." />
<message key="lps42924" value="Use ''classNameLocalService.getClassNameId'' instead of ''PortalUtil.getClassName''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MapBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `ConcurrentHashMapBuilder`, `HashMapBuilder`, `LinkedHashMapBuilder` or `TreeMapBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
<message key="null.value.incorrect" value="Null values are not allowed in ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MapIterationCheck">
<property name="category" value="Performance" />
<property name="description" value="Checks that there are no unnecessary map iterations." />
<message key="entry.set.use" value="Use Map.entrySet() to retrieve values" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MethodNamingCheck">
<property name="category" value="Naming Conventions" />
<property name="checkSearchMethodNames" value="false" />
<property name="description" value="Checks that method names follow naming conventions." />
<message key="method.incorrect.ending" value="Name of method returning type ''{0}'' should end with ''{0}''" />
<message key="method.rename" value="Rename method ''{0}'' to ''{1}''" />
<message key="search.method.incorrect" value="Incorrect name of method ''{0}''. Name should equal ''search'' or start with ''searchBy''." />
<property name="enforceTypeNames" value="" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingAuthorCheck">
<property name="category" value="Javadoc" />
<property name="description" value="Finds classes that have no `@author` specified." />
<message key="author.missing" value="Missing author" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingDeprecatedJavadocCheck">
<property name="category" value="Javadoc" />
<property name="description" value="Verifies that the annotation @Deprecated and the Javadoc tag @deprecated are both present when either of them is present." />
<message key="javadoc.missing.deprecated" value="Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingDiamondOperatorCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks for missing diamond operator for types that require diamond operator." />
<property name="enforceDiamondOperatorClassNames" value="" />
<message key="diamond.operator.missing" value="Missing diamond operator ''<>'' for type ''{0}''" />
<message key="generic.types.missing" value="Missing generic types ''{0}'' for type ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingEmptyLineCheck">
<property name="category" value="Styling" />
<property name="description" value="Checks for missing line breaks around variable declarations." />
<message key="empty.line.missing.after.method.name" value="There should be an empty line after ''{0}''" />
<message key="empty.line.missing.after.variable.definition" value="There should be an empty line after variable definition of type ''{0}''" />
<message key="empty.line.missing.after.variable.reference" value="There should be an empty line before line ''{0}'', as we finished referencing variable ''{1}''" />
<message key="empty.line.missing.before.variable.assign" value="There should be an empty line before assigning value to variable ''{0}''" />
<message key="empty.line.missing.before.variable.use" value="There should be an empty line between assigning and using variable ''{0}''" />
<message key="empty.line.missing.line.number" value="There should be an empty line {0} line ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingModifierCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Verifies that a method or global variable has a modifier specified." />
<message key="modifier.missing" value="Missing modifier for ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingOverrideCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Verifies that a method that overrides a method in a superclass has the @Override annotation." />
<property name="enabled" value="false" />
<message key="override.missing" value="Missing @Override" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MissingParenthesesCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds missing parentheses in conditional statement." />
<message key="parentheses.missing.1" value="Missing parentheses between the ''{0}'' operator and the ''{1}'' operator" />
<message key="parentheses.missing.2" value="Missing parentheses around the {0} hand side argument of the ''{1}'' operator" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.MVCCommandNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks for consistent naming for values of `mvc.command.name`." />
<message key="value.incorrect" value="Incorrect value ''{0}'' for ''mvc.command.name''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.NestedFieldAnnotationCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Verifies that `NestedFieldSupport.class` is used in `service` property of `Component` annotation" />
<property name="enabled" value="false" />
<message key="service.needed" value="''NestedFieldSupport.class'' is needed in ''service'' property of ''Component'' annotation, because at least one of methods has ''NestedField annotation" />
<message key="service.unneeded" value="No need to add ''NestedFieldSupport.class'' in ''service'' property of ''Component'' annotation, because no method has ''NestedField'' annotation" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.NestedIfStatementCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds nested if statements that can be combined." />
<message key="if.statements.combine" value="Combine nested if-statements" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.NotRequireThisCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds cases of unnecessary use of `this.`." />
<message key="variable.not.require.this" value="Reference to variable ''{0}'' does not need ''.this''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.NullAssertionInIfStatementCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Verifies that null check should always be first in if-statement." />
<message key="null.check.move" value="Null check for variable ''{0}'' should always be first in if-statement" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.NumberSuffixCheck">
<property name="category" value="Styling" />
<property name="description" value="Verifies that uppercase `D`, `F`, or `L` is used when denoting Double/Float/Long." />
<message key="suffix.incorrect" value="Use uppercase ''{0}'' as suffix for the type ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.OperatorOperandCheck">
<property name="category" value="Styling" />
<property name="description" value="Verifies that operand do not go over too many lines and make the operator hard to read." />
<message key="readability.improve" value="Create a new variable for the {0} hand side operand of the ''{1}'' operator for better readability" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.OperatorOrderCheck">
<property name="category" value="Styling" />
<property name="description" value="Verifies that when an operator has a literal string or a number as one of the operands, it is always on the right hand side." />
<message key="left.argument.literal.or.num" value="''{0}'' should be on the right hand side of the operator" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.OSGiResourceBuilderCheck">
<property name="category" value="Styling" />
<property name="description" value="Avoid using *Resource.builder." />
<message key="method.call.avoid" value="Avoid using method ''*Resource.builder'' in OSGi component" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ParsePrimitiveTypeCheck">
<property name="category" value="Performance" />
<property name="description" value="Verifies that `GetterUtil.parse*` is used to parse primitive types, when possible." />
<message key="getter.util.method.use" value="Use ''GetterUtil.{0}'' or properly catch ''NumberFormatException'' when calling ''{1}.{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.PersistenceCallCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds illegal persistence calls across component boundaries." />
<message key="persistence.call.illegal" value="Illegal call to class ''{0}'', see LPS-68923" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.PersistenceUpdateCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Checks that there are no stale references in service code from persistence updates." />
<message key="update.call.reassign" value="Update call should be reassigned to variable ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.PlusStatementCheck">
<property name="category" value="Styling" />
<property name="description" value="Performs several checks to statements where `+` is used for concatenation." />
<message key="end.character.invalid" value="When concatenating multiple literal strings using '+', only the last literal string can end with ''{0}''" />
<message key="literal.string.combine" value="Combine the literal strings ''{0}'' and ''{1}''" />
<message key="literal.string.move" value="Add the string ''{0}'' to the {1} literal string" />
<message key="start.character.invalid" value="When concatenating multiple literal strings using '+', only the first literal string can start with ''{0}''" />
<message key="string.combine" value="Combine the literal string ''{0}'' with ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.PortletURLBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `PortletURLBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="build.string.use" value="No need to call ''{0}.toString'', use ''buildString'' instead of ''{1}''" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
<message key="if.statement.inline" value="Inline if-statement inside ''{0}'' ({1}) using a lambda function" />
<message key="keyword.reserved" value="Do not use ''{0}'' to set parameter ''{1}'', use ''{2}'' instead" />
<message key="string.cast.unneeded" value="No need to cast parameter to ''String'' when passing to method ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.RedundantBranchingStatementCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds unnecessary branching (`break`, `continue` or `return`) statements." />
<message key="branching.statement.redundant" value="Redundant ''{0}'' statement" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ReferenceAnnotationCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Performs several checks on classes with @Reference annotation." />
<message key="default.unbind.redundant" value="No need to specify default ''unbind'' method. See https://osgi.org/javadoc/r4v43/cmpn/org/osgi/service/component/annotations/Reference.html#unbind()" />
<message key="reference.move" value="Move @Reference from method ''{0}'' to field ''{1}''" />
<message key="target.value.incorrect" value="Do not use ''target = {0}''" />
<message key="unbind.dynamic.policy.missing" value="Always specify a valid ''unbind'' method when using ''policy = ReferencePolicy.DYNAMIC'' policy. See https://osgi.org/javadoc/r4v43/cmpn/org/osgi/service/component/annotations/Reference.html#unbind()" />
<message key="unbind.static.policy.missing" value="Specify ''unbind'' method. Use ''unbind = {0}'' when ''unbind'' method is not needed. See https://osgi.org/javadoc/r4v43/cmpn/org/osgi/service/component/annotations/Reference.html#unbind()" />
<message key="volatile.missing" value="Variable ''{0}'' should be volatile" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.SelfReferenceCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds cases of unnecessary reference to its own class." />
<message key="self.reference.unneeded" value="Reference to method ''{0}'' does not need ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.SemiColonCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds cases of unnecessary semicolon." />
<message key="semi.colon.unnecessary" value="Unnecessary semi colon" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.SingleStatementClauseCheck">
<property name="category" value="Styling" />
<property name="description" value="Verifies that `for`, `if` or `while` statement always uses curly braces." />
<message key="braces.missing" value="Use braces around {0}-statement clause" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.SizeIsZeroCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds cases of calls like `list.size() == 0` (use `list.isEmpty()` instead)." />
<message key="method.use" value="Use method ''{0}'' instead" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.StaticBlockCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Performs several checks on static blocks." />
<property name="immutableFieldTypes" value="boolean,byte,char,double,float,int,long,short,Boolean,Byte,Character,Class,Double,Float,Int,Long,Number,Short,String" />
<message key="static.block.unneeded" value="No need to use static block for method call ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.StringBundlerNamingCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks for consistent naming on variables of type 'StringBundler'." />
<message key="variable.name.incorrect" value="StringBundler {0} ''{1}'' should end with either ''sb'' or ''SB''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.StringCastCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds cases where a redundant `toString()` is called on variable type `String`." />
<message key="string.cast.unneeded" value="No need to call ''.toString()'' on type String" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.SystemEventCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds missing or redundant usage of @SystemEvent for delete events." />
<property name="enabled" value="false" />
<message key="system.event.missing" value="Missing ''@SystemEvent(type = SystemEventConstants.TYPE_DELETE)'' for method ''{0}''" />
<message key="system.event.unneeded.1" value="@SystemEvent on method ''{0}'' is not needed, because the first parameter is not ''{1}''" />
<message key="system.event.unneeded.2" value="@SystemEvent on method ''{0}'' is not needed, because ''{1}'' does not implement ''ClassedModel''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.TernaryOperatorCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds use of ternary operator in `java` files (use if statement instead)." />
<message key="ternary.operator.avoid" value="Use if-else-statement instead of ternary conditional operator for better readability" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.TestClassCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that names of test classes follow naming conventions." />
<message key="test.base.class.invalidName" value="Base test class ''{0}'' should start with ''Base''" />
<message key="test.case.class.incorrect.abstract" value="Class ending in *TestCase should be abstract. Either make the class abstract or rename to ''{0}'' if the class contains actual tests" />
<message key="test.class.incorrect.abstract" value="Test class ''{0}'' should not be abstract" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.TestClassMissingLiferayUnitTestRuleCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds missing LiferayUnitTestRule." />
<message key="test.rule.missing" value="Missing test rule ''LiferayUnitTestRule''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ThreadLocalUtilCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds new instances of `java.lang.Thread` (use `ThreadLocalUtil.create` instead)." />
<message key="thread.local.util.use" value="Use ''ThreadLocalUtil.create'' when initializing variable ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ThreadNameCheck">
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that names of threads follow naming conventions." />
<message key="thread.rename" value="Rename thread to ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.TransactionalTestRuleCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds usage of `TransactionalTestRule` in `*StagedModelDataHandlerTest`." />
<message key="import.invalid" value="Avoid using import TransactionalTestRule in *StagedModelDataHandlerTest, see LPS-68908" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.TryWithResourcesCheck">
<property name="category" value="Performance" />
<property name="description" value="Ensures using Try-With-Resources statement to properly close the resource." />
<property name="populateTypeNames" value="false" />
<message key="try.with.resources.use" value="Use Try-With-Resources statement to declare ''{0}'' instead of closing the resource in the ''finally'' statement using ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnicodePropertiesBuilderCheck">
<property name="category" value="Miscellaneous" />
<property name="checkInline" value="true" />
<property name="description" value="Checks that `UnicodePropertiesBuilder` is used when possible." />
<property name="enforceBuilderNames" value="" />
<message key="builder.include" value="Include method call ''{0}'' ({1}) in ''{2}'' ({3})" />
<message key="builder.inline.1" value="Inline variable definition ''{0}'' ({1}) inside ''{2}'' ({3}), possibly by using a lambda function" />
<message key="builder.inline.2" value="Inline variable definition ''{0}'' ({1}) and dependent statements ({2}) inside ''{3}'' ({4}) by using a lambda function" />
<message key="builder.use" value="Use ''{0}'' ({1}, {2})" />
<message key="builder.use.instead" value="Use ''{0}'' instead of new instance of ''{1}''" />
<message key="null.value.incorrect" value="Null values are not allowed in ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnnecessaryAssignCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds unnecessary assign statements (when it is either reassigned or returned right after)." />
<message key="assign.unnecessary.before.reassign" value="No need to assign call to variable ''{0}'', because ''{0}'' is reassigned another value without being used" />
<message key="assign.unnecessary.before.return" value="No need to assign call to variable ''{0}'', because ''{0}'' is returned right after" />
<message key="assign.unnecessary.to.string" value="No need to assign call to variable ''{0}'', use String.valueOf() to combine line ''{1}'' and ''{2}''" />
<message key="assign.unnecessary.unused" value="No need to assign call to variable ''{0}'', because ''{0}'' is not used after the call" />
<message key="list.assign.unnecessary.before.return" value="No need to assign List variable ''{0}'' before return, use ''ListUtil.fromArray()'' instead" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnnecessaryMethodCallCheck">
<property name="category" value="Styling" />
<property name="description" value="Finds unnecessary method calls." />
<message key="method.call.unnecessary" value="Use ''{0}'' instead of calling method ''{1}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnnecessaryTypeCastCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds unnecessary Type Casting." />
<message key="type.cast.unnecessary" value="No need to apply Type Cast to method ''{0}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnnecessaryVariableDeclarationCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds unnecessary variable declarations (when it is either reassigned or returned right after)." />
<message key="list.declaration.unnecessary.before.return" value="No need to declare List variable ''{0}'' before return, use ''ListUtil.fromArray()'' instead" />
<message key="variable.declaration.unnecessary.before.reassign" value="No need to declare variable ''{0}'' because ''{0}'' is reassigned another value without being used" />
<message key="variable.declaration.unnecessary.before.return" value="No need to declare variable ''{0}'' because it is returned right after" />
<message key="variable.declaration.unnecessary.to.string" value="No need to declare variable ''{0}'', use String.valueOf() to combine line ''{1}'' and ''{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnprocessedExceptionCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds cases where an `Exception` is swallowed without being processed." />
<message key="exception.unprocessed" value="Unprocessed exception ''{0}'', see LPS-36174" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnusedMethodCheck">
<property name="allowedMethodNames" value="readObject,writeObject" />
<property name="category" value="Performance" />
<property name="description" value="Finds private methods that are not used." />
<message key="method.unused" value="Method ''{0}'' is unused" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnusedParameterCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds parameters in private methods that are not used." />
<message key="parameter.unused" value="Parameter ''{0}'' is unused" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnusedVariableCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds variables that are declared, but not used." />
<message key="variable.unused" value="Variable ''{0}'' is unused" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.UnwrappedVariableInfoCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Finds cases where the variable should be wrapped into an inner class in order to defer array elements initialization." />
<message key="variable.info.unwrapped" value="Wrap the variable ''{0}'' into an inner class ''Concealer'' in order to defer array elements initialization, see LPS-72768" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.ValidatorIsNullCheck">
<property name="category" value="Bug Prevention" />
<property name="description" value="Ensures that only variable of type `Long`, `Serializable` or `String` is passed to method `com.liferay.portal.kernel.util.Validator.isNull`." />
<message key="method.invalidName" value="Avoid using method ''{0}''" />
<message key="method.reserved" value="Method ''{0}'' should only be used for type ''Long'', ''Serializable'' or ''String''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.VariableDeclarationAsUsedCheck">
<property name="category" value="Performance" />
<property name="description" value="Finds cases where a variable declaration can be inlined or moved closer to where it is used." />
<message key="string.value.of.use" value="Simplify by using ''String.valueOf'' (combining the statement on line ''{0}'' and ''toString()'' on line ''{1}'')" />
<message key="to.string.add" value="Simplify by adding ''toString()'' to the chain on line ''{0}''" />
<message key="variable.inline" value="No need to declare variable ''{0}''. Pass the {1} directly as parameter on line ''{2}''." />
<message key="variable.move.after.branching.statement" value="For better performance, the variable declaration for ''{0}'' should come after the ''{1}'' statement on line ''{2}''" />
<message key="variable.move.inside.if.statement" value="For better performance, the variable declaration for ''{0}'' should be moved inside the {1}-statement on line ''{2}''" />
</module>
<module name="com.liferay.source.formatter.checkstyle.checks.VariableNameCheck">
<property name="allowedVariableNames" value="bitMode,metadata,superClass,userName" />
<property name="category" value="Naming Conventions" />
<property name="description" value="Checks that variable names follow naming conventions." />
<property name="enforceTypeNames" value="" />
<message key="variable.incorrect.count" value="Rename variable ''{0}'' to ''{1}'' (and increment counts for other variables ''{0}*'')" />
<message key="variable.incorrect.ending" value="Name of variable with type ''{0}'' should end with ''{1}''" />
<message key="variable.name.incorrect.for.statement" value="Use format ''curVariableName'' for variable ''{0}''" />
<message key="variable.rename" value="Rename variable ''{0}'' to ''{1}''" />
<message key="variable.typo" value="Typo in variable ''{0}'', expected variable name ''{1}''" />
</module>
</module>
</module>