Salome HOME
PMD plugin is refreshed. Some code is modified to respect PMD rules. Ant build proced...
[tools/siman.git] / Workspace / Siman-Common / siman-pmd.ruleset
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ruleset xmlns="http://pmd.sf.net/ruleset/1.0.0" name="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">
3         <description>PMD Plugin preferences rule set Hewis
4         level 1 : not to be violated AREVA requirements
5         level 2 : not to be violated EURIWARE requirements
6         level 3 :should not be violated AREVA requirements
7         level 4 :should not be violated EURIWARE requirements
8         level 5 : good practices
9         </description>
10         
11         <exclude-pattern>.*/test/.*</exclude-pattern>
12         
13         <rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging">
14                 <priority>5</priority>
15         </rule>
16         <rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger">
17                 <priority>5</priority>
18         </rule>
19         <rule ref="rulesets/strings.xml/AvoidDuplicateLiterals">
20                 <priority>2</priority>
21         </rule>
22         <rule ref="rulesets/strings.xml/StringInstantiation">
23                 <priority>5</priority>
24         </rule>
25         <rule ref="rulesets/strings.xml/StringToString">
26                 <priority>4</priority>
27         </rule>
28         <rule ref="rulesets/strings.xml/InefficientStringBuffering">
29                 <priority>5</priority>
30         </rule>
31         <rule ref="rulesets/strings.xml/UnnecessaryCaseChange">
32                 <priority>5</priority>
33         </rule>
34         <rule ref="rulesets/strings.xml/UseStringBufferLength">
35                 <priority>5</priority>
36         </rule>
37         <rule ref="rulesets/strings.xml/AppendCharacterWithChar">
38                 <priority>5</priority>
39         </rule>
40         <rule ref="rulesets/strings.xml/ConsecutiveLiteralAppends">
41                 <priority>5</priority>
42         </rule>
43         <rule ref="rulesets/strings.xml/UseIndexOfChar">
44                 <priority>4</priority>
45         </rule>
46         <rule ref="rulesets/strings.xml/InefficientEmptyStringCheck">
47                 <priority>5</priority>
48         </rule>
49         <rule ref="rulesets/strings.xml/InsufficientStringBufferDeclaration">
50                 <priority>5</priority>
51         </rule>
52         <rule ref="rulesets/strings.xml/UselessStringValueOf">
53                 <priority>5</priority>
54         </rule>
55         <rule ref="rulesets/strings.xml/StringBufferInstantiationWithChar">
56                 <priority>5</priority>
57         </rule>
58         <rule ref="rulesets/strings.xml/UseEqualsToCompareStrings">
59                 <priority>5</priority>
60         </rule>
61         <rule ref="rulesets/strings.xml/AvoidStringBufferField">
62                 <priority>5</priority>
63         </rule>
64         <rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal">
65                 <priority>4</priority>
66         </rule>
67         <rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops">
68                 <priority>4</priority>
69         </rule>
70         <rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector">
71                 <priority>4</priority>
72         </rule>
73         <rule ref="rulesets/optimizations.xml/SimplifyStartsWith">
74                 <priority>5</priority>
75         </rule>
76         <rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends">
77                 <priority>5</priority>
78         </rule>
79         <rule ref="rulesets/optimizations.xml/UseArraysAsList">
80                 <priority>5</priority>
81         </rule>
82         <rule ref="rulesets/optimizations.xml/AvoidArrayLoops">
83                 <priority>5</priority>
84         </rule>
85         <rule ref="rulesets/optimizations.xml/UnnecessaryWrapperObjectCreation">
86                 <priority>5</priority>
87         </rule>
88         <rule ref="rulesets/optimizations.xml/AddEmptyString">
89                 <priority>5</priority>
90         </rule>
91         <rule ref="rulesets/typeresolution.xml/LooseCoupling">
92                 <priority>5</priority>
93         </rule>
94         <rule ref="rulesets/typeresolution.xml/CloneMethodMustImplementCloneable">
95                 <priority>5</priority>
96         </rule>
97         <rule ref="rulesets/typeresolution.xml/UnusedImports">
98                 <priority>2</priority>
99         </rule>
100         <rule ref="rulesets/typeresolution.xml/SignatureDeclareThrowsException">
101                 <priority>2</priority>
102         </rule>
103         <rule ref="rulesets/design.xml/UseSingleton">
104                 <priority>5</priority>
105         </rule>
106         <rule ref="rulesets/design.xml/SimplifyBooleanReturns">
107                 <priority>5</priority>
108         </rule>
109         <rule ref="rulesets/design.xml/SimplifyBooleanExpressions">
110                 <priority>5</priority>
111         </rule>
112         <rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault">
113                 <priority>3</priority>
114         </rule>
115         <rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts">
116                 <priority>5</priority>
117         </rule>
118         <rule ref="rulesets/design.xml/AvoidReassigningParameters">
119                 <priority>5</priority>
120         </rule>
121         <rule ref="rulesets/design.xml/SwitchDensity">
122                 <priority>5</priority>
123         </rule>
124         <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod">
125                 <priority>2</priority>
126         </rule>
127         <rule ref="rulesets/design.xml/AccessorClassGeneration">
128                 <priority>5</priority>
129         </rule>
130         <rule ref="rulesets/design.xml/FinalFieldCouldBeStatic">
131                 <priority>5</priority>
132         </rule>
133         <rule ref="rulesets/design.xml/CloseResource">
134                 <priority>2</priority>
135         </rule>
136         <rule ref="rulesets/design.xml/NonStaticInitializer">
137                 <priority>2</priority>
138         </rule>
139         <rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt">
140                 <priority>2</priority>
141         </rule>
142         <rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement">
143                 <priority>5</priority>
144         </rule>
145         <rule ref="rulesets/design.xml/OptimizableToArrayCall">
146                 <priority>5</priority>
147         </rule>
148         <rule ref="rulesets/design.xml/BadComparison">
149                 <priority>3</priority>
150         </rule>
151         <rule ref="rulesets/design.xml/EqualsNull">
152                 <priority>3</priority>
153         </rule>
154         <rule ref="rulesets/design.xml/ConfusingTernary">
155                 <priority>1</priority>
156         </rule>
157         <rule ref="rulesets/design.xml/InstantiationToGetClass">
158                 <priority>5</priority>
159         </rule>
160         <rule ref="rulesets/design.xml/IdempotentOperations">
161                 <priority>3</priority>
162         </rule>
163         <rule ref="rulesets/design.xml/SimpleDateFormatNeedsLocale">
164                 <priority>2</priority>
165         </rule>
166         <rule ref="rulesets/design.xml/ImmutableField">
167                 <priority>5</priority>
168         </rule>
169         <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass">
170                 <priority>5</priority>
171         </rule>
172         <rule ref="rulesets/design.xml/AssignmentToNonFinalStatic">
173                 <priority>5</priority>
174         </rule>
175         <rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass">
176                 <priority>3</priority>
177         </rule>
178         <rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel">
179                 <priority>2</priority>
180         </rule>
181         <rule ref="rulesets/design.xml/MissingBreakInSwitch">
182                 <priority>2</priority>
183         </rule>
184         <rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify">
185                 <priority>5</priority>
186         </rule>
187         <rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause">
188                 <priority>5</priority>
189         </rule>
190         <rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod">
191                 <priority>2</priority>
192         </rule>
193         <rule ref="rulesets/design.xml/SimplifyConditional">
194                 <priority>5</priority>
195         </rule>
196         <rule ref="rulesets/design.xml/CompareObjectsWithEquals">
197                 <priority>1</priority>
198         </rule>
199         <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons">
200                 <priority>4</priority>
201         </rule>
202         <rule ref="rulesets/design.xml/NonThreadSafeSingleton">
203                 <priority>2</priority>
204         </rule> 
205         <rule ref="rulesets/design.xml/UncommentedEmptyMethod">
206                 <priority>2</priority>
207         </rule>
208         <rule ref="rulesets/design.xml/UncommentedEmptyConstructor">
209                 <priority>2</priority>
210         </rule>
211         <rule ref="rulesets/design.xml/AvoidConstantsInterface">
212                 <priority>5</priority>
213         </rule>
214         <rule ref="rulesets/design.xml/UnsynchronizedStaticDateFormatter">
215                 <priority>2</priority>
216         </rule>
217         <rule ref="rulesets/design.xml/PreserveStackTrace">
218                 <priority>2</priority>
219         </rule>
220         <rule ref="rulesets/design.xml/UseCollectionIsEmpty">
221                 <priority>4</priority>
222         </rule>
223         <rule ref="rulesets/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal">
224                 <priority>4</priority>
225         </rule>
226         <rule ref="rulesets/design.xml/EmptyMethodInAbstractClassShouldBeAbstract">
227                 <priority>2</priority>
228         </rule>
229         <rule ref="rulesets/design.xml/SingularField">
230                 <priority>2</priority>
231         </rule>
232         <rule ref="rulesets/design.xml/ReturnEmptyArrayRatherThanNull">
233                 <priority>4</priority>
234         </rule>
235         <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod">
236                 <priority>2</priority>
237         </rule>
238         <rule ref="rulesets/design.xml/TooFewBranchesForASwitchStatement">
239                 <priority>4</priority>
240         </rule>
241         <rule ref="rulesets/braces.xml/IfStmtsMustUseBraces">
242                 <priority>3</priority>
243         </rule>
244         <rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces">
245                 <priority>3</priority>
246         </rule>
247         <rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces">
248                 <priority>3</priority>
249         </rule>
250         <rule ref="rulesets/braces.xml/ForLoopsMustUseBraces">
251                 <priority>3</priority>
252         </rule>
253         <rule ref="rulesets/coupling.xml/CouplingBetweenObjects">
254                 <priority>5</priority>
255         </rule>
256         <rule ref="rulesets/coupling.xml/ExcessiveImports">
257                 <priority>5</priority>
258         </rule>
259         <rule ref="rulesets/coupling.xml/LooseCoupling">
260                 <priority>4</priority>
261         </rule>
262         <rule ref="rulesets/basic.xml/EmptyCatchBlock">
263                 <priority>2</priority>
264         </rule>
265         <rule ref="rulesets/basic.xml/EmptyIfStmt">
266                 <priority>2</priority>
267         </rule>
268         <rule ref="rulesets/basic.xml/EmptyWhileStmt">
269                 <priority>2</priority>
270         </rule>
271         <rule ref="rulesets/basic.xml/EmptyTryBlock">
272                 <priority>2</priority>
273         </rule>
274         <rule ref="rulesets/basic.xml/EmptyFinallyBlock">
275                 <priority>2</priority>
276         </rule>
277         <rule ref="rulesets/basic.xml/EmptySwitchStatements">
278                 <priority>2</priority>
279         </rule>
280         <rule ref="rulesets/basic.xml/JumbledIncrementer">
281                 <priority>2</priority>
282         </rule>
283         <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop">
284                 <priority>5</priority>
285         </rule>
286         <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary">
287                 <priority>5</priority>
288         </rule>
289         <rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode">
290                 <priority>4</priority>
291         </rule>
292         <rule ref="rulesets/basic.xml/DoubleCheckedLocking">
293                 <priority>5</priority>
294         </rule>
295         <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock">
296                 <priority>4</priority>
297         </rule>
298         <rule ref="rulesets/basic.xml/EmptySynchronizedBlock">
299                 <priority>2</priority>
300         </rule>
301         <rule ref="rulesets/basic.xml/UnnecessaryReturn">
302                 <priority>2</priority>
303         </rule>
304         <rule ref="rulesets/basic.xml/EmptyStaticInitializer">
305                 <priority>2</priority>
306         </rule>
307         <rule ref="rulesets/basic.xml/UnconditionalIfStatement">
308                 <priority>2</priority>
309         </rule>
310         <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop">
311                 <priority>2</priority>
312         </rule>
313         <rule ref="rulesets/basic.xml/BooleanInstantiation">
314                 <priority>3</priority>
315         </rule>
316         <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier">
317                 <priority>5</priority>
318         </rule>
319         <rule ref="rulesets/basic.xml/CollapsibleIfStatements">
320                 <priority>5</priority>
321         </rule>
322         <rule ref="rulesets/basic.xml/UselessOverridingMethod">
323                 <priority>2</priority>
324         </rule>
325         <rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray">
326                 <priority>3</priority>
327         </rule>
328         <rule ref="rulesets/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor">
329                 <priority>4</priority>
330         </rule>
331         <rule ref="rulesets/basic.xml/UselessOperationOnImmutable">
332                 <priority>2</priority>
333         </rule>
334         <rule ref="rulesets/basic.xml/MisplacedNullCheck">
335                 <priority>2</priority>
336         </rule>
337         <rule ref="rulesets/basic.xml/UnusedNullCheckInEquals">
338                 <priority>2</priority>
339         </rule>
340         <rule ref="rulesets/basic.xml/AvoidThreadGroup">
341                 <priority>4</priority>
342         </rule>
343         <rule ref="rulesets/basic.xml/BrokenNullCheck">
344                 <priority>2</priority>
345         </rule>
346         <rule ref="rulesets/basic.xml/BigIntegerInstantiation">
347                 <priority>3</priority>
348         </rule>
349         <rule ref="rulesets/basic.xml/AvoidUsingOctalValues">
350                 <priority>4</priority>
351         </rule>
352         <rule ref="rulesets/basic.xml/AvoidUsingHardCodedIP">
353                 <priority>2</priority>
354         </rule>
355         <rule ref="rulesets/basic.xml/CheckResultSet">
356                 <priority>2</priority>
357         </rule>
358         <rule ref="rulesets/basic.xml/AvoidMultipleUnaryOperators">
359                 <priority>2</priority>
360         </rule>
361         <rule ref="rulesets/controversial.xml/UnnecessaryConstructor">
362                 <priority>4</priority>
363         </rule>
364         <rule ref="rulesets/controversial.xml/NullAssignment">
365                 <priority>5</priority>
366         </rule>
367         <rule ref="rulesets/controversial.xml/OnlyOneReturn">
368                 <priority>3</priority>
369         </rule>
370         <rule ref="rulesets/controversial.xml/UnusedModifier">
371                 <priority>5</priority>
372         </rule>
373         <rule ref="rulesets/controversial.xml/AssignmentInOperand">
374                 <priority>2</priority>
375         </rule>
376         <rule ref="rulesets/controversial.xml/DontImportSun">
377                 <priority>2</priority>
378         </rule>
379         <rule ref="rulesets/controversial.xml/SuspiciousOctalEscape">
380                 <priority>4</priority>
381         </rule>
382         <rule ref="rulesets/controversial.xml/CallSuperInConstructor">
383                 <priority>4</priority>
384         </rule>
385         <rule ref="rulesets/controversial.xml/UnnecessaryParentheses">
386                 <priority>5</priority>
387         </rule>
388         <rule ref="rulesets/controversial.xml/DefaultPackage">
389                 <priority>2</priority>
390         </rule>
391         <rule ref="rulesets/controversial.xml/BooleanInversion">
392                 <priority>3</priority>
393         </rule>
394         <rule ref="rulesets/controversial.xml/DataflowAnomalyAnalysis">
395                 <priority>5</priority>
396         </rule>
397         <rule ref="rulesets/controversial.xml/AvoidFinalLocalVariable">
398                 <priority>2</priority>
399         </rule>
400         <rule ref="rulesets/controversial.xml/AvoidUsingShortType">
401                 <priority>5</priority>
402         </rule>
403         <rule ref="rulesets/controversial.xml/AvoidUsingVolatile">
404                 <priority>2</priority>
405         </rule>
406         <rule ref="rulesets/controversial.xml/AvoidUsingNativeCode">
407                 <priority>2</priority>
408         </rule>
409         <rule ref="rulesets/controversial.xml/AvoidAccessibilityAlteration">
410                 <priority>2</priority>
411         </rule>
412         <rule ref="rulesets/controversial.xml/DoNotCallGarbageCollectionExplicitly">
413                 <priority>1</priority>
414         </rule>
415         <rule ref="rulesets/logging-java.xml/MoreThanOneLogger">
416                 <priority>3</priority>
417         </rule>
418         <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal">
419                 <priority>3</priority>
420         </rule>
421         <rule ref="rulesets/logging-java.xml/SystemPrintln">
422                 <priority>1</priority>
423         </rule>
424         <rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace">
425                 <priority>1</priority>
426         </rule>
427
428         <rule ref="rulesets/imports.xml/DuplicateImports">
429                 <priority>2</priority>
430         </rule>
431         <rule ref="rulesets/imports.xml/DontImportJavaLang">
432                 <priority>2</priority>
433         </rule>
434
435         <rule ref="rulesets/imports.xml/UnusedImports">
436                 <priority>3</priority>
437         </rule>
438         <rule ref="rulesets/imports.xml/ImportFromSamePackage">
439                 <priority>2</priority>
440         </rule>
441         <rule ref="rulesets/imports.xml/TooManyStaticImports">
442                 <priority>2</priority>
443         </rule>
444         <rule ref="rulesets/migrating.xml/ReplaceVectorWithList">
445                 <priority>4</priority>
446         </rule>
447         <rule ref="rulesets/migrating.xml/ReplaceHashtableWithMap">
448                 <priority>4</priority>
449         </rule>
450         <rule ref="rulesets/migrating.xml/ReplaceEnumerationWithIterator">
451                 <priority>4</priority>
452         </rule>
453         <rule ref="rulesets/migrating.xml/IntegerInstantiation">
454                 <priority>3</priority>
455         </rule>
456         <rule ref="rulesets/migrating.xml/ByteInstantiation">
457                 <priority>3</priority>
458         </rule>
459         <rule ref="rulesets/migrating.xml/ShortInstantiation">
460                 <priority>3</priority>
461         </rule>
462         <rule ref="rulesets/migrating.xml/LongInstantiation">
463                 <priority>3</priority>
464         </rule>
465         <rule ref="rulesets/clone.xml/ProperCloneImplementation">
466                 <priority>5</priority>
467         </rule>
468         <rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException">
469                 <priority>5</priority>
470         </rule>
471         <rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable">
472                 <priority>5</priority>
473         </rule>
474         <rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable">
475                 <priority>2</priority>
476         </rule>
477         <rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException">
478                 <priority>3</priority>
479         </rule>
480         <rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl">
481                 <priority>4</priority>
482         </rule>
483         <rule ref="rulesets/strictexception.xml/AvoidCatchingNPE">
484                 <priority>3</priority>
485         </rule>
486         <rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes">
487                 <priority>3</priority>
488         </rule>
489         <rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException">
490                 <priority>3</priority>
491         </rule>
492         <rule ref="rulesets/strictexception.xml/AvoidRethrowingException">
493                 <priority>5</priority>
494         </rule>
495         <rule ref="rulesets/strictexception.xml/DoNotExtendJavaLangError">
496                 <priority>2</priority>
497         </rule>
498         <rule ref="rulesets/strictexception.xml/DoNotThrowExceptionInFinally">
499                 <priority>2</priority>
500         </rule>
501         <rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray">
502                 <priority>4</priority>
503         </rule>
504         <rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly">
505                 <priority>4</priority>
506         </rule>
507         <rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize">
508                         <properties>
509                                 <property name="prefix" value="_"/>
510                         </properties>
511                         <priority>4</priority>
512         </rule>
513         <rule ref="rulesets/javabeans.xml/MissingSerialVersionUID">
514                 <priority>4</priority>
515         </rule>
516         <rule ref="rulesets/finalizers.xml/EmptyFinalizer">
517                 <priority>4</priority>
518         </rule>
519         <rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize">
520                 <priority>4</priority>
521         </rule>
522         <rule ref="rulesets/finalizers.xml/FinalizeOverloaded">
523                 <priority>2</priority>
524         </rule>
525         <rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize">
526                 <priority>4</priority>
527         </rule>
528         <rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected">
529                 <priority>4</priority>
530         </rule>
531         <rule ref="rulesets/finalizers.xml/AvoidCallingFinalize">
532                 <priority>2</priority>
533         </rule>
534         <rule ref="rulesets/j2ee.xml/UseProperClassLoader">
535                 <priority>4</priority>
536         </rule>
537         <rule ref="rulesets/j2ee.xml/MDBAndSessionBeanNamingConvention">
538                 <priority>4</priority>
539         </rule>
540         <rule ref="rulesets/j2ee.xml/RemoteSessionInterfaceNamingConvention">
541                 <priority>4</priority>
542         </rule>
543         <rule ref="rulesets/j2ee.xml/LocalInterfaceSessionNamingConvention">
544                 <priority>4</priority>
545         </rule>
546         <rule ref="rulesets/j2ee.xml/LocalHomeNamingConvention">
547                 <priority>4</priority>
548         </rule>
549         <rule ref="rulesets/j2ee.xml/RemoteInterfaceNamingConvention">
550                 <priority>4</priority>
551         </rule>
552         <rule ref="rulesets/j2ee.xml/DoNotCallSystemExit">
553                 <priority>2</priority>
554         </rule>
555         <rule ref="rulesets/j2ee.xml/StaticEJBFieldShouldBeFinal">
556                 <priority>4</priority>
557         </rule>
558         <rule ref="rulesets/j2ee.xml/DoNotUseThreads">
559                 <priority>2</priority>
560         </rule>
561         <rule ref="rulesets/naming.xml/VariableNamingConventions">
562                         <properties>
563                                 <property name="staticPrefix" value=""/>
564                                 <property name="staticSuffix" value=""/>
565                                 <property name="memberPrefix" value="_"/>
566                                 <property name="memberSuffix" value=""/>
567                         </properties>
568                         <priority>1</priority>
569         </rule>
570         <rule ref="rulesets/naming.xml/MethodNamingConventions">
571                 <priority>1</priority>
572         </rule>
573         <rule ref="rulesets/naming.xml/ClassNamingConventions">
574                 <priority>1</priority>
575         </rule>
576         <rule ref="rulesets/naming.xml/AbstractNaming">
577                 <priority>2</priority>
578         </rule>
579         <rule ref="rulesets/naming.xml/AvoidDollarSigns">
580                 <priority>1</priority>
581         </rule>
582         <rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass">
583                 <priority>2</priority>
584         </rule>
585         <rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName">
586                 <priority>2</priority>
587         </rule>
588         <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName">
589                 <priority>2</priority>
590         </rule>
591         <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName">
592                 <priority>2</priority>
593         </rule>
594         <rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName">
595                 <priority>2</priority>
596         </rule>
597         <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName">
598                 <priority>2</priority>
599         </rule>
600         <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName">
601                 <priority>2</priority>
602         </rule>
603         <rule ref="rulesets/naming.xml/NoPackage">
604                 <priority>1</priority>
605         </rule>
606         <rule ref="rulesets/naming.xml/PackageCase">
607                 <priority>1</priority>
608         </rule>
609         <rule ref="rulesets/naming.xml/MisleadingVariableName">
610                 <priority>1</priority>
611         </rule>
612         <rule ref="rulesets/naming.xml/BooleanGetMethodName">
613                 <priority>5</priority>
614         </rule>
615         <rule ref="rulesets/codesize.xml/NPathComplexity">
616                 <priority>3</priority>
617         </rule>
618         <rule ref="rulesets/codesize.xml/ExcessiveMethodLength">
619                 <properties>
620                                 <property name="minimun" value="50"/>
621                 </properties>
622                 <priority>3</priority>
623         </rule>
624         <rule ref="rulesets/codesize.xml/ExcessiveParameterList">
625                 <properties>
626                                 <property name="minimun" value="10"/>
627                 </properties>
628                 <priority>4</priority>
629         </rule>
630
631         <rule ref="rulesets/codesize.xml/ExcessiveClassLength">
632                 <properties>
633                                 <property name="minimun" value="1000"/>
634                 </properties>
635                 <priority>3</priority>
636         </rule>
637         <rule ref="rulesets/codesize.xml/CyclomaticComplexity">
638                 <properties>
639                                 <property name="reportLevel" value="25"/>
640                 </properties>
641                 <priority>3</priority>
642         </rule>
643         <rule ref="rulesets/codesize.xml/ExcessivePublicCount">
644                 <priority>4</priority>
645                 <properties>
646                                 <property name="reportLevel" value="20"/>
647                 </properties>
648         </rule>
649         <rule ref="rulesets/codesize.xml/TooManyFields">
650                 <priority>4</priority>
651         </rule>
652         <rule ref="rulesets/codesize.xml/NcssMethodCount">
653                 <priority>4</priority>
654         </rule>
655         <rule ref="rulesets/codesize.xml/NcssTypeCount">
656                 <priority>4</priority>
657         </rule>
658         <rule ref="rulesets/codesize.xml/NcssConstructorCount">
659                 <priority>4</priority>
660         </rule>
661         <rule ref="rulesets/codesize.xml/TooManyMethods">
662                 <properties>
663                         <property name="maxmethods" value="15"/> 
664                 </properties>
665                 <priority>4</priority>
666         </rule>
667         <rule ref="rulesets/unusedcode.xml/UnusedPrivateField">
668                 <priority>2</priority>
669         </rule>
670         <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable">
671                 <priority>2</priority>
672         </rule>
673         <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod">
674                 <priority>2</priority>
675         </rule>
676         <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter">
677                 <priority>5</priority>
678         </rule>
679         <rule class="net.sourceforge.pmd.rules.XPathRule" message="Avoid naming fields without the prefix '_'" name="FieldNamingRules">
680                   <description>
681         Detects when a field has not a name starting with '_'.  
682                   </description>
683                   <example><![CDATA[
684           
685           public class Foo {
686                 private int _foo; // OK
687                 private int bar; // Not good
688                 
689           }
690           
691                   ]]></example>
692                         <priority>1</priority>
693                         <properties>
694                                 <property name="xpath">
695                                         <value><![CDATA[
696                                                 
697         //FieldDeclaration[@Static='false']
698         //VariableDeclarator
699         //VariableDeclaratorId
700         [not(starts-with(@Image, '_'))]
701                                                 
702                                         ]]></value>
703                                 </property>
704                                 <property name="pluginname" value="true"/>
705                   </properties>
706         </rule>
707         <rule class="net.sourceforge.pmd.rules.XPathRule" message="Avoid parameters with the prefix '_'" name="ParametersNamingRules">
708                   <description>
709         Detects when a parameter has  a name starting with '_'.  
710                   </description>
711                   <example><![CDATA[
712           
713           public class Foo {
714                 private void foo(int bar) // OK
715                 private void foo2(int _bar) //  Not good
716                 
717           }
718           
719                   ]]></example>
720                         <priority>1</priority>
721                         <properties>
722                                 <property name="xpath">
723                                         <value><![CDATA[
724                                                 
725         //VariableDeclaratorId
726         [starts-with(@Image, '_')]
727         [not (../../../FieldDeclaration)]
728
729                                                 
730                                         ]]></value>
731                                 </property>
732                                 <property name="pluginname" value="true"/>
733                   </properties>
734         </rule>
735         <rule  name="DoNotUseConditionalExpression "
736                   message="Do not use condition?statement:statement;"
737                   class="net.sourceforge.pmd.rules.XPathRule">
738                   <description>
739                         Detect using of condition?statement:statement;
740                   </description>
741                   <priority>1</priority>
742                   <properties>
743                         <property name="xpath">
744                         <value>
745                                 <![CDATA[
746                                 //ConditionalExpression
747                                 ]]>
748                                         </value>
749                                         </property>
750                                   </properties>
751                                   <priority>3</priority>
752                                   <example>
753                                 <![CDATA[
754                                 public class Sample {
755                                         boolean bar(int x, int y) {
756                                         if (x== y) 
757                                                 same;
758                                         else
759                                                 diff;
760
761
762                                  return (x == y) ? same : diff;
763                                  // wrong
764                                  }
765
766
767                                 }
768                                 ]]>
769                 </example>
770         </rule>
771
772
773 </ruleset>