dolibarr 24.0.0-beta
NamingContractValidator Interface Reference

Validates that generated modulebuilder files contain no residual myobject/mymodule tokens. More...

Inheritance diagram for NamingContractValidator:

Public Member Functions

 validateContent (string $content, string $filePath)
 Scan file content for residual naming tokens after substitution.
 
 validateClassName (string $className, NamingContract $nc)
 Validate that a PHP class name matches the contract's objectNameCase.
 
 validateTriggerFilename (string $filename, NamingContract $nc)
 Validate that a trigger filename matches the expected pattern.
 
 validateUrl (string $url, NamingContract $nc)
 Validate that a URL path contains objectNameLower and no residual 'myobject'.
 
 validateRightsKey (string $rightsKey, NamingContract $nc)
 Validate a rights key matches format "moduleNameLower.objectNameLower.perms".
 

Detailed Description

Validates that generated modulebuilder files contain no residual myobject/mymodule tokens.

Definition at line 28 of file NamingContractValidator.class.php.

Member Function Documentation

◆ validateClassName()

NamingContractValidator::validateClassName ( string $className,
NamingContract $nc )

Validate that a PHP class name matches the contract's objectNameCase.

Parameters
string$classNameClass name to validate
NamingContract$ncNaming contract to compare against
Returns
bool True if className matches object naming

Implemented in StrictNamingContractValidator.

◆ validateContent()

NamingContractValidator::validateContent ( string $content,
string $filePath )

Scan file content for residual naming tokens after substitution.

Lines containing non-renamable MODULEBUILDER structural markers are excluded from validation.

Parameters
string$contentFull file content to validate
string$filePathUsed in error messages only
Returns
string[] List of human-readable errors — empty array means valid

Implemented in StrictNamingContractValidator.

◆ validateRightsKey()

NamingContractValidator::validateRightsKey ( string $rightsKey,
NamingContract $nc )

Validate a rights key matches format "moduleNameLower.objectNameLower.perms".

Parameters
string$rightsKeyRights key to validate
NamingContract$ncNaming contract to compare against
Returns
bool True if the rightsKey matches expected format

Implemented in StrictNamingContractValidator.

◆ validateTriggerFilename()

NamingContractValidator::validateTriggerFilename ( string $filename,
NamingContract $nc )

Validate that a trigger filename matches the expected pattern.

Expected pattern: interface_NN_mod{ModuleNameCase}_{ModuleNameCase}Triggers.class.php

Parameters
string$filenameTrigger filename to validate
NamingContract$ncNaming contract to compare against
Returns
bool True if filename matches pattern

Implemented in StrictNamingContractValidator.

◆ validateUrl()

NamingContractValidator::validateUrl ( string $url,
NamingContract $nc )

Validate that a URL path contains objectNameLower and no residual 'myobject'.

Parameters
string$urlURL path to validate
NamingContract$ncNaming contract to compare against
Returns
bool True if url path is cleaned from myobject and has objectNameLower

Implemented in StrictNamingContractValidator.


The documentation for this interface was generated from the following file: