use base ("Understand::Codecheck"); use strict; use Codecheck::Libraries::NamingConventions; my $kind = "Package"; my $kindPlural ="Packages"; my $languageText = "Java"; my $languageTest = "Java"; my $canChangePrecedence = 0; my $defaultAll =1; my @kindStrings = qw(); my %kindNameLookup = (); sub check { my ($check) =@_; setlib(); foreach my $var ($check->db->ents("Java Package ~unknown ~unresolved ~unnamed")){ #Build the list of Kinds for this variable my $kindString = $var->kind->longname(); my $varkindNameArray = getPrimaryKind($check,$kindString); my $errors = checkNamingRules($var->name,$varkindNameArray,$check); $check->violation($var,0,-1,-1,NAMEERROR,$Codecheck::Libraries::NamingConventions::kindNameLookup{$varkindNameArray},$var->name,$errors) if $errors; } } #Template code, do not modify below this line sub setlib{ @Codecheck::Libraries::NamingConventions::kindStrings = @kindStrings; %Codecheck::Libraries::NamingConventions::kindNameLookup = %kindNameLookup; setOptions($kind,$kindPlural,$languageText,$languageTest,$canChangePrecedence,$defaultAll); } sub register_tr_text {registerNamingErrors(shift);} sub name {setlib; return "Naming Convention: $kindPlural";} sub description {setlib;return "Define naming convention for $languageText $kindPlural";} sub detailed_description { setlib;return getNamingDescription();} sub test_language { setlib;return shift eq $languageTest;} sub define_options{ setlib;setNamingOptions(shift);} sub test_entity { return 0;} sub test_global { return 1;}