``` ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ ██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗ ██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝ ██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗ ██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║ ╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝ ``` # class Structure (Details) > namespace: **VDM\Joomla\Componentbuilder\Compiler\Joomlaplugin** ```uml @startuml class Structure #Gold { # Plugin $plugin # Component $component # Config $config # Registry $registry # Dispenser $dispenser # Event $event # Counter $counter # Folder $folder # File $file # Files $files + __construct(Plugin $plugin, Component $component, ...) + build() : void # getXML(object $plugin) : string # pluginPath(object $plugin) : void # setMainClassFile(object $plugin) : void # setMainXmlFile(object $plugin) : void # setInstallScript(object $plugin) : void # setReadme(object $plugin) : void # setForms(object $plugin) : void # setSQL(object $plugin) : void # setFiles(object $plugin) : void # setFolders(object $plugin) : void # setUrls(object $plugin) : void } note right of Structure::__construct Constructor. since: 3.2.0 arguments: Plugin $plugin Component $component Config $config Registry $registry Dispenser $dispenser Event $event Counter $counter Folder $folder File $file Files $files end note note left of Structure::build Build the Plugins files, folders, url's and config since: 3.2.0 return: void end note note right of Structure::getXML get the plugin xml template since: 3.2.0 return: string end note note left of Structure::pluginPath set the plugin path since: 3.2.0 return: void end note note right of Structure::setMainClassFile set the main class path since: 3.2.0 return: void end note note left of Structure::setMainXmlFile set the main xml file since: 3.2.0 return: void end note note right of Structure::setInstallScript set the install script file since: 3.2.0 return: void end note note left of Structure::setReadme set the readme file since: 3.2.0 return: void end note note right of Structure::setForms set the form files and folders since: 3.2.0 return: void end note note left of Structure::setSQL set the sql stuff since: 3.2.0 return: void end note note right of Structure::setFiles set the files since: 3.2.0 return: void end note note left of Structure::setFolders set the folders since: 3.2.0 return: void end note note right of Structure::setUrls set the urls since: 3.2.0 return: void end note @enduml ``` --- ``` ██╗ ██████╗██████╗ ██║██╔════╝██╔══██╗ ██║██║ ██████╔╝ ██ ██║██║ ██╔══██╗ ╚█████╔╝╚██████╗██████╔╝ ╚════╝ ╚═════╝╚═════╝ ``` > Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)