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