use base ("Understand::Codecheck"); use strict; use File::Basename; use Codecheck::Libraries::NamingConventions; my $kind = "File"; my $kindPlural ="Files"; my $languageText = "Java"; my $languageTest = "Java"; my $canChangePrecedence = 0; my $defaultAll =1; my @kindStrings = qw(); my %kindNameLookup = (); sub check { my ($check,$file) =@_; return unless $file->kind->check("Java file"); setlib(); my($filename,$path,$suffix) = fileparse($file->longname,qr/\.[^.]*/); #Build the list of Kinds for this variable my $kindString = $file->kind->longname(); my $varkindNameArray = getPrimaryKind($check,$kindString); my $errors = checkNamingRules($filename,$varkindNameArray,$check); $check->violation($file,$file,-1,-1,NAMEERROR,$Codecheck::Libraries::NamingConventions::kindNameLookup{$varkindNameArray},$filename,$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 1;} sub test_global { return 0;}