``` ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ ██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗ ██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝ ██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗ ██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║ ╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝ ``` # final class FileInjector (Details) > namespace: **VDM\Joomla\Componentbuilder\Compiler\Utilities** ```uml @startuml class FileInjector << (F,LightGreen) >> #RoyalBlue { # Power $power + __construct(Power $power) + add(string $file, string $data, ...) : void - openFileWithLock(string $file) : resource - processFile(resource $actual_file, resource $temp_file, ...) : void - truncateIfNeeded(resource $actual_file, string $data, ...) : void - copyRemainingData(resource $actual_file, resource $temp_file, ...) : void - injectSuperPowers(resource $actual_file) : void } note right of FileInjector::__construct Constructor. since: 3.2.0 end note note right of FileInjector::add Inserts or replaces data in a file at a specific position. since: 3.2.0 return: void arguments: string $file string $data int $position ?int $replace = null end note note right of FileInjector::openFileWithLock Opens a file and acquires an exclusive lock on it. since: 3.2.0 return: resource end note note right of FileInjector::processFile Processes the file for data insertion and copying the remaining data. since: 3.2.0 return: void arguments: resource $actual_file resource $temp_file string $data int $position ?int $replace end note note right of FileInjector::truncateIfNeeded Truncates the file after data insertion if necessary. since: 3.2.0 return: void arguments: resource $actual_file string $data int $position end note note right of FileInjector::copyRemainingData Copies the remaining data from the temporary stream to the actual file. since: 3.2.0 return: void arguments: resource $actual_file resource $temp_file int $position ?int $replace end note note right of FileInjector::injectSuperPowers Injects super powers into the file content, if found, and updates the file. since: 3.2.0 return: void end note @enduml ``` --- ``` ██╗ ██████╗██████╗ ██║██╔════╝██╔══██╗ ██║██║ ██████╔╝ ██ ██║██║ ██╔══██╗ ╚█████╔╝╚██████╗██████╔╝ ╚════╝ ╚═════╝╚═════╝ ``` > Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)