From 14d789292dc55762ec0c9726556a1badb2900a79 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 16:07:59 +0300 Subject: [PATCH 01/34] Moving lib to the src dir --- composer.json | 4 ++-- {BumbleDocGen => src}/Core/Cache/EntityCacheItemPool.php | 0 .../Cache/LocalCache/Exception/ObjectNotFoundException.php | 0 .../Core/Cache/LocalCache/LocalObjectCache.php | 0 .../Core/Cache/SharedCompressedDocumentFileCache.php | 0 .../Core/Cache/SourceLocatorCacheItemPool.php | 0 {BumbleDocGen => src}/Core/Configuration/Configuration.php | 0 .../Core/Configuration/ConfigurationParameterBag.php | 0 .../Exception/InvalidConfigurationParameterException.php | 0 .../Core/Configuration/ValueResolver/ArgvValueResolver.php | 0 .../Configuration/ValueResolver/InternalValueResolver.php | 0 .../Core/Configuration/ValueResolver/RefValueResolver.php | 0 .../Configuration/ValueResolver/ValueResolverInterface.php | 0 .../ValueTransformer/ValueToClassTransformer.php | 0 .../ValueTransformer/ValueTransformerInterface.php | 0 .../Core/Configuration/defaultConfiguration.yaml | 0 {BumbleDocGen => src}/Core/Console/ProgressBarFactory.php | 0 {BumbleDocGen => src}/Core/Console/StylizedProgressBar.php | 0 .../Core/Parser/Entity/BaseEntityCollection.php | 0 .../Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php | 0 .../Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php | 0 .../Cache/CacheKey/RendererContextCacheKeyGenerator.php | 0 .../Core/Parser/Entity/Cache/CacheableEntityInterface.php | 0 .../Core/Parser/Entity/Cache/CacheableEntityTrait.php | 0 .../Parser/Entity/Cache/CacheableEntityWrapperFactory.php | 0 .../Parser/Entity/Cache/CacheableEntityWrapperTrait.php | 0 .../Core/Parser/Entity/Cache/CacheableMethod.php | 0 .../Core/Parser/Entity/Cache/EntityCacheStorageHelper.php | 0 .../Parser/Entity/CollectionLogOperation/CloneOperation.php | 0 .../CollectionLogOperation/IterateEntitiesOperation.php | 0 .../Entity/CollectionLogOperation/OperationInterface.php | 0 .../Entity/CollectionLogOperation/OperationsCollection.php | 0 .../CollectionLogOperation/SingleEntitySearchOperation.php | 0 .../Core/Parser/Entity/EntityInterface.php | 0 .../Core/Parser/Entity/LoggableRootEntityCollection.php | 0 .../Core/Parser/Entity/RootEntityCollection.php | 0 .../Core/Parser/Entity/RootEntityCollectionsGroup.php | 0 .../Core/Parser/Entity/RootEntityInterface.php | 0 .../CommonFilterCondition/FalseCondition.php | 0 .../CommonFilterCondition/FileTextContainsCondition.php | 0 .../CommonFilterCondition/LocatedInCondition.php | 0 .../FilterCondition/CommonFilterCondition/TrueCondition.php | 0 .../Core/Parser/FilterCondition/ConditionGroup.php | 0 .../Core/Parser/FilterCondition/ConditionGroupTypeEnum.php | 0 .../Core/Parser/FilterCondition/ConditionInterface.php | 0 {BumbleDocGen => src}/Core/Parser/ProjectParser.php | 0 .../Core/Parser/SourceLocator/BaseSourceLocator.php | 0 .../Core/Parser/SourceLocator/DirectoriesSourceLocator.php | 0 .../Core/Parser/SourceLocator/FileIteratorSourceLocator.php | 0 .../SourceLocator/RecursiveDirectoriesSourceLocator.php | 0 .../Core/Parser/SourceLocator/SingleFileSourceLocator.php | 0 .../Core/Parser/SourceLocator/SourceLocatorInterface.php | 0 .../Core/Parser/SourceLocator/SourceLocatorsCollection.php | 0 .../CorePlugin/LastPageCommitter/LastPageCommitter.php | 0 .../Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php | 0 .../Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php | 0 .../Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php | 0 .../Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php | 0 .../Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php | 0 .../Core/Plugin/Event/Renderer/OnGettingResourceLink.php | 0 .../Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php | 0 .../Core/Plugin/OnlySingleExecutionEvent.php | 0 {BumbleDocGen => src}/Core/Plugin/PluginEventDispatcher.php | 0 {BumbleDocGen => src}/Core/Plugin/PluginInterface.php | 0 {BumbleDocGen => src}/Core/Plugin/PluginsCollection.php | 0 .../Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php | 0 .../Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php | 0 .../Renderer/Breadcrumbs/templates/breadcrumbs.html.twig | 0 .../Renderer/Context/Dependency/DirectoryDependency.php | 0 .../Core/Renderer/Context/Dependency/FileDependency.php | 0 .../Context/Dependency/RendererDependencyFactory.php | 0 .../Context/Dependency/RendererDependencyInterface.php | 0 .../Context/DocumentTransformableEntityInterface.php | 0 .../Core/Renderer/Context/DocumentedEntityWrapper.php | 0 .../Renderer/Context/DocumentedEntityWrappersCollection.php | 0 .../Core/Renderer/Context/RendererContext.php | 0 .../EntityDocRenderer/EntityDocRendererInterface.php | 0 .../EntityDocRenderer/EntityDocRenderersCollection.php | 0 .../Renderer/PageLinkProcessor/BasePageLinkProcessor.php | 0 .../Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php | 0 .../PageLinkProcessor/PageLinkProcessorInterface.php | 0 {BumbleDocGen => src}/Core/Renderer/Renderer.php | 0 {BumbleDocGen => src}/Core/Renderer/RendererHelper.php | 0 .../Core/Renderer/RendererIteratorFactory.php | 0 .../Core/Renderer/Twig/Filter/AddIndentFromLeft.php | 0 .../Core/Renderer/Twig/Filter/CustomFilterInterface.php | 0 .../Core/Renderer/Twig/Filter/CustomFiltersCollection.php | 0 .../Core/Renderer/Twig/Filter/FixStrSize.php | 0 .../Core/Renderer/Twig/Filter/PregMatch.php | 0 .../Core/Renderer/Twig/Filter/PrepareSourceLink.php | 0 .../Core/Renderer/Twig/Filter/Quotemeta.php | 0 .../Core/Renderer/Twig/Filter/RemoveLineBrakes.php | 0 .../Core/Renderer/Twig/Filter/StrTypeToUrl.php | 0 .../Core/Renderer/Twig/Filter/TextToCodeBlock.php | 0 .../Core/Renderer/Twig/Filter/TextToHeading.php | 0 .../Core/Renderer/Twig/Function/CustomFunctionInterface.php | 0 .../Renderer/Twig/Function/CustomFunctionsCollection.php | 0 .../Core/Renderer/Twig/Function/DrawDocumentationMenu.php | 0 .../Renderer/Twig/Function/DrawDocumentedEntityLink.php | 0 .../Core/Renderer/Twig/Function/FileGetContents.php | 0 .../Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php | 0 .../Core/Renderer/Twig/Function/GetDocumentationPageUrl.php | 0 .../Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php | 0 .../Core/Renderer/Twig/Function/LoadPluginsContent.php | 0 .../Renderer/Twig/Function/PrintEntityCollectionAsList.php | 0 {BumbleDocGen => src}/Core/Renderer/Twig/MainExtension.php | 0 .../Core/Renderer/Twig/MainTwigEnvironment.php | 0 {BumbleDocGen => src}/Core/utils.php | 0 {BumbleDocGen => src}/DocGenerator.php | 0 {BumbleDocGen => src}/DocGeneratorFactory.php | 0 .../LanguageHandler/LanguageHandlerInterface.php | 0 .../LanguageHandler/LanguageHandlersCollection.php | 0 .../LanguageHandler/Php/Parser/Entity/BaseEntity.php | 0 .../Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php | 0 .../LanguageHandler/Php/Parser/Entity/ClassEntity.php | 0 .../Php/Parser/Entity/ClassEntityCollection.php | 0 .../LanguageHandler/Php/Parser/Entity/ConstantEntity.php | 0 .../Php/Parser/Entity/ConstantEntityCollection.php | 0 .../Php/Parser/Entity/DynamicMethodEntity.php | 0 .../Php/Parser/Entity/Exception/ReflectionException.php | 0 .../LanguageHandler/Php/Parser/Entity/MethodEntity.php | 0 .../Php/Parser/Entity/MethodEntityCollection.php | 0 .../Php/Parser/Entity/MethodEntityInterface.php | 0 .../LanguageHandler/Php/Parser/Entity/PropertyEntity.php | 0 .../Php/Parser/Entity/PropertyEntityCollection.php | 0 .../Php/Parser/Entity/Reflection/ReflectorWrapper.php | 0 .../ClassConstantFilterCondition/IsPrivateCondition.php | 0 .../ClassConstantFilterCondition/IsProtectedCondition.php | 0 .../ClassConstantFilterCondition/IsPublicCondition.php | 0 .../ClassConstantFilterCondition/VisibilityCondition.php | 0 .../ClassFilterCondition/VisibilityConditionModifier.php | 0 .../MethodFilterCondition/IsPrivateCondition.php | 0 .../MethodFilterCondition/IsProtectedCondition.php | 0 .../MethodFilterCondition/IsPublicCondition.php | 0 .../MethodFilterCondition/OnlyFromCurrentClassCondition.php | 0 .../MethodFilterCondition/VisibilityCondition.php | 0 .../PropertyFilterCondition/IsPrivateCondition.php | 0 .../PropertyFilterCondition/IsProtectedCondition.php | 0 .../PropertyFilterCondition/IsPublicCondition.php | 0 .../OnlyFromCurrentClassCondition.php | 0 .../PropertyFilterCondition/VisibilityCondition.php | 0 .../LanguageHandler/Php/Parser/ParserHelper.php | 0 .../Php/Parser/SourceLocator/AsyncSourceLocator.php | 0 .../Parser/SourceLocator/CustomSourceLocatorInterface.php | 0 .../Parser/SourceLocator/Internal/CachedSourceLocator.php | 0 .../SourceLocator/Internal/SystemAsyncSourceLocator.php | 0 {BumbleDocGen => src}/LanguageHandler/Php/PhpHandler.php | 0 .../LanguageHandler/Php/PhpHandlerSettings.php | 0 .../CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php | 0 .../CorePlugin/BasePhpStubber/ComposerStubberPlugin.php | 0 .../BasePhpStubber/PhpDocumentorStubberPlugin.php | 0 .../CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php | 0 .../CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php | 0 .../BasePhpStubber/SymfonyComponentStubberPlugin.php | 0 .../Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php | 0 .../Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php | 0 .../Event/Parser/AfterLoadingClassEntityCollection.php | 0 .../Plugin/Event/Parser/OnAddClassEntityToCollection.php | 0 .../Renderer/EntityDocRenderer/EntityDocRendererHelper.php | 0 .../PhpClassToMd/PhpClassRendererTwigEnvironment.php | 0 .../PhpClassToMd/PhpClassToMdDocRenderer.php | 0 .../PhpClassToMd/templates/_classHeader.md.twig | 0 .../PhpClassToMd/templates/_classMainInfo.md.twig | 0 .../PhpClassToMd/templates/_constants.md.twig | 0 .../PhpClassToMd/templates/_enumCases.md.twig | 0 .../PhpClassToMd/templates/_method_details.md.twig | 0 .../PhpClassToMd/templates/_methods.md.twig | 0 .../PhpClassToMd/templates/_properties.md.twig | 0 .../PhpClassToMd/templates/_property_details.md.twig | 0 .../PhpClassToMd/templates/_traits.md.twig | 0 .../EntityDocRenderer/PhpClassToMd/templates/class.md.twig | 0 .../Php/Renderer/Twig/Function/DrawClassMap.php | 0 .../Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php | 0 .../LanguageHandler/Php/phpHandlerDefaultSettings.yaml | 6 +----- .../TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php | 0 .../TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php | 0 .../ChatGpt/TemplatesStructureGenerator.php | 0 .../ChatGpt/prompts/missingDocBlockGeneration | 0 .../TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller | 0 .../TemplateGenerator/ChatGpt/prompts/structureGeneration | 0 {BumbleDocGen => src}/di-config.php | 0 181 files changed, 3 insertions(+), 7 deletions(-) rename {BumbleDocGen => src}/Core/Cache/EntityCacheItemPool.php (100%) rename {BumbleDocGen => src}/Core/Cache/LocalCache/Exception/ObjectNotFoundException.php (100%) rename {BumbleDocGen => src}/Core/Cache/LocalCache/LocalObjectCache.php (100%) rename {BumbleDocGen => src}/Core/Cache/SharedCompressedDocumentFileCache.php (100%) rename {BumbleDocGen => src}/Core/Cache/SourceLocatorCacheItemPool.php (100%) rename {BumbleDocGen => src}/Core/Configuration/Configuration.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ConfigurationParameterBag.php (100%) rename {BumbleDocGen => src}/Core/Configuration/Exception/InvalidConfigurationParameterException.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueResolver/ArgvValueResolver.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueResolver/InternalValueResolver.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueResolver/RefValueResolver.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueResolver/ValueResolverInterface.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueTransformer/ValueToClassTransformer.php (100%) rename {BumbleDocGen => src}/Core/Configuration/ValueTransformer/ValueTransformerInterface.php (100%) rename {BumbleDocGen => src}/Core/Configuration/defaultConfiguration.yaml (100%) rename {BumbleDocGen => src}/Core/Console/ProgressBarFactory.php (100%) rename {BumbleDocGen => src}/Core/Console/StylizedProgressBar.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/BaseEntityCollection.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheKey/RendererContextCacheKeyGenerator.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheableEntityInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheableEntityTrait.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheableEntityWrapperFactory.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheableEntityWrapperTrait.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/CacheableMethod.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/Cache/EntityCacheStorageHelper.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/CollectionLogOperation/CloneOperation.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/CollectionLogOperation/IterateEntitiesOperation.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/CollectionLogOperation/OperationInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/CollectionLogOperation/OperationsCollection.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/CollectionLogOperation/SingleEntitySearchOperation.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/EntityInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/LoggableRootEntityCollection.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/RootEntityCollection.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/RootEntityCollectionsGroup.php (100%) rename {BumbleDocGen => src}/Core/Parser/Entity/RootEntityInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/CommonFilterCondition/FalseCondition.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/CommonFilterCondition/FileTextContainsCondition.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/CommonFilterCondition/LocatedInCondition.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/CommonFilterCondition/TrueCondition.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/ConditionGroup.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/ConditionGroupTypeEnum.php (100%) rename {BumbleDocGen => src}/Core/Parser/FilterCondition/ConditionInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/ProjectParser.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/BaseSourceLocator.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/DirectoriesSourceLocator.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/FileIteratorSourceLocator.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/RecursiveDirectoriesSourceLocator.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/SingleFileSourceLocator.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/SourceLocatorInterface.php (100%) rename {BumbleDocGen => src}/Core/Parser/SourceLocator/SourceLocatorsCollection.php (100%) rename {BumbleDocGen => src}/Core/Plugin/CorePlugin/LastPageCommitter/LastPageCommitter.php (100%) rename {BumbleDocGen => src}/Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php (100%) rename {BumbleDocGen => src}/Core/Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php (100%) rename {BumbleDocGen => src}/Core/Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php (100%) rename {BumbleDocGen => src}/Core/Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php (100%) rename {BumbleDocGen => src}/Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php (100%) rename {BumbleDocGen => src}/Core/Plugin/Event/Renderer/OnGettingResourceLink.php (100%) rename {BumbleDocGen => src}/Core/Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php (100%) rename {BumbleDocGen => src}/Core/Plugin/OnlySingleExecutionEvent.php (100%) rename {BumbleDocGen => src}/Core/Plugin/PluginEventDispatcher.php (100%) rename {BumbleDocGen => src}/Core/Plugin/PluginInterface.php (100%) rename {BumbleDocGen => src}/Core/Plugin/PluginsCollection.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Breadcrumbs/templates/breadcrumbs.html.twig (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/Dependency/DirectoryDependency.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/Dependency/FileDependency.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/Dependency/RendererDependencyFactory.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/Dependency/RendererDependencyInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/DocumentTransformableEntityInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/DocumentedEntityWrapper.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/DocumentedEntityWrappersCollection.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Context/RendererContext.php (100%) rename {BumbleDocGen => src}/Core/Renderer/EntityDocRenderer/EntityDocRendererInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/EntityDocRenderer/EntityDocRenderersCollection.php (100%) rename {BumbleDocGen => src}/Core/Renderer/PageLinkProcessor/BasePageLinkProcessor.php (100%) rename {BumbleDocGen => src}/Core/Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php (100%) rename {BumbleDocGen => src}/Core/Renderer/PageLinkProcessor/PageLinkProcessorInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Renderer.php (100%) rename {BumbleDocGen => src}/Core/Renderer/RendererHelper.php (100%) rename {BumbleDocGen => src}/Core/Renderer/RendererIteratorFactory.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/AddIndentFromLeft.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/CustomFilterInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/CustomFiltersCollection.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/FixStrSize.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/PregMatch.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/PrepareSourceLink.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/Quotemeta.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/RemoveLineBrakes.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/StrTypeToUrl.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/TextToCodeBlock.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Filter/TextToHeading.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/CustomFunctionInterface.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/CustomFunctionsCollection.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/DrawDocumentationMenu.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/DrawDocumentedEntityLink.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/FileGetContents.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/GetDocumentationPageUrl.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/LoadPluginsContent.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/Function/PrintEntityCollectionAsList.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/MainExtension.php (100%) rename {BumbleDocGen => src}/Core/Renderer/Twig/MainTwigEnvironment.php (100%) rename {BumbleDocGen => src}/Core/utils.php (100%) rename {BumbleDocGen => src}/DocGenerator.php (100%) rename {BumbleDocGen => src}/DocGeneratorFactory.php (100%) rename {BumbleDocGen => src}/LanguageHandler/LanguageHandlerInterface.php (100%) rename {BumbleDocGen => src}/LanguageHandler/LanguageHandlersCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/BaseEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/ClassEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/ConstantEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/ConstantEntityCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/DynamicMethodEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/Exception/ReflectionException.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/MethodEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/MethodEntityCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/MethodEntityInterface.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/PropertyEntity.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/PropertyEntityCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/Entity/Reflection/ReflectorWrapper.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPrivateCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsProtectedCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPublicCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/VisibilityCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/ClassFilterCondition/VisibilityConditionModifier.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPrivateCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsProtectedCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPublicCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/OnlyFromCurrentClassCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/VisibilityCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPrivateCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsProtectedCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPublicCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/OnlyFromCurrentClassCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/VisibilityCondition.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/ParserHelper.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/SourceLocator/AsyncSourceLocator.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/SourceLocator/CustomSourceLocatorInterface.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/SourceLocator/Internal/CachedSourceLocator.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Parser/SourceLocator/Internal/SystemAsyncSourceLocator.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/PhpHandler.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/PhpHandlerSettings.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/ComposerStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/SymfonyComponentStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/Event/Parser/AfterLoadingClassEntityCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Plugin/Event/Parser/OnAddClassEntityToCollection.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassRendererTwigEnvironment.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassToMdDocRenderer.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classHeader.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classMainInfo.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_constants.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_enumCases.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_methods.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_properties.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_property_details.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_traits.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/class.md.twig (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php (100%) rename {BumbleDocGen => src}/LanguageHandler/Php/phpHandlerDefaultSettings.yaml (85%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php (100%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php (100%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/TemplatesStructureGenerator.php (100%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/prompts/missingDocBlockGeneration (100%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller (100%) rename {BumbleDocGen => src}/TemplateGenerator/ChatGpt/prompts/structureGeneration (100%) rename {BumbleDocGen => src}/di-config.php (100%) diff --git a/composer.json b/composer.json index 2fa304d1..52e5abc4 100644 --- a/composer.json +++ b/composer.json @@ -46,10 +46,10 @@ }, "autoload": { "psr-4": { - "BumbleDocGen\\": "BumbleDocGen/" + "BumbleDocGen\\": "src/" }, "files": [ - "BumbleDocGen/Core/utils.php" + "src/Core/utils.php" ] }, "autoload-dev": { diff --git a/BumbleDocGen/Core/Cache/EntityCacheItemPool.php b/src/Core/Cache/EntityCacheItemPool.php similarity index 100% rename from BumbleDocGen/Core/Cache/EntityCacheItemPool.php rename to src/Core/Cache/EntityCacheItemPool.php diff --git a/BumbleDocGen/Core/Cache/LocalCache/Exception/ObjectNotFoundException.php b/src/Core/Cache/LocalCache/Exception/ObjectNotFoundException.php similarity index 100% rename from BumbleDocGen/Core/Cache/LocalCache/Exception/ObjectNotFoundException.php rename to src/Core/Cache/LocalCache/Exception/ObjectNotFoundException.php diff --git a/BumbleDocGen/Core/Cache/LocalCache/LocalObjectCache.php b/src/Core/Cache/LocalCache/LocalObjectCache.php similarity index 100% rename from BumbleDocGen/Core/Cache/LocalCache/LocalObjectCache.php rename to src/Core/Cache/LocalCache/LocalObjectCache.php diff --git a/BumbleDocGen/Core/Cache/SharedCompressedDocumentFileCache.php b/src/Core/Cache/SharedCompressedDocumentFileCache.php similarity index 100% rename from BumbleDocGen/Core/Cache/SharedCompressedDocumentFileCache.php rename to src/Core/Cache/SharedCompressedDocumentFileCache.php diff --git a/BumbleDocGen/Core/Cache/SourceLocatorCacheItemPool.php b/src/Core/Cache/SourceLocatorCacheItemPool.php similarity index 100% rename from BumbleDocGen/Core/Cache/SourceLocatorCacheItemPool.php rename to src/Core/Cache/SourceLocatorCacheItemPool.php diff --git a/BumbleDocGen/Core/Configuration/Configuration.php b/src/Core/Configuration/Configuration.php similarity index 100% rename from BumbleDocGen/Core/Configuration/Configuration.php rename to src/Core/Configuration/Configuration.php diff --git a/BumbleDocGen/Core/Configuration/ConfigurationParameterBag.php b/src/Core/Configuration/ConfigurationParameterBag.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ConfigurationParameterBag.php rename to src/Core/Configuration/ConfigurationParameterBag.php diff --git a/BumbleDocGen/Core/Configuration/Exception/InvalidConfigurationParameterException.php b/src/Core/Configuration/Exception/InvalidConfigurationParameterException.php similarity index 100% rename from BumbleDocGen/Core/Configuration/Exception/InvalidConfigurationParameterException.php rename to src/Core/Configuration/Exception/InvalidConfigurationParameterException.php diff --git a/BumbleDocGen/Core/Configuration/ValueResolver/ArgvValueResolver.php b/src/Core/Configuration/ValueResolver/ArgvValueResolver.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueResolver/ArgvValueResolver.php rename to src/Core/Configuration/ValueResolver/ArgvValueResolver.php diff --git a/BumbleDocGen/Core/Configuration/ValueResolver/InternalValueResolver.php b/src/Core/Configuration/ValueResolver/InternalValueResolver.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueResolver/InternalValueResolver.php rename to src/Core/Configuration/ValueResolver/InternalValueResolver.php diff --git a/BumbleDocGen/Core/Configuration/ValueResolver/RefValueResolver.php b/src/Core/Configuration/ValueResolver/RefValueResolver.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueResolver/RefValueResolver.php rename to src/Core/Configuration/ValueResolver/RefValueResolver.php diff --git a/BumbleDocGen/Core/Configuration/ValueResolver/ValueResolverInterface.php b/src/Core/Configuration/ValueResolver/ValueResolverInterface.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueResolver/ValueResolverInterface.php rename to src/Core/Configuration/ValueResolver/ValueResolverInterface.php diff --git a/BumbleDocGen/Core/Configuration/ValueTransformer/ValueToClassTransformer.php b/src/Core/Configuration/ValueTransformer/ValueToClassTransformer.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueTransformer/ValueToClassTransformer.php rename to src/Core/Configuration/ValueTransformer/ValueToClassTransformer.php diff --git a/BumbleDocGen/Core/Configuration/ValueTransformer/ValueTransformerInterface.php b/src/Core/Configuration/ValueTransformer/ValueTransformerInterface.php similarity index 100% rename from BumbleDocGen/Core/Configuration/ValueTransformer/ValueTransformerInterface.php rename to src/Core/Configuration/ValueTransformer/ValueTransformerInterface.php diff --git a/BumbleDocGen/Core/Configuration/defaultConfiguration.yaml b/src/Core/Configuration/defaultConfiguration.yaml similarity index 100% rename from BumbleDocGen/Core/Configuration/defaultConfiguration.yaml rename to src/Core/Configuration/defaultConfiguration.yaml diff --git a/BumbleDocGen/Core/Console/ProgressBarFactory.php b/src/Core/Console/ProgressBarFactory.php similarity index 100% rename from BumbleDocGen/Core/Console/ProgressBarFactory.php rename to src/Core/Console/ProgressBarFactory.php diff --git a/BumbleDocGen/Core/Console/StylizedProgressBar.php b/src/Core/Console/StylizedProgressBar.php similarity index 100% rename from BumbleDocGen/Core/Console/StylizedProgressBar.php rename to src/Core/Console/StylizedProgressBar.php diff --git a/BumbleDocGen/Core/Parser/Entity/BaseEntityCollection.php b/src/Core/Parser/Entity/BaseEntityCollection.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/BaseEntityCollection.php rename to src/Core/Parser/Entity/BaseEntityCollection.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php b/src/Core/Parser/Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php rename to src/Core/Parser/Entity/Cache/CacheKey/CacheKeyGeneratorInterface.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php b/src/Core/Parser/Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php rename to src/Core/Parser/Entity/Cache/CacheKey/DefaultCacheKeyGenerator.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/RendererContextCacheKeyGenerator.php b/src/Core/Parser/Entity/Cache/CacheKey/RendererContextCacheKeyGenerator.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheKey/RendererContextCacheKeyGenerator.php rename to src/Core/Parser/Entity/Cache/CacheKey/RendererContextCacheKeyGenerator.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityInterface.php b/src/Core/Parser/Entity/Cache/CacheableEntityInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityInterface.php rename to src/Core/Parser/Entity/Cache/CacheableEntityInterface.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityTrait.php b/src/Core/Parser/Entity/Cache/CacheableEntityTrait.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityTrait.php rename to src/Core/Parser/Entity/Cache/CacheableEntityTrait.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityWrapperFactory.php b/src/Core/Parser/Entity/Cache/CacheableEntityWrapperFactory.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityWrapperFactory.php rename to src/Core/Parser/Entity/Cache/CacheableEntityWrapperFactory.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityWrapperTrait.php b/src/Core/Parser/Entity/Cache/CacheableEntityWrapperTrait.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheableEntityWrapperTrait.php rename to src/Core/Parser/Entity/Cache/CacheableEntityWrapperTrait.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/CacheableMethod.php b/src/Core/Parser/Entity/Cache/CacheableMethod.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/CacheableMethod.php rename to src/Core/Parser/Entity/Cache/CacheableMethod.php diff --git a/BumbleDocGen/Core/Parser/Entity/Cache/EntityCacheStorageHelper.php b/src/Core/Parser/Entity/Cache/EntityCacheStorageHelper.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/Cache/EntityCacheStorageHelper.php rename to src/Core/Parser/Entity/Cache/EntityCacheStorageHelper.php diff --git a/BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/CloneOperation.php b/src/Core/Parser/Entity/CollectionLogOperation/CloneOperation.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/CloneOperation.php rename to src/Core/Parser/Entity/CollectionLogOperation/CloneOperation.php diff --git a/BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/IterateEntitiesOperation.php b/src/Core/Parser/Entity/CollectionLogOperation/IterateEntitiesOperation.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/IterateEntitiesOperation.php rename to src/Core/Parser/Entity/CollectionLogOperation/IterateEntitiesOperation.php diff --git a/BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/OperationInterface.php b/src/Core/Parser/Entity/CollectionLogOperation/OperationInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/OperationInterface.php rename to src/Core/Parser/Entity/CollectionLogOperation/OperationInterface.php diff --git a/BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/OperationsCollection.php b/src/Core/Parser/Entity/CollectionLogOperation/OperationsCollection.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/OperationsCollection.php rename to src/Core/Parser/Entity/CollectionLogOperation/OperationsCollection.php diff --git a/BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/SingleEntitySearchOperation.php b/src/Core/Parser/Entity/CollectionLogOperation/SingleEntitySearchOperation.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/CollectionLogOperation/SingleEntitySearchOperation.php rename to src/Core/Parser/Entity/CollectionLogOperation/SingleEntitySearchOperation.php diff --git a/BumbleDocGen/Core/Parser/Entity/EntityInterface.php b/src/Core/Parser/Entity/EntityInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/EntityInterface.php rename to src/Core/Parser/Entity/EntityInterface.php diff --git a/BumbleDocGen/Core/Parser/Entity/LoggableRootEntityCollection.php b/src/Core/Parser/Entity/LoggableRootEntityCollection.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/LoggableRootEntityCollection.php rename to src/Core/Parser/Entity/LoggableRootEntityCollection.php diff --git a/BumbleDocGen/Core/Parser/Entity/RootEntityCollection.php b/src/Core/Parser/Entity/RootEntityCollection.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/RootEntityCollection.php rename to src/Core/Parser/Entity/RootEntityCollection.php diff --git a/BumbleDocGen/Core/Parser/Entity/RootEntityCollectionsGroup.php b/src/Core/Parser/Entity/RootEntityCollectionsGroup.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/RootEntityCollectionsGroup.php rename to src/Core/Parser/Entity/RootEntityCollectionsGroup.php diff --git a/BumbleDocGen/Core/Parser/Entity/RootEntityInterface.php b/src/Core/Parser/Entity/RootEntityInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/Entity/RootEntityInterface.php rename to src/Core/Parser/Entity/RootEntityInterface.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/FalseCondition.php b/src/Core/Parser/FilterCondition/CommonFilterCondition/FalseCondition.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/FalseCondition.php rename to src/Core/Parser/FilterCondition/CommonFilterCondition/FalseCondition.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/FileTextContainsCondition.php b/src/Core/Parser/FilterCondition/CommonFilterCondition/FileTextContainsCondition.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/FileTextContainsCondition.php rename to src/Core/Parser/FilterCondition/CommonFilterCondition/FileTextContainsCondition.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/LocatedInCondition.php b/src/Core/Parser/FilterCondition/CommonFilterCondition/LocatedInCondition.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/LocatedInCondition.php rename to src/Core/Parser/FilterCondition/CommonFilterCondition/LocatedInCondition.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/TrueCondition.php b/src/Core/Parser/FilterCondition/CommonFilterCondition/TrueCondition.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/CommonFilterCondition/TrueCondition.php rename to src/Core/Parser/FilterCondition/CommonFilterCondition/TrueCondition.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/ConditionGroup.php b/src/Core/Parser/FilterCondition/ConditionGroup.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/ConditionGroup.php rename to src/Core/Parser/FilterCondition/ConditionGroup.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/ConditionGroupTypeEnum.php b/src/Core/Parser/FilterCondition/ConditionGroupTypeEnum.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/ConditionGroupTypeEnum.php rename to src/Core/Parser/FilterCondition/ConditionGroupTypeEnum.php diff --git a/BumbleDocGen/Core/Parser/FilterCondition/ConditionInterface.php b/src/Core/Parser/FilterCondition/ConditionInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/FilterCondition/ConditionInterface.php rename to src/Core/Parser/FilterCondition/ConditionInterface.php diff --git a/BumbleDocGen/Core/Parser/ProjectParser.php b/src/Core/Parser/ProjectParser.php similarity index 100% rename from BumbleDocGen/Core/Parser/ProjectParser.php rename to src/Core/Parser/ProjectParser.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/BaseSourceLocator.php b/src/Core/Parser/SourceLocator/BaseSourceLocator.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/BaseSourceLocator.php rename to src/Core/Parser/SourceLocator/BaseSourceLocator.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/DirectoriesSourceLocator.php b/src/Core/Parser/SourceLocator/DirectoriesSourceLocator.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/DirectoriesSourceLocator.php rename to src/Core/Parser/SourceLocator/DirectoriesSourceLocator.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/FileIteratorSourceLocator.php b/src/Core/Parser/SourceLocator/FileIteratorSourceLocator.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/FileIteratorSourceLocator.php rename to src/Core/Parser/SourceLocator/FileIteratorSourceLocator.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/RecursiveDirectoriesSourceLocator.php b/src/Core/Parser/SourceLocator/RecursiveDirectoriesSourceLocator.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/RecursiveDirectoriesSourceLocator.php rename to src/Core/Parser/SourceLocator/RecursiveDirectoriesSourceLocator.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/SingleFileSourceLocator.php b/src/Core/Parser/SourceLocator/SingleFileSourceLocator.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/SingleFileSourceLocator.php rename to src/Core/Parser/SourceLocator/SingleFileSourceLocator.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/SourceLocatorInterface.php b/src/Core/Parser/SourceLocator/SourceLocatorInterface.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/SourceLocatorInterface.php rename to src/Core/Parser/SourceLocator/SourceLocatorInterface.php diff --git a/BumbleDocGen/Core/Parser/SourceLocator/SourceLocatorsCollection.php b/src/Core/Parser/SourceLocator/SourceLocatorsCollection.php similarity index 100% rename from BumbleDocGen/Core/Parser/SourceLocator/SourceLocatorsCollection.php rename to src/Core/Parser/SourceLocator/SourceLocatorsCollection.php diff --git a/BumbleDocGen/Core/Plugin/CorePlugin/LastPageCommitter/LastPageCommitter.php b/src/Core/Plugin/CorePlugin/LastPageCommitter/LastPageCommitter.php similarity index 100% rename from BumbleDocGen/Core/Plugin/CorePlugin/LastPageCommitter/LastPageCommitter.php rename to src/Core/Plugin/CorePlugin/LastPageCommitter/LastPageCommitter.php diff --git a/BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php b/src/Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php similarity index 100% rename from BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php rename to src/Core/Plugin/CorePlugin/PageLinker/BasePageLinker.php diff --git a/BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php b/src/Core/Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php similarity index 100% rename from BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php rename to src/Core/Plugin/CorePlugin/PageLinker/PageHtmlLinkerPlugin.php diff --git a/BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php b/src/Core/Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php similarity index 100% rename from BumbleDocGen/Core/Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php rename to src/Core/Plugin/CorePlugin/PageLinker/PageRstLinkerPlugin.php diff --git a/BumbleDocGen/Core/Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php b/src/Core/Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php similarity index 100% rename from BumbleDocGen/Core/Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php rename to src/Core/Plugin/Event/Parser/OnLoadSourceLocatorsCollection.php diff --git a/BumbleDocGen/Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php b/src/Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php similarity index 100% rename from BumbleDocGen/Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php rename to src/Core/Plugin/Event/Renderer/BeforeCreatingDocFile.php diff --git a/BumbleDocGen/Core/Plugin/Event/Renderer/OnGettingResourceLink.php b/src/Core/Plugin/Event/Renderer/OnGettingResourceLink.php similarity index 100% rename from BumbleDocGen/Core/Plugin/Event/Renderer/OnGettingResourceLink.php rename to src/Core/Plugin/Event/Renderer/OnGettingResourceLink.php diff --git a/BumbleDocGen/Core/Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php b/src/Core/Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php similarity index 100% rename from BumbleDocGen/Core/Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php rename to src/Core/Plugin/Event/Renderer/OnLoadEntityDocPluginContent.php diff --git a/BumbleDocGen/Core/Plugin/OnlySingleExecutionEvent.php b/src/Core/Plugin/OnlySingleExecutionEvent.php similarity index 100% rename from BumbleDocGen/Core/Plugin/OnlySingleExecutionEvent.php rename to src/Core/Plugin/OnlySingleExecutionEvent.php diff --git a/BumbleDocGen/Core/Plugin/PluginEventDispatcher.php b/src/Core/Plugin/PluginEventDispatcher.php similarity index 100% rename from BumbleDocGen/Core/Plugin/PluginEventDispatcher.php rename to src/Core/Plugin/PluginEventDispatcher.php diff --git a/BumbleDocGen/Core/Plugin/PluginInterface.php b/src/Core/Plugin/PluginInterface.php similarity index 100% rename from BumbleDocGen/Core/Plugin/PluginInterface.php rename to src/Core/Plugin/PluginInterface.php diff --git a/BumbleDocGen/Core/Plugin/PluginsCollection.php b/src/Core/Plugin/PluginsCollection.php similarity index 100% rename from BumbleDocGen/Core/Plugin/PluginsCollection.php rename to src/Core/Plugin/PluginsCollection.php diff --git a/BumbleDocGen/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php b/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php rename to src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php diff --git a/BumbleDocGen/Core/Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php b/src/Core/Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php rename to src/Core/Renderer/Breadcrumbs/BreadcrumbsTwigEnvironment.php diff --git a/BumbleDocGen/Core/Renderer/Breadcrumbs/templates/breadcrumbs.html.twig b/src/Core/Renderer/Breadcrumbs/templates/breadcrumbs.html.twig similarity index 100% rename from BumbleDocGen/Core/Renderer/Breadcrumbs/templates/breadcrumbs.html.twig rename to src/Core/Renderer/Breadcrumbs/templates/breadcrumbs.html.twig diff --git a/BumbleDocGen/Core/Renderer/Context/Dependency/DirectoryDependency.php b/src/Core/Renderer/Context/Dependency/DirectoryDependency.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/Dependency/DirectoryDependency.php rename to src/Core/Renderer/Context/Dependency/DirectoryDependency.php diff --git a/BumbleDocGen/Core/Renderer/Context/Dependency/FileDependency.php b/src/Core/Renderer/Context/Dependency/FileDependency.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/Dependency/FileDependency.php rename to src/Core/Renderer/Context/Dependency/FileDependency.php diff --git a/BumbleDocGen/Core/Renderer/Context/Dependency/RendererDependencyFactory.php b/src/Core/Renderer/Context/Dependency/RendererDependencyFactory.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/Dependency/RendererDependencyFactory.php rename to src/Core/Renderer/Context/Dependency/RendererDependencyFactory.php diff --git a/BumbleDocGen/Core/Renderer/Context/Dependency/RendererDependencyInterface.php b/src/Core/Renderer/Context/Dependency/RendererDependencyInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/Dependency/RendererDependencyInterface.php rename to src/Core/Renderer/Context/Dependency/RendererDependencyInterface.php diff --git a/BumbleDocGen/Core/Renderer/Context/DocumentTransformableEntityInterface.php b/src/Core/Renderer/Context/DocumentTransformableEntityInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/DocumentTransformableEntityInterface.php rename to src/Core/Renderer/Context/DocumentTransformableEntityInterface.php diff --git a/BumbleDocGen/Core/Renderer/Context/DocumentedEntityWrapper.php b/src/Core/Renderer/Context/DocumentedEntityWrapper.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/DocumentedEntityWrapper.php rename to src/Core/Renderer/Context/DocumentedEntityWrapper.php diff --git a/BumbleDocGen/Core/Renderer/Context/DocumentedEntityWrappersCollection.php b/src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/DocumentedEntityWrappersCollection.php rename to src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php diff --git a/BumbleDocGen/Core/Renderer/Context/RendererContext.php b/src/Core/Renderer/Context/RendererContext.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Context/RendererContext.php rename to src/Core/Renderer/Context/RendererContext.php diff --git a/BumbleDocGen/Core/Renderer/EntityDocRenderer/EntityDocRendererInterface.php b/src/Core/Renderer/EntityDocRenderer/EntityDocRendererInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/EntityDocRenderer/EntityDocRendererInterface.php rename to src/Core/Renderer/EntityDocRenderer/EntityDocRendererInterface.php diff --git a/BumbleDocGen/Core/Renderer/EntityDocRenderer/EntityDocRenderersCollection.php b/src/Core/Renderer/EntityDocRenderer/EntityDocRenderersCollection.php similarity index 100% rename from BumbleDocGen/Core/Renderer/EntityDocRenderer/EntityDocRenderersCollection.php rename to src/Core/Renderer/EntityDocRenderer/EntityDocRenderersCollection.php diff --git a/BumbleDocGen/Core/Renderer/PageLinkProcessor/BasePageLinkProcessor.php b/src/Core/Renderer/PageLinkProcessor/BasePageLinkProcessor.php similarity index 100% rename from BumbleDocGen/Core/Renderer/PageLinkProcessor/BasePageLinkProcessor.php rename to src/Core/Renderer/PageLinkProcessor/BasePageLinkProcessor.php diff --git a/BumbleDocGen/Core/Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php b/src/Core/Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php similarity index 100% rename from BumbleDocGen/Core/Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php rename to src/Core/Renderer/PageLinkProcessor/GithubPagesLinkProcessor.php diff --git a/BumbleDocGen/Core/Renderer/PageLinkProcessor/PageLinkProcessorInterface.php b/src/Core/Renderer/PageLinkProcessor/PageLinkProcessorInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/PageLinkProcessor/PageLinkProcessorInterface.php rename to src/Core/Renderer/PageLinkProcessor/PageLinkProcessorInterface.php diff --git a/BumbleDocGen/Core/Renderer/Renderer.php b/src/Core/Renderer/Renderer.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Renderer.php rename to src/Core/Renderer/Renderer.php diff --git a/BumbleDocGen/Core/Renderer/RendererHelper.php b/src/Core/Renderer/RendererHelper.php similarity index 100% rename from BumbleDocGen/Core/Renderer/RendererHelper.php rename to src/Core/Renderer/RendererHelper.php diff --git a/BumbleDocGen/Core/Renderer/RendererIteratorFactory.php b/src/Core/Renderer/RendererIteratorFactory.php similarity index 100% rename from BumbleDocGen/Core/Renderer/RendererIteratorFactory.php rename to src/Core/Renderer/RendererIteratorFactory.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/AddIndentFromLeft.php b/src/Core/Renderer/Twig/Filter/AddIndentFromLeft.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/AddIndentFromLeft.php rename to src/Core/Renderer/Twig/Filter/AddIndentFromLeft.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/CustomFilterInterface.php b/src/Core/Renderer/Twig/Filter/CustomFilterInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/CustomFilterInterface.php rename to src/Core/Renderer/Twig/Filter/CustomFilterInterface.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/CustomFiltersCollection.php b/src/Core/Renderer/Twig/Filter/CustomFiltersCollection.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/CustomFiltersCollection.php rename to src/Core/Renderer/Twig/Filter/CustomFiltersCollection.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/FixStrSize.php b/src/Core/Renderer/Twig/Filter/FixStrSize.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/FixStrSize.php rename to src/Core/Renderer/Twig/Filter/FixStrSize.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/PregMatch.php b/src/Core/Renderer/Twig/Filter/PregMatch.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/PregMatch.php rename to src/Core/Renderer/Twig/Filter/PregMatch.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/PrepareSourceLink.php b/src/Core/Renderer/Twig/Filter/PrepareSourceLink.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/PrepareSourceLink.php rename to src/Core/Renderer/Twig/Filter/PrepareSourceLink.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/Quotemeta.php b/src/Core/Renderer/Twig/Filter/Quotemeta.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/Quotemeta.php rename to src/Core/Renderer/Twig/Filter/Quotemeta.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/RemoveLineBrakes.php b/src/Core/Renderer/Twig/Filter/RemoveLineBrakes.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/RemoveLineBrakes.php rename to src/Core/Renderer/Twig/Filter/RemoveLineBrakes.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/StrTypeToUrl.php b/src/Core/Renderer/Twig/Filter/StrTypeToUrl.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/StrTypeToUrl.php rename to src/Core/Renderer/Twig/Filter/StrTypeToUrl.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/TextToCodeBlock.php b/src/Core/Renderer/Twig/Filter/TextToCodeBlock.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/TextToCodeBlock.php rename to src/Core/Renderer/Twig/Filter/TextToCodeBlock.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Filter/TextToHeading.php b/src/Core/Renderer/Twig/Filter/TextToHeading.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Filter/TextToHeading.php rename to src/Core/Renderer/Twig/Filter/TextToHeading.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/CustomFunctionInterface.php b/src/Core/Renderer/Twig/Function/CustomFunctionInterface.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/CustomFunctionInterface.php rename to src/Core/Renderer/Twig/Function/CustomFunctionInterface.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/CustomFunctionsCollection.php b/src/Core/Renderer/Twig/Function/CustomFunctionsCollection.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/CustomFunctionsCollection.php rename to src/Core/Renderer/Twig/Function/CustomFunctionsCollection.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/DrawDocumentationMenu.php b/src/Core/Renderer/Twig/Function/DrawDocumentationMenu.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/DrawDocumentationMenu.php rename to src/Core/Renderer/Twig/Function/DrawDocumentationMenu.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/DrawDocumentedEntityLink.php b/src/Core/Renderer/Twig/Function/DrawDocumentedEntityLink.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/DrawDocumentedEntityLink.php rename to src/Core/Renderer/Twig/Function/DrawDocumentedEntityLink.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/FileGetContents.php b/src/Core/Renderer/Twig/Function/FileGetContents.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/FileGetContents.php rename to src/Core/Renderer/Twig/Function/FileGetContents.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php b/src/Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php rename to src/Core/Renderer/Twig/Function/GeneratePageBreadcrumbs.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/GetDocumentationPageUrl.php b/src/Core/Renderer/Twig/Function/GetDocumentationPageUrl.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/GetDocumentationPageUrl.php rename to src/Core/Renderer/Twig/Function/GetDocumentationPageUrl.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php b/src/Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php rename to src/Core/Renderer/Twig/Function/GetDocumentedEntityUrl.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/LoadPluginsContent.php b/src/Core/Renderer/Twig/Function/LoadPluginsContent.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/LoadPluginsContent.php rename to src/Core/Renderer/Twig/Function/LoadPluginsContent.php diff --git a/BumbleDocGen/Core/Renderer/Twig/Function/PrintEntityCollectionAsList.php b/src/Core/Renderer/Twig/Function/PrintEntityCollectionAsList.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/Function/PrintEntityCollectionAsList.php rename to src/Core/Renderer/Twig/Function/PrintEntityCollectionAsList.php diff --git a/BumbleDocGen/Core/Renderer/Twig/MainExtension.php b/src/Core/Renderer/Twig/MainExtension.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/MainExtension.php rename to src/Core/Renderer/Twig/MainExtension.php diff --git a/BumbleDocGen/Core/Renderer/Twig/MainTwigEnvironment.php b/src/Core/Renderer/Twig/MainTwigEnvironment.php similarity index 100% rename from BumbleDocGen/Core/Renderer/Twig/MainTwigEnvironment.php rename to src/Core/Renderer/Twig/MainTwigEnvironment.php diff --git a/BumbleDocGen/Core/utils.php b/src/Core/utils.php similarity index 100% rename from BumbleDocGen/Core/utils.php rename to src/Core/utils.php diff --git a/BumbleDocGen/DocGenerator.php b/src/DocGenerator.php similarity index 100% rename from BumbleDocGen/DocGenerator.php rename to src/DocGenerator.php diff --git a/BumbleDocGen/DocGeneratorFactory.php b/src/DocGeneratorFactory.php similarity index 100% rename from BumbleDocGen/DocGeneratorFactory.php rename to src/DocGeneratorFactory.php diff --git a/BumbleDocGen/LanguageHandler/LanguageHandlerInterface.php b/src/LanguageHandler/LanguageHandlerInterface.php similarity index 100% rename from BumbleDocGen/LanguageHandler/LanguageHandlerInterface.php rename to src/LanguageHandler/LanguageHandlerInterface.php diff --git a/BumbleDocGen/LanguageHandler/LanguageHandlersCollection.php b/src/LanguageHandler/LanguageHandlersCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/LanguageHandlersCollection.php rename to src/LanguageHandler/LanguageHandlersCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/BaseEntity.php b/src/LanguageHandler/Php/Parser/Entity/BaseEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/BaseEntity.php rename to src/LanguageHandler/Php/Parser/Entity/BaseEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php b/src/LanguageHandler/Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php rename to src/LanguageHandler/Php/Parser/Entity/Cache/CacheablePhpEntityFactory.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/ClassEntity.php b/src/LanguageHandler/Php/Parser/Entity/ClassEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/ClassEntity.php rename to src/LanguageHandler/Php/Parser/Entity/ClassEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php b/src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php rename to src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/ConstantEntity.php b/src/LanguageHandler/Php/Parser/Entity/ConstantEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/ConstantEntity.php rename to src/LanguageHandler/Php/Parser/Entity/ConstantEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/ConstantEntityCollection.php b/src/LanguageHandler/Php/Parser/Entity/ConstantEntityCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/ConstantEntityCollection.php rename to src/LanguageHandler/Php/Parser/Entity/ConstantEntityCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/DynamicMethodEntity.php b/src/LanguageHandler/Php/Parser/Entity/DynamicMethodEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/DynamicMethodEntity.php rename to src/LanguageHandler/Php/Parser/Entity/DynamicMethodEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/Exception/ReflectionException.php b/src/LanguageHandler/Php/Parser/Entity/Exception/ReflectionException.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/Exception/ReflectionException.php rename to src/LanguageHandler/Php/Parser/Entity/Exception/ReflectionException.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntity.php b/src/LanguageHandler/Php/Parser/Entity/MethodEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntity.php rename to src/LanguageHandler/Php/Parser/Entity/MethodEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntityCollection.php b/src/LanguageHandler/Php/Parser/Entity/MethodEntityCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntityCollection.php rename to src/LanguageHandler/Php/Parser/Entity/MethodEntityCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntityInterface.php b/src/LanguageHandler/Php/Parser/Entity/MethodEntityInterface.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/MethodEntityInterface.php rename to src/LanguageHandler/Php/Parser/Entity/MethodEntityInterface.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/PropertyEntity.php b/src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/PropertyEntity.php rename to src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/PropertyEntityCollection.php b/src/LanguageHandler/Php/Parser/Entity/PropertyEntityCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/PropertyEntityCollection.php rename to src/LanguageHandler/Php/Parser/Entity/PropertyEntityCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/Entity/Reflection/ReflectorWrapper.php b/src/LanguageHandler/Php/Parser/Entity/Reflection/ReflectorWrapper.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/Entity/Reflection/ReflectorWrapper.php rename to src/LanguageHandler/Php/Parser/Entity/Reflection/ReflectorWrapper.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPrivateCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPrivateCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPrivateCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPrivateCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsProtectedCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsProtectedCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsProtectedCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsProtectedCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPublicCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPublicCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPublicCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/IsPublicCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/VisibilityCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/VisibilityCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/VisibilityCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/ClassConstantFilterCondition/VisibilityCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassFilterCondition/VisibilityConditionModifier.php b/src/LanguageHandler/Php/Parser/FilterCondition/ClassFilterCondition/VisibilityConditionModifier.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/ClassFilterCondition/VisibilityConditionModifier.php rename to src/LanguageHandler/Php/Parser/FilterCondition/ClassFilterCondition/VisibilityConditionModifier.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPrivateCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPrivateCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPrivateCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPrivateCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsProtectedCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsProtectedCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsProtectedCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsProtectedCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPublicCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPublicCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPublicCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/IsPublicCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/OnlyFromCurrentClassCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/OnlyFromCurrentClassCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/OnlyFromCurrentClassCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/OnlyFromCurrentClassCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/VisibilityCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/VisibilityCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/VisibilityCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/MethodFilterCondition/VisibilityCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPrivateCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPrivateCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPrivateCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPrivateCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsProtectedCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsProtectedCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsProtectedCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsProtectedCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPublicCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPublicCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPublicCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/IsPublicCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/OnlyFromCurrentClassCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/OnlyFromCurrentClassCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/OnlyFromCurrentClassCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/OnlyFromCurrentClassCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/VisibilityCondition.php b/src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/VisibilityCondition.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/VisibilityCondition.php rename to src/LanguageHandler/Php/Parser/FilterCondition/PropertyFilterCondition/VisibilityCondition.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/ParserHelper.php b/src/LanguageHandler/Php/Parser/ParserHelper.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/ParserHelper.php rename to src/LanguageHandler/Php/Parser/ParserHelper.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/AsyncSourceLocator.php b/src/LanguageHandler/Php/Parser/SourceLocator/AsyncSourceLocator.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/AsyncSourceLocator.php rename to src/LanguageHandler/Php/Parser/SourceLocator/AsyncSourceLocator.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/CustomSourceLocatorInterface.php b/src/LanguageHandler/Php/Parser/SourceLocator/CustomSourceLocatorInterface.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/CustomSourceLocatorInterface.php rename to src/LanguageHandler/Php/Parser/SourceLocator/CustomSourceLocatorInterface.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/Internal/CachedSourceLocator.php b/src/LanguageHandler/Php/Parser/SourceLocator/Internal/CachedSourceLocator.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/Internal/CachedSourceLocator.php rename to src/LanguageHandler/Php/Parser/SourceLocator/Internal/CachedSourceLocator.php diff --git a/BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/Internal/SystemAsyncSourceLocator.php b/src/LanguageHandler/Php/Parser/SourceLocator/Internal/SystemAsyncSourceLocator.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Parser/SourceLocator/Internal/SystemAsyncSourceLocator.php rename to src/LanguageHandler/Php/Parser/SourceLocator/Internal/SystemAsyncSourceLocator.php diff --git a/BumbleDocGen/LanguageHandler/Php/PhpHandler.php b/src/LanguageHandler/Php/PhpHandler.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/PhpHandler.php rename to src/LanguageHandler/Php/PhpHandler.php diff --git a/BumbleDocGen/LanguageHandler/Php/PhpHandlerSettings.php b/src/LanguageHandler/Php/PhpHandlerSettings.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/PhpHandlerSettings.php rename to src/LanguageHandler/Php/PhpHandlerSettings.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/BasePhpStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/ComposerStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/ComposerStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/ComposerStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/ComposerStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PsrClassesStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/SymfonyComponentStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/SymfonyComponentStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/SymfonyComponentStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/SymfonyComponentStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php rename to src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/TwigStubberPlugin.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php b/src/LanguageHandler/Php/Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php rename to src/LanguageHandler/Php/Plugin/Event/Entity/OnCheckIsClassEntityCanBeLoad.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/Event/Parser/AfterLoadingClassEntityCollection.php b/src/LanguageHandler/Php/Plugin/Event/Parser/AfterLoadingClassEntityCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/Event/Parser/AfterLoadingClassEntityCollection.php rename to src/LanguageHandler/Php/Plugin/Event/Parser/AfterLoadingClassEntityCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Plugin/Event/Parser/OnAddClassEntityToCollection.php b/src/LanguageHandler/Php/Plugin/Event/Parser/OnAddClassEntityToCollection.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Plugin/Event/Parser/OnAddClassEntityToCollection.php rename to src/LanguageHandler/Php/Plugin/Event/Parser/OnAddClassEntityToCollection.php diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassRendererTwigEnvironment.php b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassRendererTwigEnvironment.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassRendererTwigEnvironment.php rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassRendererTwigEnvironment.php diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassToMdDocRenderer.php b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassToMdDocRenderer.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassToMdDocRenderer.php rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/PhpClassToMdDocRenderer.php diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classHeader.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classHeader.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classHeader.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classHeader.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classMainInfo.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classMainInfo.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classMainInfo.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_classMainInfo.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_constants.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_constants.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_constants.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_constants.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_enumCases.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_enumCases.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_enumCases.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_enumCases.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_methods.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_methods.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_methods.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_methods.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_properties.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_properties.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_properties.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_properties.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_property_details.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_property_details.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_property_details.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_property_details.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_traits.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_traits.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_traits.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_traits.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/class.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/class.md.twig similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/class.md.twig rename to src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/class.md.twig diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php b/src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php rename to src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php diff --git a/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php b/src/LanguageHandler/Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php similarity index 100% rename from BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php rename to src/LanguageHandler/Php/Renderer/Twig/Function/GetClassMethodsBodyCode.php diff --git a/BumbleDocGen/LanguageHandler/Php/phpHandlerDefaultSettings.yaml b/src/LanguageHandler/Php/phpHandlerDefaultSettings.yaml similarity index 85% rename from BumbleDocGen/LanguageHandler/Php/phpHandlerDefaultSettings.yaml rename to src/LanguageHandler/Php/phpHandlerDefaultSettings.yaml index fbbf9d12..0e40ba43 100644 --- a/BumbleDocGen/LanguageHandler/Php/phpHandlerDefaultSettings.yaml +++ b/src/LanguageHandler/Php/phpHandlerDefaultSettings.yaml @@ -12,11 +12,7 @@ language_handlers: - protected method_filter: - class: \BumbleDocGen\Core\Parser\FilterCondition\ConditionGroup - arguments: - - and - - class: \BumbleDocGen\LanguageHandler\Php\Parser\FilterCondition\MethodFilterCondition\IsPublicCondition - - class: \BumbleDocGen\LanguageHandler\Php\Parser\FilterCondition\MethodFilterCondition\OnlyFromCurrentClassCondition + class: \BumbleDocGen\LanguageHandler\Php\Parser\FilterCondition\MethodFilterCondition\IsPublicCondition property_filter: class: \BumbleDocGen\Core\Parser\FilterCondition\ConditionGroup diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php b/src/TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php rename to src/TemplateGenerator/ChatGpt/MissingDocBlocksGenerator.php diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php b/src/TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php rename to src/TemplateGenerator/ChatGpt/ReadmeTemplateFiller.php diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/TemplatesStructureGenerator.php b/src/TemplateGenerator/ChatGpt/TemplatesStructureGenerator.php similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/TemplatesStructureGenerator.php rename to src/TemplateGenerator/ChatGpt/TemplatesStructureGenerator.php diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/prompts/missingDocBlockGeneration b/src/TemplateGenerator/ChatGpt/prompts/missingDocBlockGeneration similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/prompts/missingDocBlockGeneration rename to src/TemplateGenerator/ChatGpt/prompts/missingDocBlockGeneration diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller b/src/TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller rename to src/TemplateGenerator/ChatGpt/prompts/readmeTemplateFiller diff --git a/BumbleDocGen/TemplateGenerator/ChatGpt/prompts/structureGeneration b/src/TemplateGenerator/ChatGpt/prompts/structureGeneration similarity index 100% rename from BumbleDocGen/TemplateGenerator/ChatGpt/prompts/structureGeneration rename to src/TemplateGenerator/ChatGpt/prompts/structureGeneration diff --git a/BumbleDocGen/di-config.php b/src/di-config.php similarity index 100% rename from BumbleDocGen/di-config.php rename to src/di-config.php From 9b9985fa65124ff666de3f747d62e2a771e1ce45 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:23:07 +0300 Subject: [PATCH 02/34] Changing cache dir name --- src/Core/Configuration/defaultConfiguration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/Configuration/defaultConfiguration.yaml b/src/Core/Configuration/defaultConfiguration.yaml index bd1c6332..e652c1e2 100644 --- a/src/Core/Configuration/defaultConfiguration.yaml +++ b/src/Core/Configuration/defaultConfiguration.yaml @@ -2,7 +2,7 @@ parent_configuration: # (string|null) Path to parent configuration f project_root: # (string) Path to the directory of the documented project (or part of the project) templates_dir: # (string) Path to directory with documentation templates output_dir: "%project_root%/docs" # (string) Path to the directory where the finished documentation will be generated -cache_dir: '%WORKING_DIR%/__cache'# (string|null) Path to the directory where the documentation generator cache will be saved +cache_dir: '%WORKING_DIR%/.bumbleDocGenCache'# (string|null) Path to the directory where the documentation generator cache will be saved output_dir_base_url: "/docs" # (string) Basic part of url documentation. Used to form links in generated documents. git_client_path: "git" # (string) Path to git client check_file_in_git_before_creating_doc: true # (bool) Checking if a document exists in GIT before creating a document From ecaec771536fdba677348dac431b0d2b9f4299ca Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:26:06 +0300 Subject: [PATCH 03/34] Changing lib src dir name --- .../TwigFilterClassParserPlugin.php | 11 +++++------ .../TwigFunctionClassParserPlugin.php | 11 +++++------ .../CustomFunction/GetConfigParametersDescription.php | 1 + SelfDoc/Configuration/config.yaml | 2 +- .../templates/tech/1.configuration/readme.md.twig | 2 +- .../tech/2.parser/entityFilterCondition.md.twig | 4 ++-- .../templates/tech/2.parser/sourceLocator.md.twig | 6 +++--- .../tech/3.renderer/twigCustomFilters.md.twig | 4 ++-- .../tech/3.renderer/twigCustomFunctions.md.twig | 4 ++-- .../templates/tech/4.pluginSystem/readme.md.twig | 8 ++++---- SelfDoc/Configuration/templates/tech/map.md.twig | 2 +- SelfDoc/Console/Command/GenerateCommand.php | 5 ++--- SelfDoc/docGen.php | 2 +- .../Php/Renderer/Twig/Function/DrawClassMap.php | 2 +- 14 files changed, 31 insertions(+), 33 deletions(-) diff --git a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php b/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php index cdf29cf0..a8bcb78c 100644 --- a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php +++ b/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php @@ -21,17 +21,16 @@ final class TwigFilterClassParserPlugin implements PluginInterface { private const TWIG_FILTER_DIR_NAMES = [ - '/BumbleDocGen/Core/Renderer/Twig/Filter', - '/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Filter' + '/src/Core/Renderer/Twig/Filter', + '/src/LanguageHandler/Php/Renderer/Twig/Filter' ]; public const PLUGIN_KEY = 'twigFilterClassParserPlugin'; public function __construct( private FilterClassPluginTwigEnvironment $twigEnvironment, - private RendererContext $context, - private Configuration $configuration, - ) - { + private RendererContext $context, + private Configuration $configuration, + ) { } public static function getSubscribedEvents(): array diff --git a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php b/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php index 2248c1c7..ab1cb010 100644 --- a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php +++ b/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php @@ -21,17 +21,16 @@ final class TwigFunctionClassParserPlugin implements PluginInterface { private const TWIG_FUNCTION_DIR_NAMES = [ - '/BumbleDocGen/Core/Renderer/Twig/Function', - '/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function' + '/src/Core/Renderer/Twig/Function', + '/src/LanguageHandler/Php/Renderer/Twig/Function' ]; public const PLUGIN_KEY = 'twigFunctionClassParserPlugin'; public function __construct( private FunctionClassPluginTwigEnvironment $twigEnvironment, - private RendererContext $context, - private Configuration $configuration, - ) - { + private RendererContext $context, + private Configuration $configuration, + ) { } public static function getSubscribedEvents(): array diff --git a/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php b/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php index b46e1931..031cd04a 100644 --- a/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php +++ b/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php @@ -8,6 +8,7 @@ use BumbleDocGen\Core\Parser\Entity\RootEntityCollection; use BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface; use Noodlehaus\Config; + use function BumbleDocGen\Core\is_associative_array; final class GetConfigParametersDescription implements CustomFunctionInterface diff --git a/SelfDoc/Configuration/config.yaml b/SelfDoc/Configuration/config.yaml index 5fa09bea..884e64ba 100644 --- a/SelfDoc/Configuration/config.yaml +++ b/SelfDoc/Configuration/config.yaml @@ -11,7 +11,7 @@ source_locators: - class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator arguments: directories: - - "%project_root%/BumbleDocGen" + - "%project_root%/src" - "%project_root%/SelfDoc" twig_filters: - class: \SelfDoc\Configuration\Twig\CustomFilter\EvalString diff --git a/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig b/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig index 209686a0..7c2cb847 100644 --- a/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig +++ b/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig @@ -35,7 +35,7 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each {{ "Configuration parameters" | textToHeading('H2') }} -{% set parameters = getConfigParametersDescription(phpClassEntityCollection, '%WORKING_DIR%/BumbleDocGen/Core/Configuration/defaultConfiguration.yaml') %} +{% set parameters = getConfigParametersDescription(phpClassEntityCollection, '%WORKING_DIR%/src/Core/Configuration/defaultConfiguration.yaml') %} diff --git a/SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig b/SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig index 3fba4b4c..414282da 100644 --- a/SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig +++ b/SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig @@ -72,11 +72,11 @@ language_handlers: Common filtering conditions that are available for any entity: {{ printEntityCollectionAsList( - filterConditions.filterByPaths(['/BumbleDocGen/Core']) + filterConditions.filterByPaths(['/src/Core']) ) }} Filter condition for working with entities PHP language handler: {{ printClassCollectionAsGroupedTable( - filterConditions.filterByPaths(['/BumbleDocGen/LanguageHandler/Php/Parser/FilterCondition']) + filterConditions.filterByPaths(['/src/LanguageHandler/Php/Parser/FilterCondition']) ) }} diff --git a/SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig b/SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig index 0e243dbf..bfeb6238 100644 --- a/SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig +++ b/SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig @@ -12,7 +12,7 @@ Source locators are set in the configuration: - class: \\BumbleDocGen\\Core\\Parser\\SourceLocator\\RecursiveDirectoriesSourceLocator arguments: directories: - - "%project_root%/BumbleDocGen" + - "%project_root%/src" - "%project_root%/SelfDoc"' | textToCodeBlock('yaml') }} You can create your own source locators or use any existing ones. All source locators must implement the SourceLocatorInterface interface. @@ -24,7 +24,7 @@ You can create your own source locators or use any existing ones. All source loc {{ printEntityCollectionAsList( phpClassEntityCollection .filterByInterfaces(['BumbleDocGen\\Core\\Parser\\SourceLocator\\SourceLocatorInterface']) - .filterByPaths(['/BumbleDocGen/Core/Parser']) + .filterByPaths(['/src/Core/Parser']) .getOnlyInstantiable() ) }} @@ -33,6 +33,6 @@ You can create your own source locators or use any existing ones. All source loc {{ printEntityCollectionAsList( phpClassEntityCollection .filterByInterfaces(['BumbleDocGen\\Core\\Parser\\SourceLocator\\SourceLocatorInterface']) - .filterByPaths(['/BumbleDocGen/LanguageHandler/Php/Parser']) + .filterByPaths(['/src/LanguageHandler/Php/Parser']) .getOnlyInstantiable() ) }} \ No newline at end of file diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig b/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig index 21825a0c..188f4b94 100644 --- a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig +++ b/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig @@ -56,8 +56,8 @@ Here is a list of filters available by default: {% for filter in phpClassEntityCollection.filterByPaths([ - '/BumbleDocGen/Core/Renderer/Twig/Filter', - '/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Filter' + '/src/Core/Renderer/Twig/Filter', + '/src/LanguageHandler/Php/Renderer/Twig/Filter' ]) .filterByInterfaces(['BumbleDocGen\\Core\\Renderer\\Twig\\Filter\\CustomFilterInterface']) .getOnlyInstantiable() diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig b/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig index cadbb42f..2ce23b0a 100644 --- a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig +++ b/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig @@ -54,8 +54,8 @@ Here is a list of functions available by default: {% for function in phpClassEntityCollection.filterByPaths([ - '/BumbleDocGen/Core/Renderer/Twig/Function', - '/BumbleDocGen/LanguageHandler/Php/Renderer/Twig/Function' + '/src/Core/Renderer/Twig/Function', + '/src/LanguageHandler/Php/Renderer/Twig/Function' ]) .filterByInterfaces(['BumbleDocGen\\Core\\Renderer\\Twig\\Function\\CustomFunctionInterface']) .getOnlyInstantiable() diff --git a/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig b/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig index d9c26052..d94c3299 100644 --- a/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig +++ b/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig @@ -32,8 +32,8 @@ Plugins for any programming languages work regardless of which language handler {% for pluginEntity in phpClassEntityCollection .filterByPaths([ - '/BumbleDocGen/Core', - '/BumbleDocGen/LanguageHandler', + '/src/Core', + '/src/LanguageHandler', ]) .filterByInterfaces(['BumbleDocGen\\Core\\Plugin\\PluginInterface']) .getOnlyInstantiable() @@ -58,8 +58,8 @@ Plugins for any programming languages work regardless of which language handler {{ printEntityCollectionAsList( phpClassEntityCollection .filterByPaths([ - '/BumbleDocGen/Core', - '/BumbleDocGen/LanguageHandler', + '/src/Core', + '/src/LanguageHandler', ]) .filterByParentClassNames(['Symfony\\Contracts\\EventDispatcher\\Event']) .getOnlyInstantiable() ) }} diff --git a/SelfDoc/Configuration/templates/tech/map.md.twig b/SelfDoc/Configuration/templates/tech/map.md.twig index af1591f6..ff9ed9a4 100644 --- a/SelfDoc/Configuration/templates/tech/map.md.twig +++ b/SelfDoc/Configuration/templates/tech/map.md.twig @@ -4,4 +4,4 @@ Directory layout ( only documented files shown ): -{{ drawClassMap( phpClassEntityCollection.filterByPaths(['/BumbleDocGen']) ) }} \ No newline at end of file +{{ drawClassMap( phpClassEntityCollection.filterByPaths(['/src']) ) }} \ No newline at end of file diff --git a/SelfDoc/Console/Command/GenerateCommand.php b/SelfDoc/Console/Command/GenerateCommand.php index a6665750..59f74f11 100644 --- a/SelfDoc/Console/Command/GenerateCommand.php +++ b/SelfDoc/Console/Command/GenerateCommand.php @@ -29,10 +29,9 @@ protected function configure(): void * @throws InvalidArgumentException */ protected function execute( - \Symfony\Component\Console\Input\InputInterface $input, + \Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output - ): int - { + ): int { $docGenerator = (new DocGeneratorFactory())->create( dirname(__DIR__, 2) . '/Configuration/config.yaml' ); diff --git a/SelfDoc/docGen.php b/SelfDoc/docGen.php index 574dc74b..379b47e1 100644 --- a/SelfDoc/docGen.php +++ b/SelfDoc/docGen.php @@ -5,4 +5,4 @@ require_once __DIR__ . '/../vendor/autoload.php'; -(new \SelfDoc\Console\App())->run(); \ No newline at end of file +(new \SelfDoc\Console\App())->run(); diff --git a/src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php b/src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php index 9e4d22cf..64f886d5 100644 --- a/src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php +++ b/src/LanguageHandler/Php/Renderer/Twig/Function/DrawClassMap.php @@ -19,7 +19,7 @@ * * @note This function initiates the creation of documents for the displayed entities * - * @example {{ drawClassMap(classEntityCollection.filterByPaths(['/BumbleDocGen/Renderer'])) }} + * @example {{ drawClassMap(classEntityCollection.filterByPaths(['/src/Renderer'])) }} * @example {{ drawClassMap(classEntityCollection) }} */ final class DrawClassMap implements CustomFunctionInterface From abb4a6e47c87c42a475c0690a58fa03c075253c2 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:28:14 +0300 Subject: [PATCH 04/34] Adding cache dir to the gitignore file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0bc45760..9448cb83 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ composer.phar /last_run.log /.phpunit.result.cache /demo/demo2-templates-generation/templates/ +/.bumbleDocGenCache/ From f322863243af237a16bcd6ad9e5803caa8252d8c Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:28:57 +0300 Subject: [PATCH 05/34] Adding common console app --- src/Console/App.php | 17 +++++++++ src/Console/Command/GenerateCommand.php | 47 +++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 src/Console/App.php create mode 100644 src/Console/Command/GenerateCommand.php diff --git a/src/Console/App.php b/src/Console/App.php new file mode 100644 index 00000000..94761263 --- /dev/null +++ b/src/Console/App.php @@ -0,0 +1,17 @@ +add(new GenerateCommand()); + } +} diff --git a/src/Console/Command/GenerateCommand.php b/src/Console/Command/GenerateCommand.php new file mode 100644 index 00000000..044fa6d1 --- /dev/null +++ b/src/Console/Command/GenerateCommand.php @@ -0,0 +1,47 @@ +setName('generate') + ->setDescription('Generate documentation') + ->addOption( + 'config', + 'c', + InputOption::VALUE_OPTIONAL, + 'Path to the configuration file, specified as absolute or relative to the working directory.', + 'bumble_doc_gen.yaml' + ); + } + + /** + * @throws NotFoundException + * @throws DependencyException + * @throws InvalidArgumentException + */ + protected function execute( + \Symfony\Component\Console\Input\InputInterface $input, + \Symfony\Component\Console\Output\OutputInterface $output + ): int { + $configFile = $input->getOption('config'); + if (Path::isRelative($configFile)) { + $configFile = getcwd() . DIRECTORY_SEPARATOR . $configFile; + } + $docGenerator = (new DocGeneratorFactory())->create($configFile); + $docGenerator->generate(); + return self::SUCCESS; + } +} From 496b14515344045244d8fe8750734c145a6208ce Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:29:14 +0300 Subject: [PATCH 06/34] Adding bin file --- bin/bumbleDocGen | 8 ++++++++ composer.json | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100755 bin/bumbleDocGen diff --git a/bin/bumbleDocGen b/bin/bumbleDocGen new file mode 100755 index 00000000..71afd695 --- /dev/null +++ b/bin/bumbleDocGen @@ -0,0 +1,8 @@ +#!/usr/bin/env php +run(); \ No newline at end of file diff --git a/composer.json b/composer.json index 52e5abc4..6f14b6aa 100644 --- a/composer.json +++ b/composer.json @@ -63,5 +63,8 @@ "php-http/discovery": true, "captainhook/plugin-composer": true } - } + }, + "bin": [ + "bin/bumbleDocGen" + ] } From 6c2483984dfce31e3e6dab4fff1a02116036873f Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:32:46 +0300 Subject: [PATCH 07/34] Adding self doc config --- bumble_doc_gen.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 bumble_doc_gen.yaml diff --git a/bumble_doc_gen.yaml b/bumble_doc_gen.yaml new file mode 100644 index 00000000..52ce7e85 --- /dev/null +++ b/bumble_doc_gen.yaml @@ -0,0 +1,24 @@ +project_root: '%WORKING_DIR%' +templates_dir: '%project_root%/SelfDoc/Configuration/templates' +language_handlers: + php: + class: \BumbleDocGen\LanguageHandler\Php\PhpHandler + settings: + file_source_base_url: 'https://github.com/bumble-tech/bumble-doc-gen/blob/master' + async_source_loading_enabled: true +source_locators: + - class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator + arguments: + directories: + - "%project_root%/src" + - "%project_root%/SelfDoc" +twig_filters: + - class: \SelfDoc\Configuration\Twig\CustomFilter\EvalString +twig_functions: + - class: \SelfDoc\Configuration\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName + - class: \SelfDoc\Configuration\Twig\CustomFunction\PrintClassCollectionAsGroupedTable + - class: \SelfDoc\Configuration\Twig\CustomFunction\GetConfigParametersDescription +plugins: + - class: \SelfDoc\Configuration\Plugin\RoaveStubber\BetterReflectionStubberPlugin + - class: \SelfDoc\Configuration\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin + - class: \SelfDoc\Configuration\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin From 3bb92f1a3aa9886f2ba203279e7ca6dd52c69ed7 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 19:33:11 +0300 Subject: [PATCH 08/34] Updating doc --- docs/classes/DocGenerator.md | 30 +- docs/classes/DocGeneratorFactory.md | 12 +- .../InvalidConfigurationParameterException.md | 352 +++- docs/classes/ReflectionException.md | 352 +++- docs/readme.md | 2 +- docs/shared_c.cache | 2 +- .../classes/AddIndentFromLeft.md | 8 +- .../classes/BasePageLinkProcessor.md | 8 +- .../1.configuration/classes/Configuration.md | 54 +- .../classes/DocumentedEntityWrapper.md | 26 +- .../DocumentedEntityWrappersCollection.md | 20 +- .../classes/DrawDocumentationMenu.md | 18 +- .../classes/DrawDocumentedEntityLink.md | 14 +- .../classes/FileGetContents.md | 12 +- .../1.configuration/classes/FixStrSize.md | 8 +- .../classes/GeneratePageBreadcrumbs.md | 16 +- .../classes/GetDocumentationPageUrl.md | 14 +- .../classes/GetDocumentedEntityUrl.md | 20 +- .../InvalidConfigurationParameterException.md | 352 +++- .../classes/LastPageCommitter.md | 14 +- .../classes/LoadPluginsContent.md | 14 +- .../classes/PageHtmlLinkerPlugin.md | 154 +- .../tech/1.configuration/classes/PregMatch.md | 8 +- .../classes/PrepareSourceLink.md | 8 +- .../classes/PrintEntityCollectionAsList.md | 14 +- .../tech/1.configuration/classes/Quotemeta.md | 8 +- .../classes/ReflectionException.md | 352 +++- .../classes/RemoveLineBrakes.md | 8 +- .../classes/RendererContext.md | 22 +- .../1.configuration/classes/StrTypeToUrl.md | 16 +- .../classes/TextToCodeBlock.md | 8 +- .../1.configuration/classes/TextToHeading.md | 8 +- docs/tech/1.configuration/readme.md | 6 +- .../2.parser/classes/AsyncSourceLocator.md | 10 +- docs/tech/2.parser/classes/ClassEntity.md | 798 ++++++++- .../2.parser/classes/ClassEntityCollection.md | 455 ++++- docs/tech/2.parser/classes/ConditionGroup.md | 10 +- .../2.parser/classes/ConditionInterface.md | 6 +- docs/tech/2.parser/classes/ConstantEntity.md | 720 +++++++- .../classes/ConstantEntityCollection.md | 177 +- .../classes/DirectoriesSourceLocator.md | 34 +- .../2.parser/classes/DynamicMethodEntity.md | 76 +- docs/tech/2.parser/classes/EntityInterface.md | 18 +- docs/tech/2.parser/classes/FalseCondition.md | 6 +- .../classes/FileIteratorSourceLocator.md | 34 +- .../classes/FileTextContainsCondition.md | 8 +- .../InvalidConfigurationParameterException.md | 352 +++- ...nvalidConfigurationParameterException_2.md | 352 +++- ...nvalidConfigurationParameterException_3.md | 352 +++- .../2.parser/classes/IsPrivateCondition.md | 8 +- .../2.parser/classes/IsPrivateCondition_2.md | 8 +- .../2.parser/classes/IsPrivateCondition_3.md | 8 +- .../2.parser/classes/IsProtectedCondition.md | 8 +- .../classes/IsProtectedCondition_2.md | 8 +- .../classes/IsProtectedCondition_3.md | 8 +- .../2.parser/classes/IsPublicCondition.md | 8 +- .../2.parser/classes/IsPublicCondition_2.md | 8 +- .../2.parser/classes/IsPublicCondition_3.md | 8 +- .../2.parser/classes/LocatedInCondition.md | 12 +- docs/tech/2.parser/classes/MethodEntity.md | 724 +++++++- .../classes/MethodEntityCollection.md | 185 ++- .../classes/OnlyFromCurrentClassCondition.md | 6 +- .../OnlyFromCurrentClassCondition_2.md | 6 +- docs/tech/2.parser/classes/ProjectParser.md | 12 +- docs/tech/2.parser/classes/PropertyEntity.md | 728 +++++++- .../classes/PropertyEntityCollection.md | 177 +- .../RecursiveDirectoriesSourceLocator.md | 34 +- .../2.parser/classes/ReflectionException.md | 352 +++- .../2.parser/classes/RootEntityCollection.md | 171 +- .../2.parser/classes/RootEntityInterface.md | 196 ++- .../classes/SingleFileSourceLocator.md | 34 +- .../classes/SourceLocatorInterface.md | 4 +- docs/tech/2.parser/classes/TrueCondition.md | 6 +- .../2.parser/classes/VisibilityCondition.md | 8 +- .../2.parser/classes/VisibilityCondition_2.md | 8 +- .../2.parser/classes/VisibilityCondition_3.md | 8 +- docs/tech/2.parser/entity.md | 2 +- docs/tech/2.parser/entityFilterCondition.md | 2 +- docs/tech/2.parser/readme.md | 2 +- docs/tech/2.parser/sourceLocator.md | 4 +- docs/tech/3.renderer/breadcrumbs.md | 2 +- .../3.renderer/classes/AddIndentFromLeft.md | 8 +- .../3.renderer/classes/BreadcrumbsHelper.md | 30 +- .../classes/ClassEntityCollection.md | 455 ++++- .../classes/ClassEntityCollection_2.md | 455 ++++- .../classes/CustomFunctionInterface.md | 6 +- .../classes/DocumentedEntityWrapper.md | 26 +- .../classes/DocumentedEntityWrapper_2.md | 26 +- .../classes/DocumentedEntityWrapper_3.md | 26 +- .../DocumentedEntityWrappersCollection.md | 20 +- .../DocumentedEntityWrappersCollection_2.md | 20 +- .../DocumentedEntityWrappersCollection_3.md | 20 +- docs/tech/3.renderer/classes/DrawClassMap.md | 24 +- .../classes/DrawDocumentationMenu.md | 18 +- .../classes/DrawDocumentedEntityLink.md | 14 +- .../3.renderer/classes/FileGetContents.md | 12 +- docs/tech/3.renderer/classes/FixStrSize.md | 8 +- .../classes/GeneratePageBreadcrumbs.md | 16 +- .../classes/GeneratePageBreadcrumbs_2.md | 16 +- .../classes/GetClassMethodsBodyCode.md | 12 +- .../classes/GetDocumentationPageUrl.md | 14 +- .../classes/GetDocumentationPageUrl_2.md | 14 +- .../classes/GetDocumentedEntityUrl.md | 20 +- .../classes/GetDocumentedEntityUrl_2.md | 20 +- .../classes/GetDocumentedEntityUrl_3.md | 20 +- .../InvalidConfigurationParameterException.md | 352 +++- ...nvalidConfigurationParameterException_2.md | 352 +++- ...nvalidConfigurationParameterException_3.md | 352 +++- ...nvalidConfigurationParameterException_4.md | 352 +++- ...nvalidConfigurationParameterException_5.md | 352 +++- .../classes/LanguageHandlerInterface.md | 20 +- .../3.renderer/classes/LoadPluginsContent.md | 14 +- .../classes/PageHtmlLinkerPlugin.md | 154 +- docs/tech/3.renderer/classes/PregMatch.md | 8 +- .../3.renderer/classes/PrepareSourceLink.md | 8 +- .../classes/PrintEntityCollectionAsList.md | 14 +- docs/tech/3.renderer/classes/Quotemeta.md | 8 +- .../3.renderer/classes/ReflectionException.md | 352 +++- .../classes/ReflectionException_2.md | 352 +++- .../classes/ReflectionException_3.md | 352 +++- .../classes/ReflectionException_4.md | 352 +++- .../3.renderer/classes/RemoveLineBrakes.md | 8 +- .../3.renderer/classes/RendererContext.md | 22 +- .../3.renderer/classes/RendererContext_2.md | 22 +- .../3.renderer/classes/RendererContext_3.md | 22 +- .../classes/RootEntityCollection.md | 171 +- .../3.renderer/classes/RootEntityInterface.md | 196 ++- .../classes/RootEntityInterface_2.md | 401 +++++ docs/tech/3.renderer/classes/StrTypeToUrl.md | 16 +- .../3.renderer/classes/TextToCodeBlock.md | 8 +- docs/tech/3.renderer/classes/TextToHeading.md | 8 +- docs/tech/3.renderer/readme.md | 2 +- docs/tech/3.renderer/templates.md | 2 +- .../tech/3.renderer/templatesDynamicBlocks.md | 2 +- docs/tech/3.renderer/templatesLinking.md | 2 +- docs/tech/3.renderer/templatesVariables.md | 2 +- docs/tech/3.renderer/twigCustomFilters.md | 4 +- docs/tech/3.renderer/twigCustomFunctions.md | 2 +- .../AfterLoadingClassEntityCollection.md | 62 +- .../classes/BasePhpStubberPlugin.md | 8 +- .../classes/BeforeCreatingDocFile.md | 66 +- .../classes/ComposerStubberPlugin.md | 12 +- .../InvalidConfigurationParameterException.md | 352 +++- .../classes/LastPageCommitter.md | 14 +- .../classes/LoadPluginsContent.md | 14 +- .../classes/OnAddClassEntityToCollection.md | 70 +- .../classes/OnCheckIsClassEntityCanBeLoad.md | 68 +- .../classes/OnGettingResourceLink.md | 62 +- .../classes/OnLoadEntityDocPluginContent.md | 70 +- .../classes/OnLoadSourceLocatorsCollection.md | 62 +- .../classes/PageHtmlLinkerPlugin.md | 154 +- .../classes/PageRstLinkerPlugin.md | 154 +- .../classes/PhpDocumentorStubberPlugin.md | 12 +- .../classes/PhpUnitStubberPlugin.md | 12 +- .../4.pluginSystem/classes/PluginInterface.md | 34 +- .../classes/PsrClassesStubberPlugin.md | 12 +- .../classes/ReflectionException.md | 391 +++++ .../classes/SymfonyComponentStubberPlugin.md | 12 +- .../classes/TwigStubberPlugin.md | 12 +- docs/tech/4.pluginSystem/readme.md | 2 +- docs/tech/classes/AddIndentFromLeft.md | 8 +- .../AfterLoadingClassEntityCollection.md | 62 +- docs/tech/classes/App.md | 1469 +++++++++++++++++ docs/tech/classes/ArgvValueResolver.md | 6 +- docs/tech/classes/AsyncSourceLocator.md | 10 +- docs/tech/classes/BaseEntity.md | 182 +- docs/tech/classes/BaseEntityCollection.md | 14 +- docs/tech/classes/BasePageLinkProcessor.md | 8 +- docs/tech/classes/BasePageLinker.md | 16 +- docs/tech/classes/BasePhpStubberPlugin.md | 8 +- docs/tech/classes/BaseSourceLocator.md | 6 +- docs/tech/classes/BeforeCreatingDocFile.md | 66 +- docs/tech/classes/BreadcrumbsHelper.md | 30 +- .../classes/BreadcrumbsTwigEnvironment.md | 6 +- .../classes/CacheKeyGeneratorInterface.md | 6 +- docs/tech/classes/CacheableEntityInterface.md | 16 +- docs/tech/classes/CacheableEntityTrait.md | 10 +- .../classes/CacheableEntityWrapperFactory.md | 8 +- .../classes/CacheableEntityWrapperTrait.md | 124 +- docs/tech/classes/CacheableMethod.md | 14 +- .../tech/classes/CacheablePhpEntityFactory.md | 60 +- docs/tech/classes/CachedSourceLocator.md | 12 +- docs/tech/classes/ClassEntity.md | 798 ++++++++- docs/tech/classes/ClassEntityCollection.md | 455 ++++- docs/tech/classes/CloneOperation.md | 20 +- docs/tech/classes/ComposerStubberPlugin.md | 12 +- docs/tech/classes/ConditionGroup.md | 10 +- docs/tech/classes/ConditionGroupTypeEnum.md | 6 +- docs/tech/classes/ConditionInterface.md | 6 +- docs/tech/classes/Configuration.md | 54 +- .../tech/classes/ConfigurationParameterBag.md | 42 +- docs/tech/classes/ConstantEntity.md | 720 +++++++- docs/tech/classes/ConstantEntityCollection.md | 177 +- docs/tech/classes/CustomFilterInterface.md | 6 +- docs/tech/classes/CustomFiltersCollection.md | 22 +- docs/tech/classes/CustomFunctionInterface.md | 6 +- .../tech/classes/CustomFunctionsCollection.md | 24 +- .../classes/CustomSourceLocatorInterface.md | 4 +- docs/tech/classes/DefaultCacheKeyGenerator.md | 6 +- docs/tech/classes/DirectoriesSourceLocator.md | 34 +- docs/tech/classes/DirectoryDependency.md | 14 +- docs/tech/classes/DocGenerator.md | 30 +- docs/tech/classes/DocGeneratorFactory.md | 12 +- .../DocumentTransformableEntityInterface.md | 20 +- docs/tech/classes/DocumentedEntityWrapper.md | 26 +- .../DocumentedEntityWrappersCollection.md | 20 +- docs/tech/classes/DrawClassMap.md | 24 +- docs/tech/classes/DrawDocumentationMenu.md | 18 +- docs/tech/classes/DrawDocumentedEntityLink.md | 14 +- docs/tech/classes/DynamicMethodEntity.md | 76 +- docs/tech/classes/EntityCacheItemPool.md | 24 +- docs/tech/classes/EntityCacheStorageHelper.md | 18 +- docs/tech/classes/EntityDocRendererHelper.md | 20 +- .../classes/EntityDocRendererInterface.md | 14 +- .../classes/EntityDocRenderersCollection.md | 16 +- docs/tech/classes/EntityInterface.md | 18 +- docs/tech/classes/FalseCondition.md | 6 +- docs/tech/classes/FileDependency.md | 18 +- docs/tech/classes/FileGetContents.md | 12 +- .../tech/classes/FileIteratorSourceLocator.md | 34 +- .../tech/classes/FileTextContainsCondition.md | 8 +- docs/tech/classes/FixStrSize.md | 8 +- docs/tech/classes/GenerateCommand.md | 1384 ++++++++++++++++ docs/tech/classes/GeneratePageBreadcrumbs.md | 16 +- docs/tech/classes/GetClassMethodsBodyCode.md | 12 +- docs/tech/classes/GetDocumentationPageUrl.md | 14 +- docs/tech/classes/GetDocumentedEntityUrl.md | 20 +- docs/tech/classes/GithubPagesLinkProcessor.md | 8 +- docs/tech/classes/InternalValueResolver.md | 8 +- .../InvalidConfigurationParameterException.md | 352 +++- docs/tech/classes/IsPrivateCondition.md | 8 +- docs/tech/classes/IsPrivateCondition_2.md | 8 +- docs/tech/classes/IsPrivateCondition_3.md | 8 +- docs/tech/classes/IsProtectedCondition.md | 8 +- docs/tech/classes/IsProtectedCondition_2.md | 8 +- docs/tech/classes/IsProtectedCondition_3.md | 8 +- docs/tech/classes/IsPublicCondition.md | 8 +- docs/tech/classes/IsPublicCondition_2.md | 8 +- docs/tech/classes/IsPublicCondition_3.md | 8 +- docs/tech/classes/IterateEntitiesOperation.md | 16 +- docs/tech/classes/LanguageHandlerInterface.md | 20 +- .../classes/LanguageHandlersCollection.md | 20 +- docs/tech/classes/LastPageCommitter.md | 14 +- docs/tech/classes/LoadPluginsContent.md | 14 +- docs/tech/classes/LocalObjectCache.md | 6 +- docs/tech/classes/LocatedInCondition.md | 12 +- .../classes/LoggableRootEntityCollection.md | 249 ++- docs/tech/classes/MainExtension.md | 124 +- docs/tech/classes/MainTwigEnvironment.md | 10 +- docs/tech/classes/MethodEntity.md | 724 +++++++- docs/tech/classes/MethodEntityCollection.md | 185 ++- docs/tech/classes/MethodEntityInterface.md | 172 +- .../tech/classes/MissingDocBlocksGenerator.md | 20 +- docs/tech/classes/ObjectNotFoundException.md | 352 +++- .../classes/OnAddClassEntityToCollection.md | 70 +- .../classes/OnCheckIsClassEntityCanBeLoad.md | 68 +- docs/tech/classes/OnGettingResourceLink.md | 62 +- .../classes/OnLoadEntityDocPluginContent.md | 70 +- .../classes/OnLoadSourceLocatorsCollection.md | 62 +- .../classes/OnlyFromCurrentClassCondition.md | 6 +- .../OnlyFromCurrentClassCondition_2.md | 6 +- docs/tech/classes/OnlySingleExecutionEvent.md | 4 +- docs/tech/classes/OperationInterface.md | 6 +- docs/tech/classes/OperationsCollection.md | 18 +- docs/tech/classes/PageHtmlLinkerPlugin.md | 154 +- .../classes/PageLinkProcessorInterface.md | 4 +- docs/tech/classes/PageRstLinkerPlugin.md | 154 +- docs/tech/classes/ParserHelper.md | 42 +- .../PhpClassRendererTwigEnvironment.md | 8 +- docs/tech/classes/PhpClassToMdDocRenderer.md | 24 +- .../classes/PhpDocumentorStubberPlugin.md | 12 +- docs/tech/classes/PhpHandler.md | 26 +- docs/tech/classes/PhpHandlerSettings.md | 44 +- docs/tech/classes/PhpUnitStubberPlugin.md | 12 +- docs/tech/classes/PluginEventDispatcher.md | 330 +++- docs/tech/classes/PluginInterface.md | 34 +- docs/tech/classes/PluginsCollection.md | 20 +- docs/tech/classes/PregMatch.md | 8 +- docs/tech/classes/PrepareSourceLink.md | 8 +- .../classes/PrintEntityCollectionAsList.md | 14 +- docs/tech/classes/ProgressBarFactory.md | 8 +- docs/tech/classes/ProjectParser.md | 12 +- docs/tech/classes/PropertyEntity.md | 728 +++++++- docs/tech/classes/PropertyEntityCollection.md | 177 +- docs/tech/classes/PsrClassesStubberPlugin.md | 12 +- docs/tech/classes/Quotemeta.md | 8 +- docs/tech/classes/ReadmeTemplateFiller.md | 10 +- .../RecursiveDirectoriesSourceLocator.md | 34 +- docs/tech/classes/RefValueResolver.md | 6 +- docs/tech/classes/ReflectionException.md | 352 +++- docs/tech/classes/ReflectorWrapper.md | 24 +- docs/tech/classes/RemoveLineBrakes.md | 8 +- docs/tech/classes/Renderer.md | 20 +- docs/tech/classes/RendererContext.md | 22 +- .../RendererContextCacheKeyGenerator.md | 6 +- .../tech/classes/RendererDependencyFactory.md | 14 +- .../classes/RendererDependencyInterface.md | 6 +- docs/tech/classes/RendererHelper.md | 14 +- docs/tech/classes/RendererIteratorFactory.md | 30 +- docs/tech/classes/RootEntityCollection.md | 171 +- .../classes/RootEntityCollectionsGroup.md | 22 +- docs/tech/classes/RootEntityInterface.md | 196 ++- .../SharedCompressedDocumentFileCache.md | 16 +- .../classes/SingleEntitySearchOperation.md | 26 +- docs/tech/classes/SingleFileSourceLocator.md | 34 +- .../classes/SourceLocatorCacheItemPool.md | 24 +- docs/tech/classes/SourceLocatorInterface.md | 4 +- docs/tech/classes/SourceLocatorsCollection.md | 18 +- docs/tech/classes/StrTypeToUrl.md | 16 +- docs/tech/classes/StylizedProgressBar.md | 18 +- .../classes/SymfonyComponentStubberPlugin.md | 12 +- docs/tech/classes/SystemAsyncSourceLocator.md | 106 +- .../classes/TemplatesStructureGenerator.md | 10 +- docs/tech/classes/TextToCodeBlock.md | 8 +- docs/tech/classes/TextToHeading.md | 8 +- docs/tech/classes/TrueCondition.md | 6 +- docs/tech/classes/TwigStubberPlugin.md | 12 +- docs/tech/classes/ValueResolverInterface.md | 6 +- docs/tech/classes/ValueToClassTransformer.md | 8 +- .../tech/classes/ValueTransformerInterface.md | 6 +- docs/tech/classes/VisibilityCondition.md | 8 +- .../classes/VisibilityConditionModifier.md | 10 +- docs/tech/classes/VisibilityCondition_2.md | 8 +- docs/tech/classes/VisibilityCondition_3.md | 8 +- docs/tech/map.md | 8 +- docs/tech/readme.md | 2 +- 326 files changed, 25182 insertions(+), 2525 deletions(-) create mode 100644 docs/tech/3.renderer/classes/RootEntityInterface_2.md create mode 100644 docs/tech/4.pluginSystem/classes/ReflectionException.md create mode 100644 docs/tech/classes/App.md create mode 100644 docs/tech/classes/GenerateCommand.md diff --git a/docs/classes/DocGenerator.md b/docs/classes/DocGenerator.md index 7b48bbfc..ca701b4a 100644 --- a/docs/classes/DocGenerator.md +++ b/docs/classes/DocGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / DocGenerator

- DocGenerator class: + DocGenerator class:

@@ -55,11 +55,11 @@ final class DocGenerator @@ -74,7 +74,7 @@ final class DocGenerator ```php @@ -106,27 +106,27 @@ public function __construct(\Symfony\Component\Filesystem\Filesystem $fs, \Symfo
- + - + - + - + - + @@ -146,7 +146,7 @@ public function __construct(\Symfony\Component\Filesystem\Filesystem $fs, \Symfo ```php @@ -186,7 +186,7 @@ public function addMissingDocBlocks(): void; ```php @@ -226,7 +226,7 @@ public function fillInReadmeMdTemplate(): void; ```php @@ -254,7 +254,7 @@ public function generate(): void; ```php @@ -294,7 +294,7 @@ public function generateProjectTemplatesStructure(): void; ```php @@ -305,7 +305,7 @@ public function parseAndGetRootEntityCollectionsGroup(): \BumbleDocGen\Core\Pars Parameters: not specified -Return value:\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup +Return value:\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroupThrows: diff --git a/docs/classes/DocGeneratorFactory.md b/docs/classes/DocGeneratorFactory.md index 87546b67..276fcdd2 100644 --- a/docs/classes/DocGeneratorFactory.md +++ b/docs/classes/DocGeneratorFactory.md @@ -2,7 +2,7 @@ BumbleDocGen/ DocGeneratorFactory

- DocGeneratorFactory class: + DocGeneratorFactory class:

@@ -54,11 +54,11 @@ final class DocGeneratorFactory ```php -public function __construct(string $diConfig = '/BumbleDocGen/di-config.php'); +public function __construct(string $diConfig = '/src/di-config.php'); ``` @@ -91,7 +91,7 @@ public function __construct(string $diConfig = '/BumbleDocGen/di-config.php'); ```php @@ -119,7 +119,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator;
$configuration\BumbleDocGen\Core\Configuration\Configuration\BumbleDocGen\Core\Configuration\Configuration -
$parser\BumbleDocGen\Core\Parser\ProjectParser\BumbleDocGen\Core\Parser\ProjectParser -
$parserHelper\BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper\BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper -
$renderer\BumbleDocGen\Core\Renderer\Renderer\BumbleDocGen\Core\Renderer\Renderer -
$rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup -
-Return value: \BumbleDocGen\DocGenerator +Return value: \BumbleDocGen\DocGenerator Throws: @@ -142,7 +142,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; ```php diff --git a/docs/classes/InvalidConfigurationParameterException.md b/docs/classes/InvalidConfigurationParameterException.md index 073382ed..37cfaeba 100644 --- a/docs/classes/InvalidConfigurationParameterException.md +++ b/docs/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / InvalidConfigurationParameterException

- InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

@@ -29,13 +29,363 @@ See: +

Initialization methods:

+
    +
  1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
  2. +
+

Methods:

+
    +
  1. + __toString + - String representation of the exception
  2. +
  3. + __wakeup +
  4. +
  5. + getCode + - Gets the Exception code
  6. +
  7. + getFile + - Gets the file in which the exception occurred
  8. +
  9. + getLine + - Gets the line in which the exception occurred
  10. +
  11. + getMessage + - Gets the Exception message
  12. +
  13. + getPrevious + - Returns previous Exception
  14. +
  15. + getTrace + - Gets the stack trace
  16. +
  17. + getTraceAsString + - Gets the stack trace as a string
  18. +
+ +

Method details:

+ +
+ +
    +
  • # + __construct +
  • +
+ +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
Construct the exception. Note: The message is NOT binary safe.
+ +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$messagestring[optional] The Exception message to throw.
$codeint[optional] The Exception code.
$previousThrowable | null[optional] The previous throwable used for the exception chaining.
+ + + + +See: + +
+
+
+ +
    +
  • # + __toString +
  • +
+ +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
String representation of the exception
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + __wakeup +
  • +
+ +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
+
+
+ +
    +
  • # + getCode +
  • +
+ +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
Gets the Exception code
+ +Parameters: not specified + +Return value: mixed | int + + + +See: + +
+
+
+ +
    +
  • # + getFile +
  • +
+ +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
Gets the file in which the exception occurred
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getLine +
  • +
+ +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
Gets the line in which the exception occurred
+ +Parameters: not specified + +Return value: int + + + +See: + +
+
+
+ +
    +
  • # + getMessage +
  • +
+ +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
Gets the Exception message
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getPrevious +
  • +
+ +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
Returns previous Exception
+ +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
+
+
+ +
    +
  • # + getTrace +
  • +
+ +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
Gets the stack trace
+ +Parameters: not specified + +Return value: array + + + +See: + +
+
+
+ +
    +
  • # + getTraceAsString +
  • +
+ +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
Gets the stack trace as a string
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+ \ No newline at end of file diff --git a/docs/classes/ReflectionException.md b/docs/classes/ReflectionException.md index e6d091a7..5a86d8a6 100644 --- a/docs/classes/ReflectionException.md +++ b/docs/classes/ReflectionException.md @@ -2,7 +2,7 @@ BumbleDocGen / ReflectionException

- ReflectionException class: + ReflectionException class:

@@ -29,13 +29,363 @@ See: +

Initialization methods:

+
    +
  1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
  2. +
+

Methods:

+
    +
  1. + __toString + - String representation of the exception
  2. +
  3. + __wakeup +
  4. +
  5. + getCode + - Gets the Exception code
  6. +
  7. + getFile + - Gets the file in which the exception occurred
  8. +
  9. + getLine + - Gets the line in which the exception occurred
  10. +
  11. + getMessage + - Gets the Exception message
  12. +
  13. + getPrevious + - Returns previous Exception
  14. +
  15. + getTrace + - Gets the stack trace
  16. +
  17. + getTraceAsString + - Gets the stack trace as a string
  18. +
+ +

Method details:

+ +
+ +
    +
  • # + __construct +
  • +
+ +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
Construct the exception. Note: The message is NOT binary safe.
+ +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$messagestring[optional] The Exception message to throw.
$codeint[optional] The Exception code.
$previousThrowable | null[optional] The previous throwable used for the exception chaining.
+ + + + +See: + +
+
+
+ +
    +
  • # + __toString +
  • +
+ +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
String representation of the exception
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + __wakeup +
  • +
+ +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
+
+
+ +
    +
  • # + getCode +
  • +
+ +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
Gets the Exception code
+ +Parameters: not specified + +Return value: mixed | int + + + +See: + +
+
+
+ +
    +
  • # + getFile +
  • +
+ +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
Gets the file in which the exception occurred
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getLine +
  • +
+ +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
Gets the line in which the exception occurred
+ +Parameters: not specified + +Return value: int + + + +See: + +
+
+
+ +
    +
  • # + getMessage +
  • +
+ +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
Gets the Exception message
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getPrevious +
  • +
+ +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
Returns previous Exception
+ +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
+
+
+ +
    +
  • # + getTrace +
  • +
+ +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
Gets the stack trace
+ +Parameters: not specified + +Return value: array + + + +See: + +
+
+
+ +
    +
  • # + getTraceAsString +
  • +
+ +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
Gets the stack trace as a string
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+ \ No newline at end of file diff --git a/docs/readme.md b/docs/readme.md index be5deb5d..3a8e5cd3 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -78,4 +78,4 @@ To update this documentation, run the following command:

-Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
Last modified date: Sun Jul 30 16:49:10 2023 +0300
Page content update date: Thu Aug 31 2023
Made with Bumble Documentation Generator
\ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
Last modified date: Thu Aug 31 16:33:11 2023 +0300
Page content update date: Sat Sep 02 2023
Made with
Bumble Documentation Generator \ No newline at end of file diff --git a/docs/shared_c.cache b/docs/shared_c.cache index b400014c..950e84f9 100644 --- a/docs/shared_c.cache +++ b/docs/shared_c.cache @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/tech/1.configuration/classes/AddIndentFromLeft.md b/docs/tech/1.configuration/classes/AddIndentFromLeft.md index d0cb8a4b..05abbaba 100644 --- a/docs/tech/1.configuration/classes/AddIndentFromLeft.md +++ b/docs/tech/1.configuration/classes/AddIndentFromLeft.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / AddIndentFromLeft

- AddIndentFromLeft class: + AddIndentFromLeft class:

@@ -64,7 +64,7 @@ final class AddIndentFromLeft implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $identLength = 4, bool $skipFirstIden ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/BasePageLinkProcessor.md b/docs/tech/1.configuration/classes/BasePageLinkProcessor.md index 2bacb850..054138fd 100644 --- a/docs/tech/1.configuration/classes/BasePageLinkProcessor.md +++ b/docs/tech/1.configuration/classes/BasePageLinkProcessor.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / BasePageLinkProcessor

- BasePageLinkProcessor class: + BasePageLinkProcessor class:

@@ -51,7 +51,7 @@ class BasePageLinkProcessor implements \BumbleDocGen\Core\Renderer\PageLinkProce ```php @@ -73,7 +73,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -88,7 +88,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php diff --git a/docs/tech/1.configuration/classes/Configuration.md b/docs/tech/1.configuration/classes/Configuration.md index c0f7e241..c893f6ca 100644 --- a/docs/tech/1.configuration/classes/Configuration.md +++ b/docs/tech/1.configuration/classes/Configuration.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / Configuration

- Configuration class: + Configuration class:

@@ -88,7 +88,7 @@ final class Configuration @@ -103,7 +103,7 @@ final class Configuration ```php @@ -125,12 +125,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -150,7 +150,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -178,7 +178,7 @@ public function getCacheDir(): string|null; ```php @@ -199,7 +199,7 @@ public function getDocGenLibDir(): string; ```php @@ -227,7 +227,7 @@ public function getGitClientPath(): string; ```php @@ -238,7 +238,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection Throws: @@ -261,7 +261,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L ```php @@ -289,7 +289,7 @@ public function getOutputDir(): string; ```php @@ -317,7 +317,7 @@ public function getOutputDirBaseUrl(): string; ```php @@ -328,7 +328,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface +Return value: \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface Throws: @@ -351,7 +351,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc ```php @@ -362,7 +362,7 @@ public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginsCollection +Return value: \BumbleDocGen\Core\Plugin\PluginsCollection Throws: @@ -385,7 +385,7 @@ public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; ```php @@ -413,7 +413,7 @@ public function getProjectRoot(): string; ```php @@ -424,7 +424,7 @@ public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\Sou Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection Throws: @@ -447,7 +447,7 @@ public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\Sou ```php @@ -475,7 +475,7 @@ public function getTemplatesDir(): string; ```php @@ -486,7 +486,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection Throws: @@ -509,7 +509,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -520,7 +520,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection Throws: @@ -543,7 +543,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -571,7 +571,7 @@ public function getWorkingDir(): string; ```php @@ -599,7 +599,7 @@ public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; ```php diff --git a/docs/tech/1.configuration/classes/DocumentedEntityWrapper.md b/docs/tech/1.configuration/classes/DocumentedEntityWrapper.md index d12ba441..75f0060d 100644 --- a/docs/tech/1.configuration/classes/DocumentedEntityWrapper.md +++ b/docs/tech/1.configuration/classes/DocumentedEntityWrapper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / DocumentedEntityWrapper

- DocumentedEntityWrapper class: + DocumentedEntityWrapper class:

@@ -69,7 +69,7 @@ final class DocumentedEntityWrapper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor $documentTransformableEntity - \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface + \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface An entity that is allowed to be documented $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -116,7 +116,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor ```php @@ -127,7 +127,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -137,7 +137,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -158,7 +158,7 @@ public function getDocUrl(): string; ```php @@ -169,7 +169,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface @@ -179,7 +179,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co ```php @@ -200,7 +200,7 @@ public function getEntityName(): string; ```php @@ -221,7 +221,7 @@ public function getFileName(): string; ```php @@ -242,7 +242,7 @@ public function getInitiatorFilePath(): string; ```php diff --git a/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md b/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md index b9a24b76..8d44c8e3 100644 --- a/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / DocumentedEntityWrappersCollection

- DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

@@ -60,7 +60,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -129,7 +129,7 @@ public function count(): int; ```php @@ -151,13 +151,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper @@ -167,7 +167,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -188,7 +188,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/1.configuration/classes/DrawDocumentationMenu.md b/docs/tech/1.configuration/classes/DrawDocumentationMenu.md index 76676bb3..d6ed752d 100644 --- a/docs/tech/1.configuration/classes/DrawDocumentationMenu.md +++ b/docs/tech/1.configuration/classes/DrawDocumentationMenu.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / DrawDocumentationMenu

- DrawDocumentationMenu class: + DrawDocumentationMenu class:

@@ -97,7 +97,7 @@ See: ```php @@ -119,22 +119,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -149,7 +149,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -207,7 +207,7 @@ public function __invoke(string|null $startPageKey = NULL, int|null $maxDeep = N ```php @@ -228,7 +228,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/DrawDocumentedEntityLink.md b/docs/tech/1.configuration/classes/DrawDocumentedEntityLink.md index cc5c480c..6a7566e7 100644 --- a/docs/tech/1.configuration/classes/DrawDocumentedEntityLink.md +++ b/docs/tech/1.configuration/classes/DrawDocumentedEntityLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / DrawDocumentedEntityLink

- DrawDocumentedEntityLink class: + DrawDocumentedEntityLink class:

@@ -85,7 +85,7 @@ final class DrawDocumentedEntityLink implements \BumbleDocGen\Core\Renderer\Twig ```php @@ -107,7 +107,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -122,7 +122,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -144,7 +144,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we want to get the link @@ -186,7 +186,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e ```php @@ -207,7 +207,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/FileGetContents.md b/docs/tech/1.configuration/classes/FileGetContents.md index 48e7207e..16d55c6f 100644 --- a/docs/tech/1.configuration/classes/FileGetContents.md +++ b/docs/tech/1.configuration/classes/FileGetContents.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / FileGetContents

- FileGetContents class: + FileGetContents class:

@@ -86,7 +86,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - @@ -123,7 +123,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -162,7 +162,7 @@ public function __invoke(string $resourceName): string; ```php @@ -183,7 +183,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/FixStrSize.md b/docs/tech/1.configuration/classes/FixStrSize.md index 95812249..28706f4e 100644 --- a/docs/tech/1.configuration/classes/FixStrSize.md +++ b/docs/tech/1.configuration/classes/FixStrSize.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / FixStrSize

- FixStrSize class: + FixStrSize class:

@@ -64,7 +64,7 @@ final class FixStrSize implements \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $size, string $symbol = ' '): string; ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/GeneratePageBreadcrumbs.md b/docs/tech/1.configuration/classes/GeneratePageBreadcrumbs.md index c09c3afe..ecf0e1dc 100644 --- a/docs/tech/1.configuration/classes/GeneratePageBreadcrumbs.md +++ b/docs/tech/1.configuration/classes/GeneratePageBreadcrumbs.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / GeneratePageBreadcrumbs

- GeneratePageBreadcrumbs class: + GeneratePageBreadcrumbs class:

@@ -67,7 +67,7 @@ final class GeneratePageBreadcrumbs implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -89,17 +89,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -114,7 +114,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -180,7 +180,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s ```php @@ -201,7 +201,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/GetDocumentationPageUrl.md b/docs/tech/1.configuration/classes/GetDocumentationPageUrl.md index 2d4f9ccc..a9b54883 100644 --- a/docs/tech/1.configuration/classes/GetDocumentationPageUrl.md +++ b/docs/tech/1.configuration/classes/GetDocumentationPageUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / GetDocumentationPageUrl

- GetDocumentationPageUrl class: + GetDocumentationPageUrl class:

@@ -82,7 +82,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ @@ -97,7 +97,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - @@ -139,7 +139,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -191,7 +191,7 @@ public function __invoke(string $key): string; ```php @@ -212,7 +212,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md b/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md index 866f7dd8..7a2b7ab7 100644 --- a/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md +++ b/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / GetDocumentedEntityUrl

- GetDocumentedEntityUrl class: + GetDocumentedEntityUrl class:

@@ -91,7 +91,7 @@ The function returns a link to the file MainExtension @@ -106,7 +106,7 @@ The function returns a link to the file MainExtension ```php @@ -128,17 +128,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -158,7 +158,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -180,7 +180,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -228,7 +228,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -249,7 +249,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/InvalidConfigurationParameterException.md b/docs/tech/1.configuration/classes/InvalidConfigurationParameterException.md index c53a7e72..a4d65968 100644 --- a/docs/tech/1.configuration/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/1.configuration/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / InvalidConfigurationParameterException

- InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

@@ -29,13 +29,363 @@ See: +

Initialization methods:

+
    +
  1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
  2. +
+

Methods:

+
    +
  1. + __toString + - String representation of the exception
  2. +
  3. + __wakeup +
  4. +
  5. + getCode + - Gets the Exception code
  6. +
  7. + getFile + - Gets the file in which the exception occurred
  8. +
  9. + getLine + - Gets the line in which the exception occurred
  10. +
  11. + getMessage + - Gets the Exception message
  12. +
  13. + getPrevious + - Returns previous Exception
  14. +
  15. + getTrace + - Gets the stack trace
  16. +
  17. + getTraceAsString + - Gets the stack trace as a string
  18. +
+ +

Method details:

+ +
+ +
    +
  • # + __construct +
  • +
+ +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
Construct the exception. Note: The message is NOT binary safe.
+ +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$messagestring[optional] The Exception message to throw.
$codeint[optional] The Exception code.
$previousThrowable | null[optional] The previous throwable used for the exception chaining.
+ + + + +See: + +
+
+
+ +
    +
  • # + __toString +
  • +
+ +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
String representation of the exception
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + __wakeup +
  • +
+ +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
+
+
+ +
    +
  • # + getCode +
  • +
+ +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
Gets the Exception code
+ +Parameters: not specified + +Return value: mixed | int + + + +See: + +
+
+
+ +
    +
  • # + getFile +
  • +
+ +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
Gets the file in which the exception occurred
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getLine +
  • +
+ +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
Gets the line in which the exception occurred
+ +Parameters: not specified + +Return value: int + + + +See: + +
+
+
+ +
    +
  • # + getMessage +
  • +
+ +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
Gets the Exception message
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getPrevious +
  • +
+ +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
Returns previous Exception
+ +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
+
+
+ +
    +
  • # + getTrace +
  • +
+ +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
Gets the stack trace
+ +Parameters: not specified + +Return value: array + + + +See: + +
+
+
+ +
    +
  • # + getTraceAsString +
  • +
+ +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
Gets the stack trace as a string
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+ \ No newline at end of file diff --git a/docs/tech/1.configuration/classes/LastPageCommitter.md b/docs/tech/1.configuration/classes/LastPageCommitter.md index cd4941f4..800988d5 100644 --- a/docs/tech/1.configuration/classes/LastPageCommitter.md +++ b/docs/tech/1.configuration/classes/LastPageCommitter.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / LastPageCommitter

- LastPageCommitter class: + LastPageCommitter class:

@@ -54,7 +54,7 @@ final class LastPageCommitter implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -76,12 +76,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -96,7 +96,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -118,7 +118,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B $event - \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile + \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile - @@ -141,7 +141,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B ```php diff --git a/docs/tech/1.configuration/classes/LoadPluginsContent.md b/docs/tech/1.configuration/classes/LoadPluginsContent.md index 4fec4022..5d30c982 100644 --- a/docs/tech/1.configuration/classes/LoadPluginsContent.md +++ b/docs/tech/1.configuration/classes/LoadPluginsContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / LoadPluginsContent

- LoadPluginsContent class: + LoadPluginsContent class:

@@ -75,7 +75,7 @@ final class LoadPluginsContent implements \BumbleDocGen\Core\Renderer\Twig\Funct ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu ```php @@ -139,7 +139,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we process the content block @@ -160,7 +160,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE ```php @@ -181,7 +181,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/PageHtmlLinkerPlugin.md b/docs/tech/1.configuration/classes/PageHtmlLinkerPlugin.md index a28382fb..fb581ebb 100644 --- a/docs/tech/1.configuration/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/1.configuration/classes/PageHtmlLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / PageHtmlLinkerPlugin

- PageHtmlLinkerPlugin class: + PageHtmlLinkerPlugin class:

@@ -42,13 +42,165 @@ final class PageHtmlLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pa +

Initialization methods:

+
    +
  1. + __construct +
  2. +
+

Methods:

+
    +
  1. + beforeCreatingDocFile +
  2. +
  3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
  4. +
+ +

Method details:

+ +
+ + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
$rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
$getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
$loggerPsr\Log\LoggerInterface-
+ + + +
+
+
+ + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
NameTypeDescription
$event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
+ +Return value: void + + +Throws: + + +
+
+
+ + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
Returns an array of event names this subscriber wants to listen to.
+ +Parameters: not specified + +Return value: array + + +
+
+ \ No newline at end of file diff --git a/docs/tech/1.configuration/classes/PregMatch.md b/docs/tech/1.configuration/classes/PregMatch.md index 6d9a1ba4..e685e3d8 100644 --- a/docs/tech/1.configuration/classes/PregMatch.md +++ b/docs/tech/1.configuration/classes/PregMatch.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / PregMatch

- PregMatch class: + PregMatch class:

@@ -70,7 +70,7 @@ See: ```php @@ -113,7 +113,7 @@ public function __invoke(string $text, string $pattern): array; ```php @@ -134,7 +134,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/PrepareSourceLink.md b/docs/tech/1.configuration/classes/PrepareSourceLink.md index babbca2c..a4e1713e 100644 --- a/docs/tech/1.configuration/classes/PrepareSourceLink.md +++ b/docs/tech/1.configuration/classes/PrepareSourceLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / PrepareSourceLink

- PrepareSourceLink class: + PrepareSourceLink class:

@@ -64,7 +64,7 @@ final class PrepareSourceLink implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/PrintEntityCollectionAsList.md b/docs/tech/1.configuration/classes/PrintEntityCollectionAsList.md index 43f7723a..c58d0eb1 100644 --- a/docs/tech/1.configuration/classes/PrintEntityCollectionAsList.md +++ b/docs/tech/1.configuration/classes/PrintEntityCollectionAsList.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / PrintEntityCollectionAsList

- PrintEntityCollectionAsList class: + PrintEntityCollectionAsList class:

@@ -82,7 +82,7 @@ The function will list all documented PHP classes ```php @@ -104,7 +104,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -141,7 +141,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -179,7 +179,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -200,7 +200,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/Quotemeta.md b/docs/tech/1.configuration/classes/Quotemeta.md index 56a2618b..5c60362a 100644 --- a/docs/tech/1.configuration/classes/Quotemeta.md +++ b/docs/tech/1.configuration/classes/Quotemeta.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / Quotemeta

- Quotemeta class: + Quotemeta class:

@@ -70,7 +70,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __invoke(string $text): string; ```php @@ -129,7 +129,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/ReflectionException.md b/docs/tech/1.configuration/classes/ReflectionException.md index 816ff4b7..b43a6163 100644 --- a/docs/tech/1.configuration/classes/ReflectionException.md +++ b/docs/tech/1.configuration/classes/ReflectionException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / ReflectionException

- ReflectionException class: + ReflectionException class:

@@ -29,13 +29,363 @@ See: +

Initialization methods:

+
    +
  1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
  2. +
+

Methods:

+
    +
  1. + __toString + - String representation of the exception
  2. +
  3. + __wakeup +
  4. +
  5. + getCode + - Gets the Exception code
  6. +
  7. + getFile + - Gets the file in which the exception occurred
  8. +
  9. + getLine + - Gets the line in which the exception occurred
  10. +
  11. + getMessage + - Gets the Exception message
  12. +
  13. + getPrevious + - Returns previous Exception
  14. +
  15. + getTrace + - Gets the stack trace
  16. +
  17. + getTraceAsString + - Gets the stack trace as a string
  18. +
+ +

Method details:

+ +
+ +
    +
  • # + __construct +
  • +
+ +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
Construct the exception. Note: The message is NOT binary safe.
+ +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$messagestring[optional] The Exception message to throw.
$codeint[optional] The Exception code.
$previousThrowable | null[optional] The previous throwable used for the exception chaining.
+ + + + +See: + +
+
+
+ +
    +
  • # + __toString +
  • +
+ +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
String representation of the exception
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + __wakeup +
  • +
+ +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
+
+
+ +
    +
  • # + getCode +
  • +
+ +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
Gets the Exception code
+ +Parameters: not specified + +Return value: mixed | int + + + +See: + +
+
+
+ +
    +
  • # + getFile +
  • +
+ +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
Gets the file in which the exception occurred
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getLine +
  • +
+ +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
Gets the line in which the exception occurred
+ +Parameters: not specified + +Return value: int + + + +See: + +
+
+
+ +
    +
  • # + getMessage +
  • +
+ +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
Gets the Exception message
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+
+ +
    +
  • # + getPrevious +
  • +
+ +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
Returns previous Exception
+ +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
+
+
+ +
    +
  • # + getTrace +
  • +
+ +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
Gets the stack trace
+ +Parameters: not specified + +Return value: array + + + +See: + +
+
+
+ +
    +
  • # + getTraceAsString +
  • +
+ +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
Gets the stack trace as a string
+ +Parameters: not specified + +Return value: string + + + +See: + +
+
+ \ No newline at end of file diff --git a/docs/tech/1.configuration/classes/RemoveLineBrakes.md b/docs/tech/1.configuration/classes/RemoveLineBrakes.md index c4a348e1..dd30baa9 100644 --- a/docs/tech/1.configuration/classes/RemoveLineBrakes.md +++ b/docs/tech/1.configuration/classes/RemoveLineBrakes.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / RemoveLineBrakes

- RemoveLineBrakes class: + RemoveLineBrakes class:

@@ -64,7 +64,7 @@ final class RemoveLineBrakes implements \BumbleDocGen\Core\Renderer\Twig\Filter\ ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/RendererContext.md b/docs/tech/1.configuration/classes/RendererContext.md index a23f5633..45a08f3f 100644 --- a/docs/tech/1.configuration/classes/RendererContext.md +++ b/docs/tech/1.configuration/classes/RendererContext.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / RendererContext

- RendererContext class: + RendererContext class:

@@ -62,7 +62,7 @@ final class RendererContext ```php @@ -84,7 +84,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren $dependency - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface - @@ -100,7 +100,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren ```php @@ -121,7 +121,7 @@ public function clearDependencies(): void; ```php @@ -132,7 +132,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null @@ -142,7 +142,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer ```php @@ -163,7 +163,7 @@ public function getCurrentTemplateFilePatch(): string; ```php @@ -184,7 +184,7 @@ public function getDependencies(): array; ```php @@ -206,7 +206,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co $currentDocumentedEntityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -222,7 +222,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co ```php diff --git a/docs/tech/1.configuration/classes/StrTypeToUrl.md b/docs/tech/1.configuration/classes/StrTypeToUrl.md index de531aed..8245f26b 100644 --- a/docs/tech/1.configuration/classes/StrTypeToUrl.md +++ b/docs/tech/1.configuration/classes/StrTypeToUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / StrTypeToUrl

- StrTypeToUrl class: + StrTypeToUrl class:

@@ -77,7 +77,7 @@ See: ```php @@ -99,12 +99,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -124,7 +124,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -151,7 +151,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -193,7 +193,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti ```php @@ -214,7 +214,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/TextToCodeBlock.md b/docs/tech/1.configuration/classes/TextToCodeBlock.md index fc8f2efc..f0edbac1 100644 --- a/docs/tech/1.configuration/classes/TextToCodeBlock.md +++ b/docs/tech/1.configuration/classes/TextToCodeBlock.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / TextToCodeBlock

- TextToCodeBlock class: + TextToCodeBlock class:

@@ -64,7 +64,7 @@ final class TextToCodeBlock implements \BumbleDocGen\Core\Renderer\Twig\Filter\C ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $codeBlockType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/classes/TextToHeading.md b/docs/tech/1.configuration/classes/TextToHeading.md index 204493e1..1d607026 100644 --- a/docs/tech/1.configuration/classes/TextToHeading.md +++ b/docs/tech/1.configuration/classes/TextToHeading.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / TextToHeading

- TextToHeading class: + TextToHeading class:

@@ -64,7 +64,7 @@ final class TextToHeading implements \BumbleDocGen\Core\Renderer\Twig\Filter\Cus ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $headingType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/1.configuration/readme.md b/docs/tech/1.configuration/readme.md index a3017814..d61993a8 100644 --- a/docs/tech/1.configuration/readme.md +++ b/docs/tech/1.configuration/readme.md @@ -25,7 +25,7 @@ Let's look at an example of a real configuration in more detail: - class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator arguments: directories: - - "%project_root%/BumbleDocGen" + - "%project_root%/src" - "%project_root%/SelfDoc" twig_filters: - class: \SelfDoc\Configuration\Twig\CustomFilter\EvalString @@ -100,7 +100,7 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each cache_dir string|null - '%WORKING_DIR%/__cache' + '%WORKING_DIR%/.bumbleDocGenCache' Path to the directory where the documentation generator cache will be saved @@ -212,4 +212,4 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each

-Last page committer: Sean McNamara <sean.mcnamara@team.bumble.com>
Last modified date: Mon Aug 21 10:01:18 2023 +0100
Page content update date: Thu Aug 31 2023
Made with Bumble Documentation Generator
\ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
Last modified date: Sat Sep 2 19:26:06 2023 +0300
Page content update date: Sat Sep 02 2023
Made with
Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/classes/AsyncSourceLocator.md b/docs/tech/2.parser/classes/AsyncSourceLocator.md index 377acee2..19fc1441 100644 --- a/docs/tech/2.parser/classes/AsyncSourceLocator.md +++ b/docs/tech/2.parser/classes/AsyncSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / AsyncSourceLocator

- AsyncSourceLocator class: + AsyncSourceLocator class:

@@ -54,7 +54,7 @@ final class AsyncSourceLocator implements \BumbleDocGen\Core\Parser\SourceLocato ```php @@ -76,7 +76,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -101,7 +101,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache ```php @@ -122,7 +122,7 @@ public function getFinder(): \Symfony\Component\Finder\Finder|null; ```php diff --git a/docs/tech/2.parser/classes/ClassEntity.md b/docs/tech/2.parser/classes/ClassEntity.md index 8d0eeaca..50608901 100644 --- a/docs/tech/2.parser/classes/ClassEntity.md +++ b/docs/tech/2.parser/classes/ClassEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ClassEntity

- ClassEntity class: + ClassEntity class:

@@ -39,9 +39,21 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • documentCreationAllowed
  • +
  • + entityCacheIsOutdated +
  • entityDataCanBeLoaded
  • +
  • + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
  • +
  • + getCacheKey +
  • +
  • + getCachedEntityDependencies +
  • getCasesNames
  • @@ -63,12 +75,21 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getDescription
  • +
  • + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
  • getDocBlock
  • +
  • + getDocComment + - Get the doc comment of an entity
  • getDocCommentEntity
  • +
  • + getDocNote +
  • getDocRender
  • @@ -78,6 +99,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getEntityDependencies
  • +
  • + getExamples + - Get parsed examples from `examples` doc block
  • getExtends
  • @@ -87,6 +111,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getFileName - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
  • +
  • + getFileSourceLink +
  • +
  • + getFirstExample + - Get first example from @examples doc block
  • getFullFileName
  • @@ -162,6 +192,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getStartLine
  • +
  • + getThrows + - Get parsed throws from `throws` doc block
  • getTraitsNames
  • @@ -171,6 +204,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • hasConstant
  • +
  • + hasDescriptionLinks +
  • +
  • + hasExamples +
  • hasMethod
  • @@ -180,6 +219,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • hasProperty
  • +
  • + hasThrows +
  • hasTraits
  • @@ -189,6 +231,15 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • isClassLoad
  • +
  • + isDeprecated +
  • +
  • + isEntityDataCacheOutdated +
  • +
  • + isEntityFileCanBeLoad +
  • isEntityNameValid - Check if entity name is valid
  • @@ -204,6 +255,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • isInterface
  • +
  • + isInternal +
  • isSubclassOf
  • @@ -213,6 +267,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • loadPluginData
  • +
  • + reloadEntityDependenciesCache +
  • +
  • + removeNotUsedEntityDataCache +
  • setReflectionClass
  • @@ -231,7 +291,7 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn ```php @@ -253,32 +313,32 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $reflector - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper - $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -308,7 +368,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -367,7 +427,7 @@ public function cursorToDocAttributeLinkFragment(string $cursor, bool $isForDocu ```php @@ -395,10 +455,43 @@ public function documentCreationAllowed(): bool;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + ```php @@ -426,10 +519,93 @@ public function entityDataCanBeLoaded(): bool;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -460,7 +636,7 @@ public function getCasesNames(): array; ```php @@ -508,7 +684,7 @@ public function getConstant(string $name): string|array|int|bool|null|float; ```php @@ -541,7 +717,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null Throws: @@ -567,7 +743,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B ```php @@ -578,7 +754,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection Throws: @@ -604,7 +780,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -635,7 +811,7 @@ public function getConstants(): array; ```php @@ -666,7 +842,7 @@ public function getConstantsData(): array; ```php @@ -700,10 +876,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -737,10 +946,43 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + ```php @@ -751,7 +993,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -770,6 +1012,29 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -777,7 +1042,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -788,7 +1053,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface Throws: @@ -808,7 +1073,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -839,7 +1104,7 @@ public function getEndLine(): int; ```php @@ -853,6 +1118,29 @@ public function getEntityDependencies(): array; Return value: array +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -860,7 +1148,7 @@ public function getEntityDependencies(): array; ```php @@ -891,7 +1179,7 @@ public function getExtends(): string|null; ```php @@ -919,7 +1207,7 @@ public function getFileContent(): string; ```php @@ -933,6 +1221,76 @@ public function getFileName(): string|null; Return value: string | null +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -940,7 +1298,7 @@ public function getFileName(): string|null; ```php @@ -971,7 +1329,7 @@ public function getFullFileName(): string|null; ```php @@ -1002,7 +1360,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -1033,7 +1391,7 @@ public function getInterfaceNames(): array; ```php @@ -1064,7 +1422,7 @@ public function getInterfacesEntities(): array; ```php @@ -1095,7 +1453,7 @@ public function getInterfacesString(): string; ```php @@ -1128,7 +1486,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: @@ -1154,7 +1512,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl ```php @@ -1165,7 +1523,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection Throws: @@ -1191,7 +1549,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -1222,7 +1580,7 @@ public function getMethodsData(): array; ```php @@ -1253,7 +1611,7 @@ public function getModifiersString(): string; ```php @@ -1274,7 +1632,7 @@ public function getName(): string; ```php @@ -1305,7 +1663,7 @@ public function getNamespaceName(): string; ```php @@ -1326,7 +1684,7 @@ public function getObjectId(): string; ```php @@ -1337,7 +1695,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null Throws: @@ -1357,7 +1715,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit ```php @@ -1388,7 +1746,7 @@ public function getParentClassName(): string|null; ```php @@ -1419,7 +1777,7 @@ public function getParentClassNames(): array; ```php @@ -1430,7 +1788,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -1440,7 +1798,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -1478,7 +1836,7 @@ public function getPluginData(string $pluginKey): array|null; ```php @@ -1509,7 +1867,7 @@ public function getPropertiesData(): array; ```php @@ -1542,7 +1900,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null Throws: @@ -1568,7 +1926,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B ```php @@ -1579,7 +1937,7 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection Throws: @@ -1605,7 +1963,7 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -1616,7 +1974,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper
    @@ -1626,7 +1984,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -1674,7 +2032,7 @@ public function getRelativeFileName(bool $loadIfEmpty = true): string|null; ```php @@ -1685,7 +2043,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection
    @@ -1695,7 +2053,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1716,7 +2074,7 @@ public function getShortName(): string; ```php @@ -1730,6 +2088,39 @@ public function getStartLine(): int; Return value: int +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + Throws:
    • @@ -1747,7 +2138,7 @@ public function getStartLine(): int; ```php @@ -1778,7 +2169,7 @@ public function getTraitsNames(): array; ```php @@ -1816,7 +2207,7 @@ public function hasAnnotationKey(string $annotationKey): bool; ```php @@ -1857,6 +2248,59 @@ public function hasConstant(string $constant): bool;
    +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1864,7 +2308,7 @@ public function hasConstant(string $constant): bool; ```php @@ -1912,7 +2356,7 @@ public function hasMethod(string $method): bool; ```php @@ -1960,7 +2404,7 @@ public function hasParentClass(string $parentClassName): bool; ```php @@ -2001,6 +2445,29 @@ public function hasProperty(string $property): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -2008,7 +2475,7 @@ public function hasProperty(string $property): bool; ```php @@ -2039,7 +2506,7 @@ public function hasTraits(): bool; ```php @@ -2087,7 +2554,7 @@ public function implementsInterface(string $interfaceName): bool; ```php @@ -2101,6 +2568,92 @@ public function isClassLoad(): bool; Return value: bool +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + +

    @@ -2108,7 +2661,7 @@ public function isClassLoad(): bool; ```php @@ -2146,7 +2699,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php @@ -2177,7 +2730,7 @@ public function isEnum(): bool; ```php @@ -2208,7 +2761,7 @@ public function isInGit(): bool; ```php @@ -2239,7 +2792,7 @@ public function isInstantiable(): bool; ```php @@ -2263,6 +2816,29 @@ public function isInterface(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -2270,7 +2846,7 @@ public function isInterface(): bool; ```php @@ -2318,7 +2894,7 @@ public function isSubclassOf(string $className): bool; ```php @@ -2349,7 +2925,7 @@ public function isTrait(): bool; ```php @@ -2385,6 +2961,66 @@ public function loadPluginData(string $pluginKey, array $data): void; Return value: void +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    @@ -2392,7 +3028,7 @@ public function loadPluginData(string $pluginKey, array $data): void; ```php diff --git a/docs/tech/2.parser/classes/ClassEntityCollection.md b/docs/tech/2.parser/classes/ClassEntityCollection.md index 1c752975..75f27e10 100644 --- a/docs/tech/2.parser/classes/ClassEntityCollection.md +++ b/docs/tech/2.parser/classes/ClassEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ClassEntityCollection

    - ClassEntityCollection class: + ClassEntityCollection class:

    @@ -36,6 +36,9 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • add
  • +
  • + clearOperationsLogCollection +
  • filterByInterfaces
  • @@ -48,6 +51,12 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • filterByPaths
  • +
  • + findEntity +
  • +
  • + get +
  • getEntityByClassName
  • @@ -57,24 +66,45 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + getLoadedOrCreateNew +
  • getOnlyInstantiable
  • getOnlyInterfaces
  • +
  • + getOperationsLogCollection +
  • getPluginEventDispatcher
  • +
  • + has +
  • internalFindEntity
  • internalGetLoadedOrCreateNew
  • +
  • + isEmpty +
  • loadClassEntities
  • +
  • + remove +
  • +
  • + updateEntitiesCache +
  • @@ -82,7 +112,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga @@ -97,7 +127,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga ```php @@ -119,42 +149,42 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - $docRendererHelper - \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper + \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $progressBarFactory - \BumbleDocGen\Core\Console\ProgressBarFactory + \BumbleDocGen\Core\Console\ProgressBarFactory - @@ -179,7 +209,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -201,7 +231,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -212,7 +242,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -225,6 +255,29 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function clearOperationsLogCollection(): void; +``` + + + +Parameters: not specified + +Return value: void + +

    @@ -232,7 +285,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity ```php @@ -260,7 +313,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -280,7 +333,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan ```php @@ -308,7 +361,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -328,7 +381,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG ```php @@ -356,7 +409,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -376,7 +429,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen ```php @@ -404,7 +457,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -417,6 +470,91 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $searchstring-
    $useUnsafeKeysbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + +

    @@ -424,7 +562,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -457,7 +595,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null
    @@ -467,7 +605,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists ```php @@ -488,7 +626,7 @@ public function getEntityCollectionName(): string; ```php @@ -534,10 +672,97 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntityToCollectionEvent = false): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    $withAddClassEntityToCollectionEventbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +See: + +
    +
    +
    + ```php @@ -548,7 +773,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -568,7 +793,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -579,7 +804,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -592,6 +817,29 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getOperationsLogCollection(): \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + +

    @@ -599,7 +847,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -610,7 +858,47 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher +Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool
    @@ -620,7 +908,7 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven ```php @@ -655,7 +943,7 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null @@ -680,7 +968,7 @@ $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-ge ```php @@ -713,7 +1001,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -726,6 +1014,29 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -733,7 +1044,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl ```php @@ -763,6 +1074,76 @@ public function loadClassEntities(): void; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function updateEntitiesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/2.parser/classes/ConditionGroup.md b/docs/tech/2.parser/classes/ConditionGroup.md index 6f007117..7b2d0ef4 100644 --- a/docs/tech/2.parser/classes/ConditionGroup.md +++ b/docs/tech/2.parser/classes/ConditionGroup.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / ConditionGroup

    - ConditionGroup class: + ConditionGroup class:

    @@ -52,7 +52,7 @@ In the case of OR, it is enough to successfully check at least one condition, in ```php @@ -79,7 +79,7 @@ public function __construct(string $groupType, \BumbleDocGen\Core\Parser\FilterC $conditions - \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface + \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface - @@ -94,7 +94,7 @@ public function __construct(string $groupType, \BumbleDocGen\Core\Parser\FilterC ```php @@ -116,7 +116,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/ConditionInterface.md b/docs/tech/2.parser/classes/ConditionInterface.md index 6f2a9682..b1df7ca1 100644 --- a/docs/tech/2.parser/classes/ConditionInterface.md +++ b/docs/tech/2.parser/classes/ConditionInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / ConditionInterface

    - ConditionInterface class: + ConditionInterface class:

    @@ -44,7 +44,7 @@ interface ConditionInterface ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/ConstantEntity.md b/docs/tech/2.parser/classes/ConstantEntity.md index ee4d9b05..f680069e 100644 --- a/docs/tech/2.parser/classes/ConstantEntity.md +++ b/docs/tech/2.parser/classes/ConstantEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ConstantEntity

    - ConstantEntity class: + ConstantEntity class:

    @@ -33,21 +33,51 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. +
    5. + getCacheKey +
    6. +
    7. + getCachedEntityDependencies +
    8. getDescription
    9. +
    10. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    11. getDocBlock
    12. +
    13. + getDocComment + - Get the doc comment of an entity
    14. getDocCommentEntity
    15. +
    16. + getDocNote +
    17. getEndLine
    18. +
    19. + getExamples + - Get parsed examples from `examples` doc block
    20. getFileName
    21. +
    22. + getFileSourceLink +
    23. +
    24. + getFirstExample + - Get first example from @examples doc block
    25. getImplementingClass
    26. @@ -63,6 +93,9 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    27. getNamespaceName
    28. +
    29. + getObjectId + - Get entity unique ID
    30. getPhpHandlerSettings
    31. @@ -78,6 +111,30 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    32. getStartLine
    33. +
    34. + getThrows + - Get parsed throws from `throws` doc block
    35. +
    36. + hasDescriptionLinks +
    37. +
    38. + hasExamples +
    39. +
    40. + hasThrows +
    41. +
    42. + isDeprecated +
    43. +
    44. + isEntityDataCacheOutdated +
    45. +
    46. + isEntityFileCanBeLoad +
    47. +
    48. + isInternal +
    49. isPrivate
    50. @@ -87,6 +144,12 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    51. isPublic
    52. +
    53. + reloadEntityDependenciesCache +
    54. +
    55. + removeNotUsedEntityDataCache +
    @@ -102,7 +165,7 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas ```php @@ -124,22 +187,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -167,6 +230,122 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + +

    @@ -174,7 +353,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -202,10 +381,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -219,6 +431,39 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; Return value: \phpDocumentor\Reflection\DocBlock +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + Throws:
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string
    @@ -257,7 +525,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -281,6 +549,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -288,7 +579,7 @@ public function getEndLine(): int; ```php @@ -312,6 +603,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -319,7 +680,7 @@ public function getFileName(): string|null; ```php @@ -330,7 +691,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -340,7 +701,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -361,7 +722,7 @@ public function getImplementingClassName(): string; ```php @@ -392,7 +753,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -413,7 +774,7 @@ public function getName(): string; ```php @@ -437,6 +798,29 @@ public function getNamespaceName(): string; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -444,7 +828,7 @@ public function getNamespaceName(): string; ```php @@ -455,7 +839,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -465,7 +849,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -476,7 +860,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -486,7 +870,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -497,7 +881,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -507,7 +891,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -528,7 +912,7 @@ public function getShortName(): string; ```php @@ -552,6 +936,224 @@ public function getStartLine(): int; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -559,7 +1161,7 @@ public function getStartLine(): int; ```php @@ -590,7 +1192,7 @@ public function isPrivate(): bool; ```php @@ -621,7 +1223,7 @@ public function isProtected(): bool; ```php @@ -645,6 +1247,66 @@ public function isPublic(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/2.parser/classes/ConstantEntityCollection.md b/docs/tech/2.parser/classes/ConstantEntityCollection.md index 9e2f4516..5f34c8f3 100644 --- a/docs/tech/2.parser/classes/ConstantEntityCollection.md +++ b/docs/tech/2.parser/classes/ConstantEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ConstantEntityCollection

    - ConstantEntityCollection class: + ConstantEntityCollection class:

    @@ -39,9 +39,21 @@ final class ConstantEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba
  • get
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadConstantEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -60,7 +72,7 @@ final class ConstantEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba ```php @@ -82,17 +94,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -107,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -129,7 +141,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti $constantEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity - @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection @@ -150,7 +162,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti ```php @@ -178,7 +190,106 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -188,7 +299,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -218,6 +329,46 @@ public function loadConstantEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -225,7 +376,7 @@ public function loadConstantEntities(): void; ```php @@ -253,7 +404,7 @@ public function unsafeGet(string $constantName): \BumbleDocGen\LanguageHandler\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null Throws: diff --git a/docs/tech/2.parser/classes/DirectoriesSourceLocator.md b/docs/tech/2.parser/classes/DirectoriesSourceLocator.md index 6083a121..440f05b1 100644 --- a/docs/tech/2.parser/classes/DirectoriesSourceLocator.md +++ b/docs/tech/2.parser/classes/DirectoriesSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / DirectoriesSourceLocator

    - DirectoriesSourceLocator class: + DirectoriesSourceLocator class:

    @@ -30,6 +30,13 @@ final class DirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoc +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class DirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoc ```php @@ -74,6 +81,29 @@ public function __construct(array $directories); +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/2.parser/classes/DynamicMethodEntity.md b/docs/tech/2.parser/classes/DynamicMethodEntity.md index 38fb8e42..58bb867a 100644 --- a/docs/tech/2.parser/classes/DynamicMethodEntity.md +++ b/docs/tech/2.parser/classes/DynamicMethodEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / DynamicMethodEntity

    - DynamicMethodEntity class: + DynamicMethodEntity class:

    @@ -135,7 +135,7 @@ class DynamicMethodEntity implements \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -157,17 +157,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -187,7 +187,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -208,7 +208,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -236,7 +236,7 @@ public function getAbsoluteFileName(): string|null; ```php @@ -257,7 +257,7 @@ public function getBodyCode(): string; ```php @@ -268,7 +268,7 @@ public function getCallMethod(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity Throws: @@ -285,7 +285,7 @@ public function getCallMethod(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -306,7 +306,7 @@ public function getDescription(): string; ```php @@ -334,7 +334,7 @@ public function getEndLine(): int; ```php @@ -365,7 +365,7 @@ public function getFileName(): string|null; ```php @@ -386,7 +386,7 @@ public function getFirstReturnValue(): mixed; ```php @@ -397,7 +397,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -407,7 +407,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -435,7 +435,7 @@ public function getImplementingClassName(): string; ```php @@ -463,7 +463,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -484,7 +484,7 @@ public function getModifiersString(): string; ```php @@ -505,7 +505,7 @@ public function getName(): string; ```php @@ -536,7 +536,7 @@ public function getNamespaceName(): string; ```php @@ -557,7 +557,7 @@ public function getObjectId(): string; ```php @@ -578,7 +578,7 @@ public function getParameters(): array; ```php @@ -599,7 +599,7 @@ public function getParametersString(): string; ```php @@ -630,7 +630,7 @@ public function getReturnType(): string; ```php @@ -641,7 +641,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -651,7 +651,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -662,7 +662,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -672,7 +672,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root ```php @@ -693,7 +693,7 @@ public function getShortName(): string; ```php @@ -721,7 +721,7 @@ public function getStartColumn(): int; ```php @@ -749,7 +749,7 @@ public function getStartLine(): int; ```php @@ -770,7 +770,7 @@ public function isDynamic(): bool; ```php @@ -804,7 +804,7 @@ public function isInitialization(): bool; ```php @@ -825,7 +825,7 @@ public function isPrivate(): bool; ```php @@ -846,7 +846,7 @@ public function isProtected(): bool; ```php @@ -867,7 +867,7 @@ public function isPublic(): bool; ```php diff --git a/docs/tech/2.parser/classes/EntityInterface.md b/docs/tech/2.parser/classes/EntityInterface.md index 7577d260..220a0ca7 100644 --- a/docs/tech/2.parser/classes/EntityInterface.md +++ b/docs/tech/2.parser/classes/EntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / EntityInterface

    - EntityInterface class: + EntityInterface class:

    @@ -62,7 +62,7 @@ interface EntityInterface ```php @@ -83,7 +83,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -104,7 +104,7 @@ public function getAbsoluteFileName(): string|null; ```php @@ -125,7 +125,7 @@ public function getFileName(): string|null; ```php @@ -146,7 +146,7 @@ public function getName(): string; ```php @@ -167,7 +167,7 @@ public function getObjectId(): string; ```php @@ -178,7 +178,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -188,7 +188,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root ```php diff --git a/docs/tech/2.parser/classes/FalseCondition.md b/docs/tech/2.parser/classes/FalseCondition.md index d8b092a4..cfca53b5 100644 --- a/docs/tech/2.parser/classes/FalseCondition.md +++ b/docs/tech/2.parser/classes/FalseCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / FalseCondition

    - FalseCondition class: + FalseCondition class:

    @@ -44,7 +44,7 @@ final class FalseCondition implements \BumbleDocGen\Core\Parser\FilterCondition\ ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/FileIteratorSourceLocator.md b/docs/tech/2.parser/classes/FileIteratorSourceLocator.md index 88367c7a..0d4c219f 100644 --- a/docs/tech/2.parser/classes/FileIteratorSourceLocator.md +++ b/docs/tech/2.parser/classes/FileIteratorSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / FileIteratorSourceLocator

    - FileIteratorSourceLocator class: + FileIteratorSourceLocator class:

    @@ -30,6 +30,13 @@ final class FileIteratorSourceLocator extends \BumbleDocGen\Core\Parser\SourceLo +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class FileIteratorSourceLocator extends \BumbleDocGen\Core\Parser\SourceLo ```php @@ -74,6 +81,29 @@ public function __construct(\Iterator $fileInfoIterator); + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/2.parser/classes/FileTextContainsCondition.md b/docs/tech/2.parser/classes/FileTextContainsCondition.md index 1a1c0f54..035b3d68 100644 --- a/docs/tech/2.parser/classes/FileTextContainsCondition.md +++ b/docs/tech/2.parser/classes/FileTextContainsCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / FileTextContainsCondition

    - FileTextContainsCondition class: + FileTextContainsCondition class:

    @@ -51,7 +51,7 @@ final class FileTextContainsCondition implements \BumbleDocGen\Core\Parser\Filte ```php @@ -88,7 +88,7 @@ public function __construct(string $substring); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/InvalidConfigurationParameterException.md b/docs/tech/2.parser/classes/InvalidConfigurationParameterException.md index 1b8ef345..626531fd 100644 --- a/docs/tech/2.parser/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/2.parser/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md b/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md index f59eb7e9..1a0a58f3 100644 --- a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md +++ b/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md b/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md index a5fb98f5..4a0adfcd 100644 --- a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md +++ b/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/2.parser/classes/IsPrivateCondition.md b/docs/tech/2.parser/classes/IsPrivateCondition.md index 35444942..195f185d 100644 --- a/docs/tech/2.parser/classes/IsPrivateCondition.md +++ b/docs/tech/2.parser/classes/IsPrivateCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsPrivateCondition_2.md b/docs/tech/2.parser/classes/IsPrivateCondition_2.md index 933545cb..f838f758 100644 --- a/docs/tech/2.parser/classes/IsPrivateCondition_2.md +++ b/docs/tech/2.parser/classes/IsPrivateCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsPrivateCondition_3.md b/docs/tech/2.parser/classes/IsPrivateCondition_3.md index 606ec6a7..1fff29aa 100644 --- a/docs/tech/2.parser/classes/IsPrivateCondition_3.md +++ b/docs/tech/2.parser/classes/IsPrivateCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsProtectedCondition.md b/docs/tech/2.parser/classes/IsProtectedCondition.md index 8a1ba2c0..8fa4c224 100644 --- a/docs/tech/2.parser/classes/IsProtectedCondition.md +++ b/docs/tech/2.parser/classes/IsProtectedCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsProtectedCondition_2.md b/docs/tech/2.parser/classes/IsProtectedCondition_2.md index 370e7cd0..f3ea8bb8 100644 --- a/docs/tech/2.parser/classes/IsProtectedCondition_2.md +++ b/docs/tech/2.parser/classes/IsProtectedCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsProtectedCondition_3.md b/docs/tech/2.parser/classes/IsProtectedCondition_3.md index 079746d8..e6ef9dd1 100644 --- a/docs/tech/2.parser/classes/IsProtectedCondition_3.md +++ b/docs/tech/2.parser/classes/IsProtectedCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsPublicCondition.md b/docs/tech/2.parser/classes/IsPublicCondition.md index 09edab01..d4c1f90b 100644 --- a/docs/tech/2.parser/classes/IsPublicCondition.md +++ b/docs/tech/2.parser/classes/IsPublicCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsPublicCondition_2.md b/docs/tech/2.parser/classes/IsPublicCondition_2.md index 8f5c8f53..0303e246 100644 --- a/docs/tech/2.parser/classes/IsPublicCondition_2.md +++ b/docs/tech/2.parser/classes/IsPublicCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/IsPublicCondition_3.md b/docs/tech/2.parser/classes/IsPublicCondition_3.md index 1407205e..25113ecc 100644 --- a/docs/tech/2.parser/classes/IsPublicCondition_3.md +++ b/docs/tech/2.parser/classes/IsPublicCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/LocatedInCondition.md b/docs/tech/2.parser/classes/LocatedInCondition.md index a0b0d378..4d8c6894 100644 --- a/docs/tech/2.parser/classes/LocatedInCondition.md +++ b/docs/tech/2.parser/classes/LocatedInCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / LocatedInCondition

    - LocatedInCondition class: + LocatedInCondition class:

    @@ -51,7 +51,7 @@ final class LocatedInCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -73,12 +73,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - @@ -98,7 +98,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -120,7 +120,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/MethodEntity.md b/docs/tech/2.parser/classes/MethodEntity.md index 8e5a8461..da6fb018 100644 --- a/docs/tech/2.parser/classes/MethodEntity.md +++ b/docs/tech/2.parser/classes/MethodEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / MethodEntity

    - MethodEntity class: + MethodEntity class:

    @@ -33,12 +33,27 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. getBodyCode
    5. +
    6. + getCacheKey +
    7. +
    8. + getCachedEntityDependencies +
    9. getDescription
    10. +
    11. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    12. getDocBlock
    13. @@ -57,12 +72,24 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    14. getDocCommentRecursive
    15. +
    16. + getDocNote +
    17. getEndLine
    18. +
    19. + getExamples + - Get parsed examples from `examples` doc block
    20. getFileName
    21. +
    22. + getFileSourceLink +
    23. +
    24. + getFirstExample + - Get first example from @examples doc block
    25. getFirstReturnValue
    26. @@ -84,6 +111,9 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    27. getNamespaceName
    28. +
    29. + getObjectId + - Get entity unique ID
    30. getParameters
    31. @@ -117,18 +147,42 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    32. getStartLine
    33. +
    34. + getThrows + - Get parsed throws from `throws` doc block
    35. +
    36. + hasDescriptionLinks +
    37. +
    38. + hasExamples +
    39. +
    40. + hasThrows +
    41. isConstructor
    42. +
    43. + isDeprecated +
    44. isDynamic
    45. +
    46. + isEntityDataCacheOutdated +
    47. +
    48. + isEntityFileCanBeLoad +
    49. isImplementedInParentClass
    50. isInitialization
    51. +
    52. + isInternal +
    53. isPrivate
    54. @@ -144,6 +198,12 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    55. parseAnnotationParams
    56. +
    57. + reloadEntityDependenciesCache +
    58. +
    59. + removeNotUsedEntityDataCache +
    @@ -159,7 +219,7 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE ```php @@ -181,22 +241,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -224,6 +284,69 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + +

    @@ -231,7 +354,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -259,10 +382,63 @@ public function getBodyCode(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -296,10 +472,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -353,7 +562,7 @@ public function getDocBlock(bool $recursive = true): \phpDocumentor\Reflection\D ```php @@ -384,7 +593,7 @@ public function getDocComment(): string; ```php @@ -395,7 +604,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity Throws: @@ -421,7 +630,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -452,7 +661,7 @@ public function getDocCommentLine(): int|null; ```php @@ -489,7 +698,7 @@ public function getDocCommentLineRecursive(): int|null; ```php @@ -519,6 +728,29 @@ public function getDocCommentRecursive(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -526,7 +758,7 @@ public function getDocCommentRecursive(): string; ```php @@ -550,6 +782,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -557,7 +812,7 @@ public function getEndLine(): int; ```php @@ -581,6 +836,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -588,7 +913,7 @@ public function getFileName(): string|null; ```php @@ -619,7 +944,7 @@ public function getFirstReturnValue(): mixed; ```php @@ -630,7 +955,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -640,7 +965,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -661,7 +986,7 @@ public function getImplementingClassName(): string; ```php @@ -692,7 +1017,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -723,7 +1048,7 @@ public function getModifiersString(): string; ```php @@ -744,7 +1069,7 @@ public function getName(): string; ```php @@ -768,6 +1093,29 @@ public function getNamespaceName(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -775,7 +1123,7 @@ public function getNamespaceName(): string; ```php @@ -815,7 +1163,7 @@ public function getParameters(): array; ```php @@ -852,7 +1200,7 @@ public function getParametersString(): string; ```php @@ -863,7 +1211,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -873,7 +1221,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -884,7 +1232,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: @@ -910,7 +1258,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -947,7 +1295,7 @@ public function getReturnType(): string; ```php @@ -958,7 +1306,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -968,7 +1316,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -979,7 +1327,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -989,7 +1337,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1010,7 +1358,7 @@ public function getShortName(): string; ```php @@ -1047,7 +1395,7 @@ public function getSignature(): string; ```php @@ -1078,7 +1426,7 @@ public function getStartColumn(): int; ```php @@ -1102,6 +1450,115 @@ public function getStartLine(): int; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1109,7 +1566,7 @@ public function getStartLine(): int; ```php @@ -1118,6 +1575,29 @@ public function isConstructor(): bool; +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + Parameters: not specified Return value: bool @@ -1130,7 +1610,7 @@ public function isConstructor(): bool; ```php @@ -1144,6 +1624,69 @@ public function isDynamic(): bool; Return value: bool +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + +

    @@ -1151,7 +1694,7 @@ public function isDynamic(): bool; ```php @@ -1172,7 +1715,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1202,6 +1745,29 @@ public function isInitialization(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1209,7 +1775,7 @@ public function isInitialization(): bool; ```php @@ -1240,7 +1806,7 @@ public function isPrivate(): bool; ```php @@ -1271,7 +1837,7 @@ public function isProtected(): bool; ```php @@ -1302,7 +1868,7 @@ public function isPublic(): bool; ```php @@ -1333,7 +1899,7 @@ public function isStatic(): bool; ```php @@ -1364,6 +1930,66 @@ public static function parseAnnotationParams(array $params): array; Return value: array +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/2.parser/classes/MethodEntityCollection.md b/docs/tech/2.parser/classes/MethodEntityCollection.md index 1205edba..fad99f68 100644 --- a/docs/tech/2.parser/classes/MethodEntityCollection.md +++ b/docs/tech/2.parser/classes/MethodEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / MethodEntityCollection

    - MethodEntityCollection class: + MethodEntityCollection class:

    @@ -45,9 +45,21 @@ final class MethodEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Base
  • getInitializations
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadMethodEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -66,7 +78,7 @@ final class MethodEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Base ```php @@ -88,17 +100,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -118,7 +130,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity $methodEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityInterface + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityInterface - @@ -151,7 +163,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection @@ -161,7 +173,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity ```php @@ -189,7 +201,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null @@ -199,7 +211,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -210,7 +222,7 @@ public function getAllExceptInitializations(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection @@ -220,7 +232,7 @@ public function getAllExceptInitializations(): \BumbleDocGen\LanguageHandler\Php ```php @@ -231,7 +243,106 @@ public function getInitializations(): \BumbleDocGen\LanguageHandler\Php\Parser\E Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -241,7 +352,7 @@ public function getInitializations(): \BumbleDocGen\LanguageHandler\Php\Parser\E ```php @@ -271,6 +382,46 @@ public function loadMethodEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -278,7 +429,7 @@ public function loadMethodEntities(): void; ```php @@ -306,7 +457,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: diff --git a/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition.md b/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition.md index 8a0e2762..efc60502 100644 --- a/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition.md +++ b/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / OnlyFromCurrentClassCondition

    - OnlyFromCurrentClassCondition class: + OnlyFromCurrentClassCondition class:

    @@ -44,7 +44,7 @@ final class OnlyFromCurrentClassCondition implements \BumbleDocGen\Core\Parser\F ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition_2.md b/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition_2.md index eab87e3a..3a073ec4 100644 --- a/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition_2.md +++ b/docs/tech/2.parser/classes/OnlyFromCurrentClassCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / OnlyFromCurrentClassCondition

    - OnlyFromCurrentClassCondition class: + OnlyFromCurrentClassCondition class:

    @@ -44,7 +44,7 @@ final class OnlyFromCurrentClassCondition implements \BumbleDocGen\Core\Parser\F ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/ProjectParser.md b/docs/tech/2.parser/classes/ProjectParser.md index e76754bb..1be69f47 100644 --- a/docs/tech/2.parser/classes/ProjectParser.md +++ b/docs/tech/2.parser/classes/ProjectParser.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / ProjectParser

    - ProjectParser class: + ProjectParser class:

    @@ -51,7 +51,7 @@ final class ProjectParser ```php @@ -73,12 +73,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -93,7 +93,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -104,7 +104,7 @@ public function parse(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsG Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup Throws: diff --git a/docs/tech/2.parser/classes/PropertyEntity.md b/docs/tech/2.parser/classes/PropertyEntity.md index c2c4bd00..7e8347f1 100644 --- a/docs/tech/2.parser/classes/PropertyEntity.md +++ b/docs/tech/2.parser/classes/PropertyEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / PropertyEntity

    - PropertyEntity class: + PropertyEntity class:

    @@ -33,24 +33,54 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. +
    5. + getCacheKey +
    6. +
    7. + getCachedEntityDependencies +
    8. getDefaultValue
    9. getDescription
    10. +
    11. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    12. getDocBlock
    13. +
    14. + getDocComment + - Get the doc comment of an entity
    15. getDocCommentEntity
    16. +
    17. + getDocNote +
    18. getEndLine
    19. +
    20. + getExamples + - Get parsed examples from `examples` doc block
    21. getFileName
    22. +
    23. + getFileSourceLink +
    24. +
    25. + getFirstExample + - Get first example from @examples doc block
    26. getImplementingClass
    27. @@ -69,6 +99,9 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    28. getNamespaceName
    29. +
    30. + getObjectId + - Get entity unique ID
    31. getPhpHandlerSettings
    32. @@ -84,12 +117,36 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    33. getStartLine
    34. +
    35. + getThrows + - Get parsed throws from `throws` doc block
    36. getType
    37. +
    38. + hasDescriptionLinks +
    39. +
    40. + hasExamples +
    41. +
    42. + hasThrows +
    43. +
    44. + isDeprecated +
    45. +
    46. + isEntityDataCacheOutdated +
    47. +
    48. + isEntityFileCanBeLoad +
    49. isImplementedInParentClass
    50. +
    51. + isInternal +
    52. isPrivate
    53. @@ -99,6 +156,12 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    54. isPublic
    55. +
    56. + reloadEntityDependenciesCache +
    57. +
    58. + removeNotUsedEntityDataCache +
    @@ -114,7 +177,7 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas ```php @@ -136,22 +199,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -179,6 +242,122 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + +

    @@ -186,7 +365,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -217,7 +396,7 @@ public function getDefaultValue(): string|array|int|bool|null|float; ```php @@ -251,10 +430,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -288,10 +500,43 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + ```php @@ -302,7 +547,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity Throws: @@ -321,6 +566,29 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -328,7 +596,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -352,6 +620,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -359,7 +650,7 @@ public function getEndLine(): int; ```php @@ -383,6 +674,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -390,7 +751,7 @@ public function getFileName(): string|null; ```php @@ -401,7 +762,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -411,7 +772,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -432,7 +793,7 @@ public function getImplementingClassName(): string; ```php @@ -463,7 +824,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -500,7 +861,7 @@ public function getModifiersString(): string; ```php @@ -521,7 +882,7 @@ public function getName(): string; ```php @@ -545,6 +906,29 @@ public function getNamespaceName(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -552,7 +936,7 @@ public function getNamespaceName(): string; ```php @@ -563,7 +947,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -573,7 +957,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -584,7 +968,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -594,7 +978,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -605,7 +989,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -615,7 +999,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -636,7 +1020,7 @@ public function getShortName(): string; ```php @@ -650,6 +1034,39 @@ public function getStartLine(): int; Return value: int +Throws: + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + Throws:
    • @@ -667,7 +1084,7 @@ public function getStartLine(): int; ```php @@ -701,10 +1118,172 @@ public function getType(): string;
      + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + ```php @@ -713,6 +1292,29 @@ public function isImplementedInParentClass(): bool; +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + Parameters: not specified Return value: bool @@ -725,7 +1327,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -756,7 +1358,7 @@ public function isPrivate(): bool; ```php @@ -787,7 +1389,7 @@ public function isProtected(): bool; ```php @@ -811,6 +1413,66 @@ public function isPublic(): bool;
    +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/2.parser/classes/PropertyEntityCollection.md b/docs/tech/2.parser/classes/PropertyEntityCollection.md index 6b9ed926..4ab03325 100644 --- a/docs/tech/2.parser/classes/PropertyEntityCollection.md +++ b/docs/tech/2.parser/classes/PropertyEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / PropertyEntityCollection

    - PropertyEntityCollection class: + PropertyEntityCollection class:

    @@ -39,9 +39,21 @@ final class PropertyEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba
  • get
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadPropertyEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -60,7 +72,7 @@ final class PropertyEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba ```php @@ -82,17 +94,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -107,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -129,7 +141,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti $propertyEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity - @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection @@ -150,7 +162,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti ```php @@ -178,7 +190,106 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -188,7 +299,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -218,6 +329,46 @@ public function loadPropertyEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -225,7 +376,7 @@ public function loadPropertyEntities(): void; ```php @@ -253,7 +404,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null Throws: diff --git a/docs/tech/2.parser/classes/RecursiveDirectoriesSourceLocator.md b/docs/tech/2.parser/classes/RecursiveDirectoriesSourceLocator.md index 2238887b..d9bf5599 100644 --- a/docs/tech/2.parser/classes/RecursiveDirectoriesSourceLocator.md +++ b/docs/tech/2.parser/classes/RecursiveDirectoriesSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / RecursiveDirectoriesSourceLocator

    - RecursiveDirectoriesSourceLocator class: + RecursiveDirectoriesSourceLocator class:

    @@ -30,6 +30,13 @@ final class RecursiveDirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\ +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class RecursiveDirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\ ```php @@ -84,6 +91,29 @@ public function __construct(array $directories, array $exclude = [ ], bool $abor +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/2.parser/classes/ReflectionException.md b/docs/tech/2.parser/classes/ReflectionException.md index 71f1791c..f49b0938 100644 --- a/docs/tech/2.parser/classes/ReflectionException.md +++ b/docs/tech/2.parser/classes/ReflectionException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/2.parser/classes/RootEntityCollection.md b/docs/tech/2.parser/classes/RootEntityCollection.md index c14807fa..110f00d0 100644 --- a/docs/tech/2.parser/classes/RootEntityCollection.md +++ b/docs/tech/2.parser/classes/RootEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / RootEntityCollection

    - RootEntityCollection class: + RootEntityCollection class:

    @@ -38,9 +38,21 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • getLoadedOrCreateNew
  • +
  • + has +
  • +
  • + isEmpty +
  • +
  • + remove +
  • updateEntitiesCache
  • @@ -59,7 +71,7 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas ```php @@ -92,7 +104,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -102,7 +114,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD ```php @@ -130,7 +142,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -140,7 +152,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn ```php @@ -161,7 +173,7 @@ public function getEntityCollectionName(): string; ```php @@ -207,10 +219,46 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + ```php @@ -243,7 +291,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface @@ -256,10 +304,113 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + ```php diff --git a/docs/tech/2.parser/classes/RootEntityInterface.md b/docs/tech/2.parser/classes/RootEntityInterface.md index 8273dea6..442baa7c 100644 --- a/docs/tech/2.parser/classes/RootEntityInterface.md +++ b/docs/tech/2.parser/classes/RootEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / RootEntityInterface

    - RootEntityInterface class: + RootEntityInterface class:

    @@ -27,18 +27,39 @@ their entities need to correspond to the same interfaces

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. entityDataCanBeLoaded - Checking if it is possible to get the entity data
    3. +
    4. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    5. getEntityDependencies
    6. getFileContent
    7. +
    8. + getFileName + - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
    9. getFileSourceLink
    10. +
    11. + getName +
    12. +
    13. + getObjectId +
    14. +
    15. + getRootEntityCollection + - Get parent collection of entities
    16. +
    17. + getShortName +
    18. isEntityNameValid - Check if entity name is valid
    19. @@ -57,10 +78,33 @@ their entities need to correspond to the same interfaces
      + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + ```php @@ -74,6 +118,29 @@ public function entityDataCanBeLoaded(): bool; Return value: bool +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
      Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -81,7 +148,7 @@ public function entityDataCanBeLoaded(): bool; ```php @@ -102,7 +169,7 @@ public function getEntityDependencies(): array; ```php @@ -116,6 +183,29 @@ public function getFileContent(): string; Return value: string +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getFileName(): string|null; +``` + +
      Returns the relative path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -123,7 +213,7 @@ public function getFileContent(): string; ```php @@ -154,6 +244,98 @@ public function getFileSourceLink(bool $withLine = true): string|null; Return value: string | null +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
      Get parent collection of entities
      + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string + +

      @@ -161,7 +343,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -199,7 +381,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php diff --git a/docs/tech/2.parser/classes/SingleFileSourceLocator.md b/docs/tech/2.parser/classes/SingleFileSourceLocator.md index 453f73e6..28028edf 100644 --- a/docs/tech/2.parser/classes/SingleFileSourceLocator.md +++ b/docs/tech/2.parser/classes/SingleFileSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / SingleFileSourceLocator

      - SingleFileSourceLocator class: + SingleFileSourceLocator class:

      @@ -30,6 +30,13 @@ final class SingleFileSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoca
    +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class SingleFileSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoca ```php @@ -74,6 +81,29 @@ public function __construct(string $filename); +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/2.parser/classes/SourceLocatorInterface.md b/docs/tech/2.parser/classes/SourceLocatorInterface.md index cffc9c14..a6f2eccc 100644 --- a/docs/tech/2.parser/classes/SourceLocatorInterface.md +++ b/docs/tech/2.parser/classes/SourceLocatorInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Source locators / SourceLocatorInterface

    - SourceLocatorInterface class: + SourceLocatorInterface class:

    @@ -44,7 +44,7 @@ interface SourceLocatorInterface ```php diff --git a/docs/tech/2.parser/classes/TrueCondition.md b/docs/tech/2.parser/classes/TrueCondition.md index 43891f78..a10293b4 100644 --- a/docs/tech/2.parser/classes/TrueCondition.md +++ b/docs/tech/2.parser/classes/TrueCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / TrueCondition

    - TrueCondition class: + TrueCondition class:

    @@ -44,7 +44,7 @@ final class TrueCondition implements \BumbleDocGen\Core\Parser\FilterCondition\C ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/VisibilityCondition.md b/docs/tech/2.parser/classes/VisibilityCondition.md index 40d58ce7..6210ed7d 100644 --- a/docs/tech/2.parser/classes/VisibilityCondition.md +++ b/docs/tech/2.parser/classes/VisibilityCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/VisibilityCondition_2.md b/docs/tech/2.parser/classes/VisibilityCondition_2.md index 34276cd2..d7a28312 100644 --- a/docs/tech/2.parser/classes/VisibilityCondition_2.md +++ b/docs/tech/2.parser/classes/VisibilityCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/classes/VisibilityCondition_3.md b/docs/tech/2.parser/classes/VisibilityCondition_3.md index 28f71f82..3dea92bc 100644 --- a/docs/tech/2.parser/classes/VisibilityCondition_3.md +++ b/docs/tech/2.parser/classes/VisibilityCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/2.parser/entity.md b/docs/tech/2.parser/entity.md index 17fed7b7..2782343d 100644 --- a/docs/tech/2.parser/entity.md +++ b/docs/tech/2.parser/entity.md @@ -123,4 +123,4 @@ These classes are a convenient wrapper for accessing data in templates:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Jul 29 13:26:44 2023 +0300
    Page content update date: Thu Aug 31 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Jul 29 13:26:44 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator
    \ No newline at end of file diff --git a/docs/tech/2.parser/entityFilterCondition.md b/docs/tech/2.parser/entityFilterCondition.md index 284462a7..b5e3e137 100644 --- a/docs/tech/2.parser/entityFilterCondition.md +++ b/docs/tech/2.parser/entityFilterCondition.md @@ -78,4 +78,4 @@ Filter condition for working with entities PHP language handler: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/readme.md b/docs/tech/2.parser/readme.md index 6709985a..edd340b3 100644 --- a/docs/tech/2.parser/readme.md +++ b/docs/tech/2.parser/readme.md @@ -41,4 +41,4 @@ In this section, we show how the parser works and what components it consists of \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 16:27:42 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/sourceLocator.md b/docs/tech/2.parser/sourceLocator.md index e396ceb1..d4d230f0 100644 --- a/docs/tech/2.parser/sourceLocator.md +++ b/docs/tech/2.parser/sourceLocator.md @@ -11,7 +11,7 @@ Source locators are set in the configuration: - class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator arguments: directories: - - "%project_root%/BumbleDocGen" + - "%project_root%/src" - "%project_root%/SelfDoc" ``` @@ -30,4 +30,4 @@ You can create your own source locators or use any existing ones. All source loc \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/breadcrumbs.md b/docs/tech/3.renderer/breadcrumbs.md index aea3f1c2..2385c5b3 100644 --- a/docs/tech/3.renderer/breadcrumbs.md +++ b/docs/tech/3.renderer/breadcrumbs.md @@ -51,4 +51,4 @@ Here is an example of the result of the `generatePageBreadcrumbs` function: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 10:46:41 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/AddIndentFromLeft.md b/docs/tech/3.renderer/classes/AddIndentFromLeft.md index db10ad55..e3a7d290 100644 --- a/docs/tech/3.renderer/classes/AddIndentFromLeft.md +++ b/docs/tech/3.renderer/classes/AddIndentFromLeft.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / AddIndentFromLeft

    - AddIndentFromLeft class: + AddIndentFromLeft class:

    @@ -64,7 +64,7 @@ final class AddIndentFromLeft implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $identLength = 4, bool $skipFirstIden ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md index 2d8e68e9..22446bea 100644 --- a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md +++ b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Documentation structure and breadcrumbs / BreadcrumbsHelper

    - BreadcrumbsHelper class: + BreadcrumbsHelper class:

    @@ -67,7 +67,7 @@ final class BreadcrumbsHelper @@ -82,7 +82,7 @@ final class BreadcrumbsHelper ```php @@ -104,17 +104,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $breadcrumbsTwig - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsTwigEnvironment + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsTwigEnvironment - @@ -134,7 +134,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -168,7 +168,7 @@ public function getAllPageLinks(): array; ```php @@ -224,7 +224,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -280,7 +280,7 @@ public function getBreadcrumbsForTemplates(string $templateFilePatch, bool $from ```php @@ -331,7 +331,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -382,7 +382,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -433,7 +433,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -478,7 +478,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -534,7 +534,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection.md b/docs/tech/3.renderer/classes/ClassEntityCollection.md index 6c904fdc..fa5f4e4f 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / ClassEntityCollection

    - ClassEntityCollection class: + ClassEntityCollection class:

    @@ -36,6 +36,9 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • add
  • +
  • + clearOperationsLogCollection +
  • filterByInterfaces
  • @@ -48,6 +51,12 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • filterByPaths
  • +
  • + findEntity +
  • +
  • + get +
  • getEntityByClassName
  • @@ -57,24 +66,45 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + getLoadedOrCreateNew +
  • getOnlyInstantiable
  • getOnlyInterfaces
  • +
  • + getOperationsLogCollection +
  • getPluginEventDispatcher
  • +
  • + has +
  • internalFindEntity
  • internalGetLoadedOrCreateNew
  • +
  • + isEmpty +
  • loadClassEntities
  • +
  • + remove +
  • +
  • + updateEntitiesCache +
  • @@ -82,7 +112,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga @@ -97,7 +127,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga ```php @@ -119,42 +149,42 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - $docRendererHelper - \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper + \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $progressBarFactory - \BumbleDocGen\Core\Console\ProgressBarFactory + \BumbleDocGen\Core\Console\ProgressBarFactory - @@ -179,7 +209,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -201,7 +231,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -212,7 +242,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -225,6 +255,29 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function clearOperationsLogCollection(): void; +``` + + + +Parameters: not specified + +Return value: void + +

    @@ -232,7 +285,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity ```php @@ -260,7 +313,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -280,7 +333,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan ```php @@ -308,7 +361,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -328,7 +381,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG ```php @@ -356,7 +409,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -376,7 +429,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen ```php @@ -404,7 +457,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -417,6 +470,91 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $searchstring-
    $useUnsafeKeysbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + +

    @@ -424,7 +562,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -457,7 +595,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null
    @@ -467,7 +605,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists ```php @@ -488,7 +626,7 @@ public function getEntityCollectionName(): string; ```php @@ -534,10 +672,97 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntityToCollectionEvent = false): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    $withAddClassEntityToCollectionEventbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +See: + +
    +
    +
    + ```php @@ -548,7 +773,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -568,7 +793,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -579,7 +804,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -592,6 +817,29 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getOperationsLogCollection(): \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + +

    @@ -599,7 +847,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -610,7 +858,47 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher +Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool
    @@ -620,7 +908,7 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven ```php @@ -655,7 +943,7 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null @@ -680,7 +968,7 @@ $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-ge ```php @@ -713,7 +1001,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -726,6 +1014,29 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -733,7 +1044,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl ```php @@ -763,6 +1074,76 @@ public function loadClassEntities(): void; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function updateEntitiesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md index 28388405..c42d44b0 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / ClassEntityCollection

    - ClassEntityCollection class: + ClassEntityCollection class:

    @@ -36,6 +36,9 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • add
  • +
  • + clearOperationsLogCollection +
  • filterByInterfaces
  • @@ -48,6 +51,12 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • filterByPaths
  • +
  • + findEntity +
  • +
  • + get +
  • getEntityByClassName
  • @@ -57,24 +66,45 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + getLoadedOrCreateNew +
  • getOnlyInstantiable
  • getOnlyInterfaces
  • +
  • + getOperationsLogCollection +
  • getPluginEventDispatcher
  • +
  • + has +
  • internalFindEntity
  • internalGetLoadedOrCreateNew
  • +
  • + isEmpty +
  • loadClassEntities
  • +
  • + remove +
  • +
  • + updateEntitiesCache +
  • @@ -82,7 +112,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga @@ -97,7 +127,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga ```php @@ -119,42 +149,42 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - $docRendererHelper - \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper + \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $progressBarFactory - \BumbleDocGen\Core\Console\ProgressBarFactory + \BumbleDocGen\Core\Console\ProgressBarFactory - @@ -179,7 +209,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -201,7 +231,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -212,7 +242,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -225,6 +255,29 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function clearOperationsLogCollection(): void; +``` + + + +Parameters: not specified + +Return value: void + +

    @@ -232,7 +285,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity ```php @@ -260,7 +313,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -280,7 +333,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan ```php @@ -308,7 +361,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -328,7 +381,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG ```php @@ -356,7 +409,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -376,7 +429,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen ```php @@ -404,7 +457,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -417,6 +470,91 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $searchstring-
    $useUnsafeKeysbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + +

    @@ -424,7 +562,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -457,7 +595,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null
    @@ -467,7 +605,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists ```php @@ -488,7 +626,7 @@ public function getEntityCollectionName(): string; ```php @@ -534,10 +672,97 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntityToCollectionEvent = false): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    $withAddClassEntityToCollectionEventbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +See: + +
    +
    +
    + ```php @@ -548,7 +773,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -568,7 +793,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -579,7 +804,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -592,6 +817,29 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getOperationsLogCollection(): \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + +

    @@ -599,7 +847,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -610,7 +858,47 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher +Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool
    @@ -620,7 +908,7 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven ```php @@ -655,7 +943,7 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null @@ -680,7 +968,7 @@ $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-ge ```php @@ -713,7 +1001,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -726,6 +1014,29 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -733,7 +1044,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl ```php @@ -763,6 +1074,76 @@ public function loadClassEntities(): void; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function updateEntitiesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/3.renderer/classes/CustomFunctionInterface.md b/docs/tech/3.renderer/classes/CustomFunctionInterface.md index d885846d..902071e8 100644 --- a/docs/tech/3.renderer/classes/CustomFunctionInterface.md +++ b/docs/tech/3.renderer/classes/CustomFunctionInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / CustomFunctionInterface

    - CustomFunctionInterface class: + CustomFunctionInterface class:

    @@ -47,7 +47,7 @@ interface CustomFunctionInterface ```php @@ -68,7 +68,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md b/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md index 5a12d467..e6760acb 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / DocumentedEntityWrapper

    - DocumentedEntityWrapper class: + DocumentedEntityWrapper class:

    @@ -69,7 +69,7 @@ final class DocumentedEntityWrapper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor $documentTransformableEntity - \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface + \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface An entity that is allowed to be documented $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -116,7 +116,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor ```php @@ -127,7 +127,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -137,7 +137,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -158,7 +158,7 @@ public function getDocUrl(): string; ```php @@ -169,7 +169,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface @@ -179,7 +179,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co ```php @@ -200,7 +200,7 @@ public function getEntityName(): string; ```php @@ -221,7 +221,7 @@ public function getFileName(): string; ```php @@ -242,7 +242,7 @@ public function getInitiatorFilePath(): string; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md b/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md index 51e31bf4..d81da868 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / DocumentedEntityWrapper

    - DocumentedEntityWrapper class: + DocumentedEntityWrapper class:

    @@ -69,7 +69,7 @@ final class DocumentedEntityWrapper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor $documentTransformableEntity - \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface + \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface An entity that is allowed to be documented $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -116,7 +116,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor ```php @@ -127,7 +127,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -137,7 +137,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -158,7 +158,7 @@ public function getDocUrl(): string; ```php @@ -169,7 +169,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface @@ -179,7 +179,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co ```php @@ -200,7 +200,7 @@ public function getEntityName(): string; ```php @@ -221,7 +221,7 @@ public function getFileName(): string; ```php @@ -242,7 +242,7 @@ public function getInitiatorFilePath(): string; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md b/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md index 304f11cd..221d301f 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / DocumentedEntityWrapper

    - DocumentedEntityWrapper class: + DocumentedEntityWrapper class:

    @@ -69,7 +69,7 @@ final class DocumentedEntityWrapper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor $documentTransformableEntity - \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface + \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface An entity that is allowed to be documented $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -116,7 +116,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor ```php @@ -127,7 +127,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -137,7 +137,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -158,7 +158,7 @@ public function getDocUrl(): string; ```php @@ -169,7 +169,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface @@ -179,7 +179,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co ```php @@ -200,7 +200,7 @@ public function getEntityName(): string; ```php @@ -221,7 +221,7 @@ public function getFileName(): string; ```php @@ -242,7 +242,7 @@ public function getInitiatorFilePath(): string; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md index 644e1d76..4c2123a4 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,7 +60,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -129,7 +129,7 @@ public function count(): int; ```php @@ -151,13 +151,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper @@ -167,7 +167,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -188,7 +188,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md index bf0ad7c7..8daa41be 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,7 +60,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -129,7 +129,7 @@ public function count(): int; ```php @@ -151,13 +151,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper @@ -167,7 +167,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -188,7 +188,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md index e389bb21..6acc39ff 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,7 +60,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -129,7 +129,7 @@ public function count(): int; ```php @@ -151,13 +151,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper @@ -167,7 +167,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -188,7 +188,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/3.renderer/classes/DrawClassMap.md b/docs/tech/3.renderer/classes/DrawClassMap.md index dc552a16..a71e8dbe 100644 --- a/docs/tech/3.renderer/classes/DrawClassMap.md +++ b/docs/tech/3.renderer/classes/DrawClassMap.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / DrawClassMap

    - DrawClassMap class: + DrawClassMap class:

    @@ -21,7 +21,7 @@ final class DrawClassMap implements \BumbleDocGen\Core\Renderer\Twig\Function\Cu Examples of using: ```php -{{ drawClassMap(classEntityCollection.filterByPaths(['/BumbleDocGen/Renderer'])) }} +{{ drawClassMap(classEntityCollection.filterByPaths(['/src/Renderer'])) }} ``` @@ -86,7 +86,7 @@ final class DrawClassMap implements \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -108,12 +108,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -128,7 +128,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -150,7 +150,7 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn $classEntityCollections - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection The collection of entities for which the class map will be generated @@ -182,7 +182,7 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn ```php @@ -230,7 +230,7 @@ public function convertDirectoryStructureToFormattedString(array $structure, str ```php @@ -252,7 +252,7 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E $classEntityCollections - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -284,7 +284,7 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E ```php @@ -305,7 +305,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/DrawDocumentationMenu.md b/docs/tech/3.renderer/classes/DrawDocumentationMenu.md index b692f2ae..6a35c0b7 100644 --- a/docs/tech/3.renderer/classes/DrawDocumentationMenu.md +++ b/docs/tech/3.renderer/classes/DrawDocumentationMenu.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / DrawDocumentationMenu

    - DrawDocumentationMenu class: + DrawDocumentationMenu class:

    @@ -97,7 +97,7 @@ See: ```php @@ -119,22 +119,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -149,7 +149,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -207,7 +207,7 @@ public function __invoke(string|null $startPageKey = NULL, int|null $maxDeep = N ```php @@ -228,7 +228,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md b/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md index 24d99154..74be321d 100644 --- a/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md +++ b/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / DrawDocumentedEntityLink

    - DrawDocumentedEntityLink class: + DrawDocumentedEntityLink class:

    @@ -85,7 +85,7 @@ final class DrawDocumentedEntityLink implements \BumbleDocGen\Core\Renderer\Twig ```php @@ -107,7 +107,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -122,7 +122,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -144,7 +144,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we want to get the link @@ -186,7 +186,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e ```php @@ -207,7 +207,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/FileGetContents.md b/docs/tech/3.renderer/classes/FileGetContents.md index 68e5ebad..6200f142 100644 --- a/docs/tech/3.renderer/classes/FileGetContents.md +++ b/docs/tech/3.renderer/classes/FileGetContents.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / FileGetContents

    - FileGetContents class: + FileGetContents class:

    @@ -86,7 +86,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - @@ -123,7 +123,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -162,7 +162,7 @@ public function __invoke(string $resourceName): string; ```php @@ -183,7 +183,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/FixStrSize.md b/docs/tech/3.renderer/classes/FixStrSize.md index 91f7a040..acf9b7b6 100644 --- a/docs/tech/3.renderer/classes/FixStrSize.md +++ b/docs/tech/3.renderer/classes/FixStrSize.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / FixStrSize

    - FixStrSize class: + FixStrSize class:

    @@ -64,7 +64,7 @@ final class FixStrSize implements \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $size, string $symbol = ' '): string; ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md index 34b8374d..7e98f579 100644 --- a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md +++ b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / GeneratePageBreadcrumbs

    - GeneratePageBreadcrumbs class: + GeneratePageBreadcrumbs class:

    @@ -67,7 +67,7 @@ final class GeneratePageBreadcrumbs implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -89,17 +89,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -114,7 +114,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -180,7 +180,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s ```php @@ -201,7 +201,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md index 5f795b9f..0889adaf 100644 --- a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md +++ b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Documentation structure and breadcrumbs / GeneratePageBreadcrumbs

    - GeneratePageBreadcrumbs class: + GeneratePageBreadcrumbs class:

    @@ -67,7 +67,7 @@ final class GeneratePageBreadcrumbs implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -89,17 +89,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -114,7 +114,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -180,7 +180,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s ```php @@ -201,7 +201,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md b/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md index 629f8298..782ca2f2 100644 --- a/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md +++ b/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / GetClassMethodsBodyCode

    - GetClassMethodsBodyCode class: + GetClassMethodsBodyCode class:

    @@ -75,7 +75,7 @@ final class GetClassMethodsBodyCode implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio ```php @@ -171,7 +171,7 @@ public function __invoke(string $className, array $methodsNames): string|null; ```php @@ -192,7 +192,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md b/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md index a6dd7fa1..f2fe788c 100644 --- a/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md +++ b/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / GetDocumentationPageUrl

    - GetDocumentationPageUrl class: + GetDocumentationPageUrl class:

    @@ -82,7 +82,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ @@ -97,7 +97,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - @@ -139,7 +139,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -191,7 +191,7 @@ public function __invoke(string $key): string; ```php @@ -212,7 +212,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md b/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md index 80489718..5101fd12 100644 --- a/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md +++ b/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / GetDocumentationPageUrl

    - GetDocumentationPageUrl class: + GetDocumentationPageUrl class:

    @@ -82,7 +82,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ @@ -97,7 +97,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - @@ -139,7 +139,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -191,7 +191,7 @@ public function __invoke(string $key): string; ```php @@ -212,7 +212,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md index a43c936d..e274196d 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / GetDocumentedEntityUrl

    - GetDocumentedEntityUrl class: + GetDocumentedEntityUrl class:

    @@ -91,7 +91,7 @@ The function returns a link to the file MainExtension @@ -106,7 +106,7 @@ The function returns a link to the file MainExtension ```php @@ -128,17 +128,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -158,7 +158,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -180,7 +180,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -228,7 +228,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -249,7 +249,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md index d998df38..a520fe50 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / GetDocumentedEntityUrl

    - GetDocumentedEntityUrl class: + GetDocumentedEntityUrl class:

    @@ -91,7 +91,7 @@ The function returns a link to the file MainExtension @@ -106,7 +106,7 @@ The function returns a link to the file MainExtension ```php @@ -128,17 +128,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -158,7 +158,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -180,7 +180,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -228,7 +228,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -249,7 +249,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md index e5feca91..84e87cd8 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / GetDocumentedEntityUrl

    - GetDocumentedEntityUrl class: + GetDocumentedEntityUrl class:

    @@ -91,7 +91,7 @@ The function returns a link to the file MainExtension @@ -106,7 +106,7 @@ The function returns a link to the file MainExtension ```php @@ -128,17 +128,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -158,7 +158,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -180,7 +180,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -228,7 +228,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -249,7 +249,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md index d023d499..5033f758 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md index cc483dad..2e20f560 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md index efc1c7d3..cd39f590 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md index dbaf4424..3945ba10 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md index 17d7a15f..803ca2e2 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Documentation structure and breadcrumbs / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/LanguageHandlerInterface.md b/docs/tech/3.renderer/classes/LanguageHandlerInterface.md index 80642d61..01e0271d 100644 --- a/docs/tech/3.renderer/classes/LanguageHandlerInterface.md +++ b/docs/tech/3.renderer/classes/LanguageHandlerInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / LanguageHandlerInterface

    - LanguageHandlerInterface class: + LanguageHandlerInterface class:

    @@ -53,7 +53,7 @@ interface LanguageHandlerInterface ```php @@ -75,13 +75,13 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection @@ -91,7 +91,7 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere ```php @@ -113,13 +113,13 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection @@ -129,7 +129,7 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende ```php @@ -140,7 +140,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -150,7 +150,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti ```php diff --git a/docs/tech/3.renderer/classes/LoadPluginsContent.md b/docs/tech/3.renderer/classes/LoadPluginsContent.md index 1498c1ae..fcb2e35a 100644 --- a/docs/tech/3.renderer/classes/LoadPluginsContent.md +++ b/docs/tech/3.renderer/classes/LoadPluginsContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / LoadPluginsContent

    - LoadPluginsContent class: + LoadPluginsContent class:

    @@ -75,7 +75,7 @@ final class LoadPluginsContent implements \BumbleDocGen\Core\Renderer\Twig\Funct ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu ```php @@ -139,7 +139,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we process the content block @@ -160,7 +160,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE ```php @@ -181,7 +181,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md b/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md index 0155f7b8..b495ad04 100644 --- a/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / PageHtmlLinkerPlugin

    - PageHtmlLinkerPlugin class: + PageHtmlLinkerPlugin class:

    @@ -42,13 +42,165 @@ final class PageHtmlLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pa +

    Initialization methods:

    +
      +
    1. + __construct +
    2. +
    +

    Methods:

    +
      +
    1. + beforeCreatingDocFile +
    2. +
    3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    4. +
    + +

    Method details:

    + +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
    $rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
    $getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
    $loggerPsr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
    + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/PregMatch.md b/docs/tech/3.renderer/classes/PregMatch.md index 163e3545..91d8a859 100644 --- a/docs/tech/3.renderer/classes/PregMatch.md +++ b/docs/tech/3.renderer/classes/PregMatch.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / PregMatch

    - PregMatch class: + PregMatch class:

    @@ -70,7 +70,7 @@ See: ```php @@ -113,7 +113,7 @@ public function __invoke(string $text, string $pattern): array; ```php @@ -134,7 +134,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/PrepareSourceLink.md b/docs/tech/3.renderer/classes/PrepareSourceLink.md index a2163383..42cb90ae 100644 --- a/docs/tech/3.renderer/classes/PrepareSourceLink.md +++ b/docs/tech/3.renderer/classes/PrepareSourceLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / PrepareSourceLink

    - PrepareSourceLink class: + PrepareSourceLink class:

    @@ -64,7 +64,7 @@ final class PrepareSourceLink implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md b/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md index 52910039..24fb0151 100644 --- a/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md +++ b/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / PrintEntityCollectionAsList

    - PrintEntityCollectionAsList class: + PrintEntityCollectionAsList class:

    @@ -82,7 +82,7 @@ The function will list all documented PHP classes ```php @@ -104,7 +104,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -141,7 +141,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -179,7 +179,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -200,7 +200,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/Quotemeta.md b/docs/tech/3.renderer/classes/Quotemeta.md index bc71c711..08aff50a 100644 --- a/docs/tech/3.renderer/classes/Quotemeta.md +++ b/docs/tech/3.renderer/classes/Quotemeta.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / Quotemeta

    - Quotemeta class: + Quotemeta class:

    @@ -70,7 +70,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __invoke(string $text): string; ```php @@ -129,7 +129,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/ReflectionException.md b/docs/tech/3.renderer/classes/ReflectionException.md index 68a1c233..a41571e1 100644 --- a/docs/tech/3.renderer/classes/ReflectionException.md +++ b/docs/tech/3.renderer/classes/ReflectionException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/ReflectionException_2.md b/docs/tech/3.renderer/classes/ReflectionException_2.md index d8229224..98ffe04d 100644 --- a/docs/tech/3.renderer/classes/ReflectionException_2.md +++ b/docs/tech/3.renderer/classes/ReflectionException_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/ReflectionException_3.md b/docs/tech/3.renderer/classes/ReflectionException_3.md index d64358fd..65c1605b 100644 --- a/docs/tech/3.renderer/classes/ReflectionException_3.md +++ b/docs/tech/3.renderer/classes/ReflectionException_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/ReflectionException_4.md b/docs/tech/3.renderer/classes/ReflectionException_4.md index 55088493..d1e29899 100644 --- a/docs/tech/3.renderer/classes/ReflectionException_4.md +++ b/docs/tech/3.renderer/classes/ReflectionException_4.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/RemoveLineBrakes.md b/docs/tech/3.renderer/classes/RemoveLineBrakes.md index 6808268b..2c8dd740 100644 --- a/docs/tech/3.renderer/classes/RemoveLineBrakes.md +++ b/docs/tech/3.renderer/classes/RemoveLineBrakes.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / RemoveLineBrakes

    - RemoveLineBrakes class: + RemoveLineBrakes class:

    @@ -64,7 +64,7 @@ final class RemoveLineBrakes implements \BumbleDocGen\Core\Renderer\Twig\Filter\ ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/RendererContext.md b/docs/tech/3.renderer/classes/RendererContext.md index 7ceac645..d6bc0d2a 100644 --- a/docs/tech/3.renderer/classes/RendererContext.md +++ b/docs/tech/3.renderer/classes/RendererContext.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / RendererContext

    - RendererContext class: + RendererContext class:

    @@ -62,7 +62,7 @@ final class RendererContext ```php @@ -84,7 +84,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren $dependency - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface - @@ -100,7 +100,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren ```php @@ -121,7 +121,7 @@ public function clearDependencies(): void; ```php @@ -132,7 +132,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null @@ -142,7 +142,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer ```php @@ -163,7 +163,7 @@ public function getCurrentTemplateFilePatch(): string; ```php @@ -184,7 +184,7 @@ public function getDependencies(): array; ```php @@ -206,7 +206,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co $currentDocumentedEntityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -222,7 +222,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co ```php diff --git a/docs/tech/3.renderer/classes/RendererContext_2.md b/docs/tech/3.renderer/classes/RendererContext_2.md index 71d93c05..e5993877 100644 --- a/docs/tech/3.renderer/classes/RendererContext_2.md +++ b/docs/tech/3.renderer/classes/RendererContext_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / RendererContext

    - RendererContext class: + RendererContext class:

    @@ -62,7 +62,7 @@ final class RendererContext ```php @@ -84,7 +84,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren $dependency - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface - @@ -100,7 +100,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren ```php @@ -121,7 +121,7 @@ public function clearDependencies(): void; ```php @@ -132,7 +132,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null @@ -142,7 +142,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer ```php @@ -163,7 +163,7 @@ public function getCurrentTemplateFilePatch(): string; ```php @@ -184,7 +184,7 @@ public function getDependencies(): array; ```php @@ -206,7 +206,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co $currentDocumentedEntityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -222,7 +222,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co ```php diff --git a/docs/tech/3.renderer/classes/RendererContext_3.md b/docs/tech/3.renderer/classes/RendererContext_3.md index 1e48416a..02cd99dd 100644 --- a/docs/tech/3.renderer/classes/RendererContext_3.md +++ b/docs/tech/3.renderer/classes/RendererContext_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / RendererContext

    - RendererContext class: + RendererContext class:

    @@ -62,7 +62,7 @@ final class RendererContext ```php @@ -84,7 +84,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren $dependency - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface - @@ -100,7 +100,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren ```php @@ -121,7 +121,7 @@ public function clearDependencies(): void; ```php @@ -132,7 +132,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null @@ -142,7 +142,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer ```php @@ -163,7 +163,7 @@ public function getCurrentTemplateFilePatch(): string; ```php @@ -184,7 +184,7 @@ public function getDependencies(): array; ```php @@ -206,7 +206,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co $currentDocumentedEntityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -222,7 +222,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co ```php diff --git a/docs/tech/3.renderer/classes/RootEntityCollection.md b/docs/tech/3.renderer/classes/RootEntityCollection.md index 83d468db..8fb001c4 100644 --- a/docs/tech/3.renderer/classes/RootEntityCollection.md +++ b/docs/tech/3.renderer/classes/RootEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / RootEntityCollection

    - RootEntityCollection class: + RootEntityCollection class:

    @@ -38,9 +38,21 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • getLoadedOrCreateNew
  • +
  • + has +
  • +
  • + isEmpty +
  • +
  • + remove +
  • updateEntitiesCache
  • @@ -59,7 +71,7 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas ```php @@ -92,7 +104,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -102,7 +114,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD ```php @@ -130,7 +142,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -140,7 +152,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn ```php @@ -161,7 +173,7 @@ public function getEntityCollectionName(): string; ```php @@ -207,10 +219,46 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + ```php @@ -243,7 +291,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface @@ -256,10 +304,113 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + ```php diff --git a/docs/tech/3.renderer/classes/RootEntityInterface.md b/docs/tech/3.renderer/classes/RootEntityInterface.md index 35f6d86f..8767737d 100644 --- a/docs/tech/3.renderer/classes/RootEntityInterface.md +++ b/docs/tech/3.renderer/classes/RootEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template functions / RootEntityInterface

    - RootEntityInterface class: + RootEntityInterface class:

    @@ -27,18 +27,39 @@ their entities need to correspond to the same interfaces

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. entityDataCanBeLoaded - Checking if it is possible to get the entity data
    3. +
    4. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    5. getEntityDependencies
    6. getFileContent
    7. +
    8. + getFileName + - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
    9. getFileSourceLink
    10. +
    11. + getName +
    12. +
    13. + getObjectId +
    14. +
    15. + getRootEntityCollection + - Get parent collection of entities
    16. +
    17. + getShortName +
    18. isEntityNameValid - Check if entity name is valid
    19. @@ -57,10 +78,33 @@ their entities need to correspond to the same interfaces
      + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + ```php @@ -74,6 +118,29 @@ public function entityDataCanBeLoaded(): bool; Return value: bool +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
      Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -81,7 +148,7 @@ public function entityDataCanBeLoaded(): bool; ```php @@ -102,7 +169,7 @@ public function getEntityDependencies(): array; ```php @@ -116,6 +183,29 @@ public function getFileContent(): string; Return value: string +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getFileName(): string|null; +``` + +
      Returns the relative path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -123,7 +213,7 @@ public function getFileContent(): string; ```php @@ -154,6 +244,98 @@ public function getFileSourceLink(bool $withLine = true): string|null; Return value: string | null +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
      Get parent collection of entities
      + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string + +

      @@ -161,7 +343,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -199,7 +381,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php diff --git a/docs/tech/3.renderer/classes/RootEntityInterface_2.md b/docs/tech/3.renderer/classes/RootEntityInterface_2.md new file mode 100644 index 00000000..c17944ce --- /dev/null +++ b/docs/tech/3.renderer/classes/RootEntityInterface_2.md @@ -0,0 +1,401 @@ + + BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / RootEntityInterface
      + +

      + RootEntityInterface class: +

      + + + + + +```php +namespace BumbleDocGen\Core\Parser\Entity; + +interface RootEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\EntityInterface implements \BumbleDocGen\Core\Parser\Entity\EntityInterface +``` + +
      Since the documentation generator supports several programming languages, +their entities need to correspond to the same interfaces
      + + + + + + + +

      Methods:

      + +
        +
      1. + entityCacheIsOutdated +
      2. +
      3. + entityDataCanBeLoaded + - Checking if it is possible to get the entity data
      4. +
      5. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      6. +
      7. + getEntityDependencies +
      8. +
      9. + getFileContent +
      10. +
      11. + getFileName + - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
      12. +
      13. + getFileSourceLink +
      14. +
      15. + getName +
      16. +
      17. + getObjectId +
      18. +
      19. + getRootEntityCollection + - Get parent collection of entities
      20. +
      21. + getShortName +
      22. +
      23. + isEntityNameValid + - Check if entity name is valid
      24. +
      25. + isInGit + - The entity file is in the git repository
      26. +
      + + + + + + + +

      Method details:

      + +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +public function entityDataCanBeLoaded(): bool; +``` + +
      Checking if it is possible to get the entity data
      + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
      Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + + +
      +
      +
      + + + +```php +public function getEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +
      +
      +
      + + + +```php +public function getFileContent(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getFileName(): string|null; +``` + +
      Returns the relative path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + + +
      +
      +
      + + + +```php +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
      NameTypeDescription
      $withLinebool-
      + +Return value: string | null + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
      Get parent collection of entities
      + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +public static function isEntityNameValid(string $entityName): bool; +``` + +
      Check if entity name is valid
      + +Parameters: + + + + + + + + + + + + + + + + +
      NameTypeDescription
      $entityNamestring-
      + +Return value: bool + + +
      +
      +
      + + + +```php +public function isInGit(): bool; +``` + +
      The entity file is in the git repository
      + +Parameters: not specified + +Return value: bool + + +
      +
      + + \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/StrTypeToUrl.md b/docs/tech/3.renderer/classes/StrTypeToUrl.md index 5a5834f0..122343e9 100644 --- a/docs/tech/3.renderer/classes/StrTypeToUrl.md +++ b/docs/tech/3.renderer/classes/StrTypeToUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / StrTypeToUrl

      - StrTypeToUrl class: + StrTypeToUrl class:

      @@ -77,7 +77,7 @@ See: ```php @@ -99,12 +99,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -124,7 +124,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -151,7 +151,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -193,7 +193,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti ```php @@ -214,7 +214,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/TextToCodeBlock.md b/docs/tech/3.renderer/classes/TextToCodeBlock.md index 81d80315..1d1ad745 100644 --- a/docs/tech/3.renderer/classes/TextToCodeBlock.md +++ b/docs/tech/3.renderer/classes/TextToCodeBlock.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / TextToCodeBlock

      - TextToCodeBlock class: + TextToCodeBlock class:

      @@ -64,7 +64,7 @@ final class TextToCodeBlock implements \BumbleDocGen\Core\Renderer\Twig\Filter\C ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $codeBlockType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/classes/TextToHeading.md b/docs/tech/3.renderer/classes/TextToHeading.md index 1cf24034..ee8636b0 100644 --- a/docs/tech/3.renderer/classes/TextToHeading.md +++ b/docs/tech/3.renderer/classes/TextToHeading.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Renderer / Template filters / TextToHeading

      - TextToHeading class: + TextToHeading class:

      @@ -64,7 +64,7 @@ final class TextToHeading implements \BumbleDocGen\Core\Renderer\Twig\Filter\Cus ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $headingType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/3.renderer/readme.md b/docs/tech/3.renderer/readme.md index ac009253..0d781d28 100644 --- a/docs/tech/3.renderer/readme.md +++ b/docs/tech/3.renderer/readme.md @@ -60,4 +60,4 @@ This process is presented in the form of a diagram below.

      -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
      Last modified date: Sun Jul 30 16:27:42 2023 +0300
      Page content update date: Thu Aug 31 2023
      Made with Bumble Documentation Generator
      \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
      Last modified date: Sun Jul 30 16:27:42 2023 +0300
      Page content update date: Sat Sep 02 2023
      Made with
      Bumble Documentation Generator
      \ No newline at end of file diff --git a/docs/tech/3.renderer/templates.md b/docs/tech/3.renderer/templates.md index 1fbe909f..341c124f 100644 --- a/docs/tech/3.renderer/templates.md +++ b/docs/tech/3.renderer/templates.md @@ -101,4 +101,4 @@ Result after starting the documentation generation process: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
      Last modified date: Mon Jul 31 08:13:50 2023 +0300
      Page content update date: Sat Sep 02 2023
      Made with
      Bumble Documentation Generator
    \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesDynamicBlocks.md b/docs/tech/3.renderer/templatesDynamicBlocks.md index 97776f9b..c41de4f7 100644 --- a/docs/tech/3.renderer/templatesDynamicBlocks.md +++ b/docs/tech/3.renderer/templatesDynamicBlocks.md @@ -26,4 +26,4 @@ You can use the built-in functions and filters or add your own, so you can imple \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 10:46:41 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator
    \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesLinking.md b/docs/tech/3.renderer/templatesLinking.md index 6861c320..a901b7f0 100644 --- a/docs/tech/3.renderer/templatesLinking.md +++ b/docs/tech/3.renderer/templatesLinking.md @@ -27,4 +27,4 @@ You can also implement your own functions for relinking if necessary. \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 10:46:41 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesVariables.md b/docs/tech/3.renderer/templatesVariables.md index 41590c85..94f5f78a 100644 --- a/docs/tech/3.renderer/templatesVariables.md +++ b/docs/tech/3.renderer/templatesVariables.md @@ -11,4 +11,4 @@ There are several variables available in each processed template. \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 10:46:41 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/twigCustomFilters.md b/docs/tech/3.renderer/twigCustomFilters.md index f42faef7..3a43a3a5 100644 --- a/docs/tech/3.renderer/twigCustomFilters.md +++ b/docs/tech/3.renderer/twigCustomFilters.md @@ -184,7 +184,7 @@ Here is a list of filters available by default: $rootEntityCollection - RootEntityCollection + RootEntityCollection @@ -263,4 +263,4 @@ Here is a list of filters available by default:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Mon Jul 31 08:23:27 2023 +0300
    Page content update date: Thu Aug 31 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/twigCustomFunctions.md b/docs/tech/3.renderer/twigCustomFunctions.md index 7f6dbd7c..bf31a010 100644 --- a/docs/tech/3.renderer/twigCustomFunctions.md +++ b/docs/tech/3.renderer/twigCustomFunctions.md @@ -385,4 +385,4 @@ Here is a list of functions available by default: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md b/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md index 502600eb..f3477983 100644 --- a/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md +++ b/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / AfterLoadingClassEntityCollection

    - AfterLoadingClassEntityCollection class: + AfterLoadingClassEntityCollection class:

    @@ -36,6 +36,12 @@ final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDi
  • getClassEntityCollection
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -51,7 +57,7 @@ final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDi ```php @@ -73,7 +79,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -88,7 +94,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -99,7 +105,53 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/4.pluginSystem/classes/BasePhpStubberPlugin.md b/docs/tech/4.pluginSystem/classes/BasePhpStubberPlugin.md index a6ad0c42..d2da835c 100644 --- a/docs/tech/4.pluginSystem/classes/BasePhpStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/BasePhpStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / BasePhpStubberPlugin

    - BasePhpStubberPlugin class: + BasePhpStubberPlugin class:

    @@ -47,7 +47,7 @@ final class BasePhpStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInte ```php @@ -68,7 +68,7 @@ public static function getSubscribedEvents(): array; ```php @@ -90,7 +90,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md b/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md index 9405b88d..0ae7b051 100644 --- a/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md +++ b/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / BeforeCreatingDocFile

    - BeforeCreatingDocFile class: + BeforeCreatingDocFile class:

    @@ -39,9 +39,15 @@ final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Eve
  • getContext
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • setContent
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Eve ```php @@ -84,7 +90,7 @@ public function __construct(string $content, \BumbleDocGen\Core\Renderer\Context $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - @@ -99,7 +105,7 @@ public function __construct(string $content, \BumbleDocGen\Core\Renderer\Context ```php @@ -120,7 +126,7 @@ public function getContent(): string; ```php @@ -131,7 +137,30 @@ public function getContext(): \BumbleDocGen\Core\Renderer\Context\RendererContex Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\RendererContext +Return value: \BumbleDocGen\Core\Renderer\Context\RendererContext + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool
    @@ -141,7 +170,7 @@ public function getContext(): \BumbleDocGen\Core\Renderer\Context\RendererContex ```php @@ -172,6 +201,29 @@ public function setContent(string $content): void; Return value: void + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/4.pluginSystem/classes/ComposerStubberPlugin.md b/docs/tech/4.pluginSystem/classes/ComposerStubberPlugin.md index fe065d78..ce56ea1f 100644 --- a/docs/tech/4.pluginSystem/classes/ComposerStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/ComposerStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / ComposerStubberPlugin

    - ComposerStubberPlugin class: + ComposerStubberPlugin class:

    @@ -50,7 +50,7 @@ final class ComposerStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInt ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/InvalidConfigurationParameterException.md b/docs/tech/4.pluginSystem/classes/InvalidConfigurationParameterException.md index 69865b26..c6cb8526 100644 --- a/docs/tech/4.pluginSystem/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/4.pluginSystem/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/LastPageCommitter.md b/docs/tech/4.pluginSystem/classes/LastPageCommitter.md index a1c653fd..dac9a8ad 100644 --- a/docs/tech/4.pluginSystem/classes/LastPageCommitter.md +++ b/docs/tech/4.pluginSystem/classes/LastPageCommitter.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / LastPageCommitter

    - LastPageCommitter class: + LastPageCommitter class:

    @@ -54,7 +54,7 @@ final class LastPageCommitter implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -76,12 +76,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -96,7 +96,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -118,7 +118,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B $event - \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile + \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile - @@ -141,7 +141,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B ```php diff --git a/docs/tech/4.pluginSystem/classes/LoadPluginsContent.md b/docs/tech/4.pluginSystem/classes/LoadPluginsContent.md index 59759cbc..4753e10d 100644 --- a/docs/tech/4.pluginSystem/classes/LoadPluginsContent.md +++ b/docs/tech/4.pluginSystem/classes/LoadPluginsContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / LoadPluginsContent

    - LoadPluginsContent class: + LoadPluginsContent class:

    @@ -75,7 +75,7 @@ final class LoadPluginsContent implements \BumbleDocGen\Core\Renderer\Twig\Funct ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu ```php @@ -139,7 +139,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we process the content block @@ -160,7 +160,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE ```php @@ -181,7 +181,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md b/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md index 57cf8f72..e9c3e08d 100644 --- a/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md +++ b/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / OnAddClassEntityToCollection

    - OnAddClassEntityToCollection class: + OnAddClassEntityToCollection class:

    @@ -42,6 +42,12 @@ final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatc
  • getUniqueExecutionId
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatc ```php @@ -79,12 +85,12 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -99,7 +105,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -110,7 +116,7 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -120,7 +126,7 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa ```php @@ -131,7 +137,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -141,7 +147,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -155,6 +161,52 @@ public function getUniqueExecutionId(): string; Return value: string + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md b/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md index adc9cceb..e1888825 100644 --- a/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md +++ b/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / OnCheckIsClassEntityCanBeLoad

    - OnCheckIsClassEntityCanBeLoad class: + OnCheckIsClassEntityCanBeLoad class:

    @@ -42,6 +42,12 @@ final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispat
  • isClassCanBeLoad
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -60,7 +66,7 @@ final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispat * # $classCanBeLoad - **|** source code + **|** source code ```php public bool $classCanBeLoad; @@ -76,7 +82,7 @@ public bool $classCanBeLoad; ```php @@ -98,7 +104,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $entity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -113,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -134,7 +140,7 @@ public function disableClassLoading(): void; ```php @@ -145,7 +151,7 @@ public function getEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cla Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -155,7 +161,7 @@ public function getEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cla ```php @@ -169,6 +175,52 @@ public function isClassCanBeLoad(): bool; Return value: bool + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md b/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md index 8799ab52..a0237092 100644 --- a/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md +++ b/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / OnGettingResourceLink

    - OnGettingResourceLink class: + OnGettingResourceLink class:

    @@ -39,9 +39,15 @@ final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Eve
  • getResourceUrl
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • setResourceUrl
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Eve ```php @@ -94,7 +100,7 @@ public function __construct(string $resourceName); ```php @@ -115,7 +121,7 @@ public function getResourceName(): string; ```php @@ -129,6 +135,29 @@ public function getResourceUrl(): string|null; Return value: string | null + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + +

    @@ -136,7 +165,7 @@ public function getResourceUrl(): string|null; ```php @@ -167,6 +196,29 @@ public function setResourceUrl(string|null $resourceUrl): void; Return value: void +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md b/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md index da2c2958..95ddba4c 100644 --- a/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md +++ b/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / OnLoadEntityDocPluginContent

    - OnLoadEntityDocPluginContent class: + OnLoadEntityDocPluginContent class:

    @@ -54,6 +54,12 @@ See:
  • getEntity
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -69,7 +75,7 @@ See: ```php @@ -96,7 +102,7 @@ public function __construct(string $blockContent, \BumbleDocGen\Core\Parser\Enti $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - @@ -116,7 +122,7 @@ public function __construct(string $blockContent, \BumbleDocGen\Core\Parser\Enti ```php @@ -154,7 +160,7 @@ public function addBlockContentPluginResult(string $pluginResult): void; ```php @@ -175,7 +181,7 @@ public function getBlockContent(): string; ```php @@ -196,7 +202,7 @@ public function getBlockContentPluginResults(): array; ```php @@ -217,7 +223,7 @@ public function getBlockType(): string; ```php @@ -228,7 +234,53 @@ public function getEntity(): \BumbleDocGen\Core\Parser\Entity\RootEntityInterfac Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md b/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md index 9e87c72d..9b121cd4 100644 --- a/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md +++ b/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / OnLoadSourceLocatorsCollection

    - OnLoadSourceLocatorsCollection class: + OnLoadSourceLocatorsCollection class:

    @@ -36,6 +36,12 @@ final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispa
  • getSourceLocatorsCollection
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -51,7 +57,7 @@ final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispa ```php @@ -73,7 +79,7 @@ public function __construct(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocato $sourceLocatorsCollection - \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection + \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection - @@ -88,7 +94,7 @@ public function __construct(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocato ```php @@ -99,7 +105,53 @@ public function getSourceLocatorsCollection(): \BumbleDocGen\Core\Parser\SourceL Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/4.pluginSystem/classes/PageHtmlLinkerPlugin.md b/docs/tech/4.pluginSystem/classes/PageHtmlLinkerPlugin.md index 429b0cbd..45482321 100644 --- a/docs/tech/4.pluginSystem/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PageHtmlLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PageHtmlLinkerPlugin

    - PageHtmlLinkerPlugin class: + PageHtmlLinkerPlugin class:

    @@ -42,13 +42,165 @@ final class PageHtmlLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pa +

    Initialization methods:

    +
      +
    1. + __construct +
    2. +
    +

    Methods:

    +
      +
    1. + beforeCreatingDocFile +
    2. +
    3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    4. +
    + +

    Method details:

    + +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
    $rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
    $getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
    $loggerPsr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
    + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/PageRstLinkerPlugin.md b/docs/tech/4.pluginSystem/classes/PageRstLinkerPlugin.md index d276566a..74bee256 100644 --- a/docs/tech/4.pluginSystem/classes/PageRstLinkerPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PageRstLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PageRstLinkerPlugin

    - PageRstLinkerPlugin class: + PageRstLinkerPlugin class:

    @@ -42,13 +42,165 @@ final class PageRstLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pag +

    Initialization methods:

    +
      +
    1. + __construct +
    2. +
    +

    Methods:

    +
      +
    1. + beforeCreatingDocFile +
    2. +
    3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    4. +
    + +

    Method details:

    + +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
    $rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
    $getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
    $loggerPsr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
    + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/PhpDocumentorStubberPlugin.md b/docs/tech/4.pluginSystem/classes/PhpDocumentorStubberPlugin.md index 831184cd..e75e4281 100644 --- a/docs/tech/4.pluginSystem/classes/PhpDocumentorStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PhpDocumentorStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PhpDocumentorStubberPlugin

    - PhpDocumentorStubberPlugin class: + PhpDocumentorStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PhpDocumentorStubberPlugin implements \BumbleDocGen\Core\Plugin\Plug ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md b/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md index 7076e8ce..9a773de8 100644 --- a/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PhpUnitStubberPlugin

    - PhpUnitStubberPlugin class: + PhpUnitStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PhpUnitStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInte ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/PluginInterface.md b/docs/tech/4.pluginSystem/classes/PluginInterface.md index 0ef07fe4..210c8ac3 100644 --- a/docs/tech/4.pluginSystem/classes/PluginInterface.md +++ b/docs/tech/4.pluginSystem/classes/PluginInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PluginInterface

    - PluginInterface class: + PluginInterface class:

    @@ -23,7 +23,13 @@ interface PluginInterface extends \\Symfony\Component\EventDispatcher\EventSubsc +

    Methods:

    +
      +
    1. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    2. +
    @@ -31,4 +37,30 @@ interface PluginInterface extends \\Symfony\Component\EventDispatcher\EventSubsc +

    Method details:

    + +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventSubscriberInterface + +public static function getSubscribedEvents(): array>; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array | array{0:string,1:int} | list> + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/PsrClassesStubberPlugin.md b/docs/tech/4.pluginSystem/classes/PsrClassesStubberPlugin.md index 04b78971..227c99ab 100644 --- a/docs/tech/4.pluginSystem/classes/PsrClassesStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PsrClassesStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / PsrClassesStubberPlugin

    - PsrClassesStubberPlugin class: + PsrClassesStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PsrClassesStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginI ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/ReflectionException.md b/docs/tech/4.pluginSystem/classes/ReflectionException.md new file mode 100644 index 00000000..3ec3f26f --- /dev/null +++ b/docs/tech/4.pluginSystem/classes/ReflectionException.md @@ -0,0 +1,391 @@ + + BumbleDocGen / Technical description of the project / Plugin system / ReflectionException
    + +

    + ReflectionException class: +

    + + + + + +```php +namespace BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception; + +final class ReflectionException extends \Exception implements \Throwable, \Stringable +``` + +
    Exception is the base class for +all Exceptions.
    + +See: + + + + + + + +

    Initialization methods:

    + +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    + +

    Methods:

    + +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + + + + + + + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/SymfonyComponentStubberPlugin.md b/docs/tech/4.pluginSystem/classes/SymfonyComponentStubberPlugin.md index 55787534..8f110b35 100644 --- a/docs/tech/4.pluginSystem/classes/SymfonyComponentStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/SymfonyComponentStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / SymfonyComponentStubberPlugin

    - SymfonyComponentStubberPlugin class: + SymfonyComponentStubberPlugin class:

    @@ -50,7 +50,7 @@ final class SymfonyComponentStubberPlugin implements \BumbleDocGen\Core\Plugin\P ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/classes/TwigStubberPlugin.md b/docs/tech/4.pluginSystem/classes/TwigStubberPlugin.md index 9bdc3263..aa51c6e4 100644 --- a/docs/tech/4.pluginSystem/classes/TwigStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/TwigStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Plugin system / TwigStubberPlugin

    - TwigStubberPlugin class: + TwigStubberPlugin class:

    @@ -50,7 +50,7 @@ final class TwigStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/4.pluginSystem/readme.md b/docs/tech/4.pluginSystem/readme.md index 5361152c..e26e35a7 100644 --- a/docs/tech/4.pluginSystem/readme.md +++ b/docs/tech/4.pluginSystem/readme.md @@ -192,4 +192,4 @@ plugins:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 16:31:39 2023 +0300
    Page content update date: Thu Aug 31 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/classes/AddIndentFromLeft.md b/docs/tech/classes/AddIndentFromLeft.md index f737b1ef..36600f68 100644 --- a/docs/tech/classes/AddIndentFromLeft.md +++ b/docs/tech/classes/AddIndentFromLeft.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / AddIndentFromLeft

    - AddIndentFromLeft class: + AddIndentFromLeft class:

    @@ -64,7 +64,7 @@ final class AddIndentFromLeft implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $identLength = 4, bool $skipFirstIden ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/AfterLoadingClassEntityCollection.md b/docs/tech/classes/AfterLoadingClassEntityCollection.md index bf6d30ce..573572c7 100644 --- a/docs/tech/classes/AfterLoadingClassEntityCollection.md +++ b/docs/tech/classes/AfterLoadingClassEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / AfterLoadingClassEntityCollection

    - AfterLoadingClassEntityCollection class: + AfterLoadingClassEntityCollection class:

    @@ -36,6 +36,12 @@ final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDi
  • getClassEntityCollection
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -51,7 +57,7 @@ final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDi ```php @@ -73,7 +79,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -88,7 +94,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -99,7 +105,53 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/classes/App.md b/docs/tech/classes/App.md new file mode 100644 index 00000000..66189b2d --- /dev/null +++ b/docs/tech/classes/App.md @@ -0,0 +1,1469 @@ + + BumbleDocGen / Technical description of the project / Class map / App
    + +

    + App class: +

    + + + + + +```php +namespace BumbleDocGen\Console; + +class App extends \Symfony\Component\Console\Application implements \Symfony\Contracts\Service\ResetInterface +``` + +
    An Application is the container for a collection of commands.
    + + + + + + +

    Initialization methods:

    + +
      +
    1. + __construct +
    2. +
    + +

    Methods:

    + +
      +
    1. + add + - Adds a command object.
    2. +
    3. + addCommands + - Adds an array of command objects.
    4. +
    5. + all + - Gets the commands (registered in the given namespace if provided).
    6. +
    7. + areExceptionsCaught + - Gets whether to catch exceptions or not during commands execution.
    8. +
    9. + complete + - Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
    10. +
    11. + doRun + - Runs the current application.
    12. +
    13. + extractNamespace + - Returns the namespace part of the command name.
    14. +
    15. + find + - Finds a command by name or alias.
    16. +
    17. + findNamespace + - Finds a registered namespace by a name or an abbreviation.
    18. +
    19. + get + - Returns a registered command by name or alias.
    20. +
    21. + getAbbreviations + - Returns an array of possible abbreviations given a set of names.
    22. +
    23. + getDefinition + - Gets the InputDefinition related to this Application.
    24. +
    25. + getHelp + - Gets the help message.
    26. +
    27. + getHelperSet + - Get the helper set associated with the command.
    28. +
    29. + getLongVersion + - Returns the long version of the application.
    30. +
    31. + getName + - Gets the name of the application.
    32. +
    33. + getNamespaces + - Returns an array of all unique namespaces used by currently registered commands.
    34. +
    35. + getSignalRegistry +
    36. +
    37. + getVersion + - Gets the application version.
    38. +
    39. + has + - Returns true if the command exists, false otherwise.
    40. +
    41. + isAutoExitEnabled + - Gets whether to automatically exit after a command execution or not.
    42. +
    43. + isSingleCommand +
    44. +
    45. + register + - Registers a new command.
    46. +
    47. + renderThrowable +
    48. +
    49. + reset +
    50. +
    51. + run + - Runs the current application.
    52. +
    53. + setAutoExit + - Sets whether to automatically exit after a command execution or not.
    54. +
    55. + setCatchExceptions + - Sets whether to catch exceptions or not during commands execution.
    56. +
    57. + setCommandLoader +
    58. +
    59. + setDefaultCommand + - Sets the default Command name.
    60. +
    61. + setDefinition +
    62. +
    63. + setDispatcher +
    64. +
    65. + setHelperSet +
    66. +
    67. + setName + - Sets the application name.
    68. +
    69. + setSignalsToDispatchEvent +
    70. +
    71. + setVersion + - Sets the application version.
    72. +
    + + + + + + + +

    Method details:

    + +
    + + + +```php +public function __construct(); +``` + + + +Parameters: not specified + + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function add(\Symfony\Component\Console\Command\Command $command): \Symfony\Component\Console\Command\Command|null; +``` + +
    Adds a command object.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $commandSymfony\Component\Console\Command\Command-
    + +Return value: \Symfony\Component\Console\Command\Command | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function addCommands(array $commands): mixed; +``` + +
    Adds an array of command objects.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $commandsarrayAn array of commands
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function all(string|null $namespace = NULL): \Symfony\Component\Console\Command\Command[]; +``` + +
    Gets the commands (registered in the given namespace if provided).
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namespacestring | null-
    + +Return value: \Symfony\Component\Console\Command\Command[] + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function areExceptionsCaught(): bool; +``` + +
    Gets whether to catch exceptions or not during commands execution.
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function complete(\Symfony\Component\Console\Completion\CompletionInput $input, \Symfony\Component\Console\Completion\CompletionSuggestions $suggestions): void; +``` + +
    Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $inputSymfony\Component\Console\Completion\CompletionInput-
    $suggestionsSymfony\Component\Console\Completion\CompletionSuggestions-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function doRun(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): int; +``` + +
    Runs the current application.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $inputSymfony\Component\Console\Input\InputInterface-
    $outputSymfony\Component\Console\Output\OutputInterface-
    + +Return value: int + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function extractNamespace(string $name, int|null $limit = NULL): string; +``` + +
    Returns the namespace part of the command name.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    $limitint | null-
    + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function find(string $name): \Symfony\Component\Console\Command\Command; +``` + +
    Finds a command by name or alias.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: \Symfony\Component\Console\Command\Command + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function findNamespace(string $namespace): string; +``` + +
    Finds a registered namespace by a name or an abbreviation.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namespacestring-
    + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function get(string $name): \Symfony\Component\Console\Command\Command; +``` + +
    Returns a registered command by name or alias.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: \Symfony\Component\Console\Command\Command + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public static function getAbbreviations(array $names): array; +``` + +
    Returns an array of possible abbreviations given a set of names.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namesarray-
    + +Return value: array + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getDefinition(): \Symfony\Component\Console\Input\InputDefinition; +``` + +
    Gets the InputDefinition related to this Application.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Input\InputDefinition + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getHelp(): string; +``` + +
    Gets the help message.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getHelperSet(): \Symfony\Component\Console\Helper\HelperSet; +``` + +
    Get the helper set associated with the command.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Helper\HelperSet + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getLongVersion(): string; +``` + +
    Returns the long version of the application.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getName(): string; +``` + +
    Gets the name of the application.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getNamespaces(): array; +``` + +
    Returns an array of all unique namespaces used by currently registered commands.
    + +Parameters: not specified + +Return value: array + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getSignalRegistry(): \Symfony\Component\Console\SignalRegistry\SignalRegistry; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Console\SignalRegistry\SignalRegistry + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function getVersion(): string; +``` + +
    Gets the application version.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function has(string $name): bool; +``` + +
    Returns true if the command exists, false otherwise.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function isAutoExitEnabled(): bool; +``` + +
    Gets whether to automatically exit after a command execution or not.
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + +
      +
    • # + isSingleCommand + :warning: Is internal | source code
    • +
    + +```php +// Implemented in Symfony\Component\Console\Application + +public function isSingleCommand(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function register(string $name): \Symfony\Component\Console\Command\Command; +``` + +
    Registers a new command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: \Symfony\Component\Console\Command\Command + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function renderThrowable(\Throwable $e, \Symfony\Component\Console\Output\OutputInterface $output): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eThrowable-
    $outputSymfony\Component\Console\Output\OutputInterface-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function reset(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function run(\Symfony\Component\Console\Input\InputInterface|null $input = NULL, \Symfony\Component\Console\Output\OutputInterface|null $output = NULL): int; +``` + +
    Runs the current application.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $inputSymfony\Component\Console\Input\InputInterface | null-
    $outputSymfony\Component\Console\Output\OutputInterface | null-
    + +Return value: int + + +Throws: +
      +
    • + \Exception - When running fails. Bypass this when {@link setCatchExceptions()}.
    • + +
    + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setAutoExit(bool $boolean): mixed; +``` + +
    Sets whether to automatically exit after a command execution or not.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $booleanbool-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setCatchExceptions(bool $boolean): mixed; +``` + +
    Sets whether to catch exceptions or not during commands execution.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $booleanbool-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setCommandLoader(\Symfony\Component\Console\CommandLoader\CommandLoaderInterface $commandLoader): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $commandLoaderSymfony\Component\Console\CommandLoader\CommandLoaderInterface-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setDefaultCommand(string $commandName, bool $isSingleCommand = false): static; +``` + +
    Sets the default Command name.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $commandNamestring-
    $isSingleCommandbool-
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setDefinition(\Symfony\Component\Console\Input\InputDefinition $definition): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $definitionSymfony\Component\Console\Input\InputDefinition-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setDispatcher(\Symfony\Contracts\EventDispatcher\EventDispatcherInterface $dispatcher): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $dispatcher\Symfony\Contracts\EventDispatcher\EventDispatcherInterface-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setHelperSet(\Symfony\Component\Console\Helper\HelperSet $helperSet): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $helperSetSymfony\Component\Console\Helper\HelperSet-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setName(string $name): mixed; +``` + +
    Sets the application name.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setSignalsToDispatchEvent(int $signalsToDispatchEvent): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $signalsToDispatchEventint-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Application + +public function setVersion(string $version): mixed; +``` + +
    Sets the application version.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $versionstring-
    + +Return value: mixed + + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/classes/ArgvValueResolver.md b/docs/tech/classes/ArgvValueResolver.md index 5899bafc..c6056755 100644 --- a/docs/tech/classes/ArgvValueResolver.md +++ b/docs/tech/classes/ArgvValueResolver.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ArgvValueResolver

    - ArgvValueResolver class: + ArgvValueResolver class:

    @@ -58,7 +58,7 @@ output_dir: "%argv:3%/docs" ```php @@ -80,7 +80,7 @@ public function resolveValue(\BumbleDocGen\Core\Configuration\ConfigurationParam $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - diff --git a/docs/tech/classes/AsyncSourceLocator.md b/docs/tech/classes/AsyncSourceLocator.md index 12cf6f9b..8ae032e3 100644 --- a/docs/tech/classes/AsyncSourceLocator.md +++ b/docs/tech/classes/AsyncSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / AsyncSourceLocator

    - AsyncSourceLocator class: + AsyncSourceLocator class:

    @@ -54,7 +54,7 @@ final class AsyncSourceLocator implements \BumbleDocGen\Core\Parser\SourceLocato ```php @@ -76,7 +76,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -101,7 +101,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache ```php @@ -122,7 +122,7 @@ public function getFinder(): \Symfony\Component\Finder\Finder|null; ```php diff --git a/docs/tech/classes/BaseEntity.md b/docs/tech/classes/BaseEntity.md index 2d449ee0..e1ace40f 100644 --- a/docs/tech/classes/BaseEntity.md +++ b/docs/tech/classes/BaseEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BaseEntity

    - BaseEntity class: + BaseEntity class:

    @@ -71,6 +71,9 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach
  • getImplementingReflectionClass
  • +
  • + getName +
  • getObjectId - Get entity unique ID
  • @@ -80,6 +83,9 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach
  • getRootEntityCollection - Get parent collection of entities
  • +
  • + getShortName +
  • getStartLine
  • @@ -98,6 +104,9 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach
  • isDeprecated
  • +
  • + isEntityDataCacheOutdated +
  • isEntityFileCanBeLoad
  • @@ -107,12 +116,15 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach
  • reloadEntityDependenciesCache
  • +
  • + removeNotUsedEntityDataCache +
  • Traits:

    @@ -127,7 +139,7 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach ```php @@ -158,7 +170,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -186,7 +198,7 @@ public function getAbsoluteFileName(): string|null; ```php @@ -207,7 +219,7 @@ public function getCacheKey(): string; ```php @@ -235,7 +247,7 @@ public function getCachedEntityDependencies(): array; ```php @@ -256,7 +268,7 @@ public function getDescription(): string; ```php @@ -287,7 +299,7 @@ public function getDescriptionLinks(): array; ```php @@ -308,7 +320,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -339,7 +351,7 @@ public function getDocComment(): string; ```php @@ -350,7 +362,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity @@ -360,7 +372,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -381,7 +393,7 @@ public function getDocNote(): string; ```php @@ -402,7 +414,7 @@ public function getExamples(): array; ```php @@ -423,7 +435,7 @@ public function getFileName(): string|null; ```php @@ -468,7 +480,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -489,7 +501,7 @@ public function getFirstExample(): string; ```php @@ -503,6 +515,29 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec Return value: \Roave\BetterReflection\Reflection\ReflectionClass + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -510,7 +545,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -531,7 +566,7 @@ public function getObjectId(): string; ```php @@ -542,7 +577,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -552,7 +587,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -563,7 +598,30 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string
    @@ -573,7 +631,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -594,7 +652,7 @@ public function getStartLine(): int; ```php @@ -625,7 +683,7 @@ public function getThrows(): array; ```php @@ -653,7 +711,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -674,7 +732,7 @@ public function hasExamples(): bool; ```php @@ -695,7 +753,7 @@ public function hasThrows(): bool; ```php @@ -709,6 +767,36 @@ public function isDeprecated(): bool; Return value: bool + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + +

    @@ -716,7 +804,7 @@ public function isDeprecated(): bool; ```php @@ -747,7 +835,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -768,7 +856,7 @@ public function isInternal(): bool; ```php @@ -777,6 +865,36 @@ public function reloadEntityDependenciesCache(): void; +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + Parameters: not specified Return value: void diff --git a/docs/tech/classes/BaseEntityCollection.md b/docs/tech/classes/BaseEntityCollection.md index cbcf214b..a83907c2 100644 --- a/docs/tech/classes/BaseEntityCollection.md +++ b/docs/tech/classes/BaseEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BaseEntityCollection

    - BaseEntityCollection class: + BaseEntityCollection class:

    @@ -56,7 +56,7 @@ abstract class BaseEntityCollection implements \IteratorAggregate, \Traversable ```php @@ -84,7 +84,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\Entity -Return value: \BumbleDocGen\Core\Parser\Entity\EntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\EntityInterface | null
    @@ -94,7 +94,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\Entity ```php @@ -128,7 +128,7 @@ public function getIterator(): \Generator; ```php @@ -166,7 +166,7 @@ public function has(string $objectName): bool; ```php @@ -187,7 +187,7 @@ public function isEmpty(): bool; ```php diff --git a/docs/tech/classes/BasePageLinkProcessor.md b/docs/tech/classes/BasePageLinkProcessor.md index 5784f6fa..ef011a6f 100644 --- a/docs/tech/classes/BasePageLinkProcessor.md +++ b/docs/tech/classes/BasePageLinkProcessor.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BasePageLinkProcessor

    - BasePageLinkProcessor class: + BasePageLinkProcessor class:

    @@ -51,7 +51,7 @@ class BasePageLinkProcessor implements \BumbleDocGen\Core\Renderer\PageLinkProce ```php @@ -73,7 +73,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -88,7 +88,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php diff --git a/docs/tech/classes/BasePageLinker.md b/docs/tech/classes/BasePageLinker.md index 0295fbd7..fdf9ac97 100644 --- a/docs/tech/classes/BasePageLinker.md +++ b/docs/tech/classes/BasePageLinker.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BasePageLinker

    - BasePageLinker class: + BasePageLinker class:

    @@ -54,7 +54,7 @@ abstract class BasePageLinker implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -76,17 +76,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -106,7 +106,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -128,7 +128,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B $event - \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile + \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile - @@ -160,7 +160,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B ```php diff --git a/docs/tech/classes/BasePhpStubberPlugin.md b/docs/tech/classes/BasePhpStubberPlugin.md index 47b8dc7f..e58c2f4b 100644 --- a/docs/tech/classes/BasePhpStubberPlugin.md +++ b/docs/tech/classes/BasePhpStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BasePhpStubberPlugin

    - BasePhpStubberPlugin class: + BasePhpStubberPlugin class:

    @@ -47,7 +47,7 @@ final class BasePhpStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInte ```php @@ -68,7 +68,7 @@ public static function getSubscribedEvents(): array; ```php @@ -90,7 +90,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/BaseSourceLocator.md b/docs/tech/classes/BaseSourceLocator.md index fcfa18a2..1fcc6e50 100644 --- a/docs/tech/classes/BaseSourceLocator.md +++ b/docs/tech/classes/BaseSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BaseSourceLocator

    - BaseSourceLocator class: + BaseSourceLocator class:

    @@ -51,7 +51,7 @@ abstract class BaseSourceLocator implements \BumbleDocGen\Core\Parser\SourceLoca ```php @@ -71,7 +71,7 @@ public function __construct(); ```php diff --git a/docs/tech/classes/BeforeCreatingDocFile.md b/docs/tech/classes/BeforeCreatingDocFile.md index 5e1e73b9..da9f2433 100644 --- a/docs/tech/classes/BeforeCreatingDocFile.md +++ b/docs/tech/classes/BeforeCreatingDocFile.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BeforeCreatingDocFile

    - BeforeCreatingDocFile class: + BeforeCreatingDocFile class:

    @@ -39,9 +39,15 @@ final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Eve
  • getContext
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • setContent
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Eve ```php @@ -84,7 +90,7 @@ public function __construct(string $content, \BumbleDocGen\Core\Renderer\Context $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - @@ -99,7 +105,7 @@ public function __construct(string $content, \BumbleDocGen\Core\Renderer\Context ```php @@ -120,7 +126,7 @@ public function getContent(): string; ```php @@ -131,7 +137,30 @@ public function getContext(): \BumbleDocGen\Core\Renderer\Context\RendererContex Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\RendererContext +Return value: \BumbleDocGen\Core\Renderer\Context\RendererContext + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool
    @@ -141,7 +170,7 @@ public function getContext(): \BumbleDocGen\Core\Renderer\Context\RendererContex ```php @@ -172,6 +201,29 @@ public function setContent(string $content): void; Return value: void + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/classes/BreadcrumbsHelper.md b/docs/tech/classes/BreadcrumbsHelper.md index df821031..abe8cc46 100644 --- a/docs/tech/classes/BreadcrumbsHelper.md +++ b/docs/tech/classes/BreadcrumbsHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BreadcrumbsHelper

    - BreadcrumbsHelper class: + BreadcrumbsHelper class:

    @@ -67,7 +67,7 @@ final class BreadcrumbsHelper @@ -82,7 +82,7 @@ final class BreadcrumbsHelper ```php @@ -104,17 +104,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $breadcrumbsTwig - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsTwigEnvironment + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsTwigEnvironment - @@ -134,7 +134,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -168,7 +168,7 @@ public function getAllPageLinks(): array; ```php @@ -224,7 +224,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -280,7 +280,7 @@ public function getBreadcrumbsForTemplates(string $templateFilePatch, bool $from ```php @@ -331,7 +331,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -382,7 +382,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -433,7 +433,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -478,7 +478,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -534,7 +534,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php diff --git a/docs/tech/classes/BreadcrumbsTwigEnvironment.md b/docs/tech/classes/BreadcrumbsTwigEnvironment.md index bb560946..a3517bf1 100644 --- a/docs/tech/classes/BreadcrumbsTwigEnvironment.md +++ b/docs/tech/classes/BreadcrumbsTwigEnvironment.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BreadcrumbsTwigEnvironment

    - BreadcrumbsTwigEnvironment class: + BreadcrumbsTwigEnvironment class:

    @@ -51,7 +51,7 @@ final class BreadcrumbsTwigEnvironment ```php @@ -71,7 +71,7 @@ public function __construct(); ```php diff --git a/docs/tech/classes/CacheKeyGeneratorInterface.md b/docs/tech/classes/CacheKeyGeneratorInterface.md index e338aba7..b6bf5761 100644 --- a/docs/tech/classes/CacheKeyGeneratorInterface.md +++ b/docs/tech/classes/CacheKeyGeneratorInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheKeyGeneratorInterface

    - CacheKeyGeneratorInterface class: + CacheKeyGeneratorInterface class:

    @@ -44,7 +44,7 @@ interface CacheKeyGeneratorInterface ```php @@ -71,7 +71,7 @@ public static function generateKey(string $cacheNamespace, \BumbleDocGen\Core\Pa $entity - \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface + \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface - diff --git a/docs/tech/classes/CacheableEntityInterface.md b/docs/tech/classes/CacheableEntityInterface.md index 0fa595da..af047024 100644 --- a/docs/tech/classes/CacheableEntityInterface.md +++ b/docs/tech/classes/CacheableEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheableEntityInterface

    - CacheableEntityInterface class: + CacheableEntityInterface class:

    @@ -62,7 +62,7 @@ interface CacheableEntityInterface ```php @@ -83,7 +83,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -104,7 +104,7 @@ public function getCacheKey(): string; ```php @@ -125,7 +125,7 @@ public function getObjectId(): string; ```php @@ -146,7 +146,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -167,7 +167,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -188,7 +188,7 @@ public function reloadEntityDependenciesCache(): void; ```php diff --git a/docs/tech/classes/CacheableEntityTrait.md b/docs/tech/classes/CacheableEntityTrait.md index 11834b38..6daaac89 100644 --- a/docs/tech/classes/CacheableEntityTrait.md +++ b/docs/tech/classes/CacheableEntityTrait.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheableEntityTrait

    - CacheableEntityTrait class: + CacheableEntityTrait class:

    @@ -53,7 +53,7 @@ trait CacheableEntityTrait ```php @@ -74,7 +74,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -95,7 +95,7 @@ public function getCacheKey(): string; ```php @@ -123,7 +123,7 @@ public function isEntityDataCacheOutdated(): bool; ```php diff --git a/docs/tech/classes/CacheableEntityWrapperFactory.md b/docs/tech/classes/CacheableEntityWrapperFactory.md index 1992e144..228e3d2d 100644 --- a/docs/tech/classes/CacheableEntityWrapperFactory.md +++ b/docs/tech/classes/CacheableEntityWrapperFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheableEntityWrapperFactory

    - CacheableEntityWrapperFactory class: + CacheableEntityWrapperFactory class:

    @@ -51,7 +51,7 @@ final class CacheableEntityWrapperFactory ```php @@ -73,7 +73,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -88,7 +88,7 @@ public function __construct(\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache ```php diff --git a/docs/tech/classes/CacheableEntityWrapperTrait.md b/docs/tech/classes/CacheableEntityWrapperTrait.md index 48d7b6c6..011e0394 100644 --- a/docs/tech/classes/CacheableEntityWrapperTrait.md +++ b/docs/tech/classes/CacheableEntityWrapperTrait.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheableEntityWrapperTrait

    - CacheableEntityWrapperTrait class: + CacheableEntityWrapperTrait class:

    @@ -26,15 +26,27 @@ trait CacheableEntityWrapperTrait

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getCacheKey +
    4. +
    5. + isEntityDataCacheOutdated +
    6. isEntityFileCanBeLoad
    7. +
    8. + removeNotUsedEntityDataCache +

    Traits:

    @@ -46,10 +58,86 @@ trait CacheableEntityWrapperTrait
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + ```php @@ -63,6 +151,36 @@ public function isEntityFileCanBeLoad(): bool; Return value: bool +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/classes/CacheableMethod.md b/docs/tech/classes/CacheableMethod.md index de2930a7..b2481805 100644 --- a/docs/tech/classes/CacheableMethod.md +++ b/docs/tech/classes/CacheableMethod.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheableMethod

    - CacheableMethod class: + CacheableMethod class:

    @@ -46,15 +46,15 @@ final class CacheableMethod @@ -69,7 +69,7 @@ final class CacheableMethod ```php @@ -111,7 +111,7 @@ public function __construct(int $cacheSeconds = \BumbleDocGen\Core\Parser\Entity ```php @@ -132,7 +132,7 @@ public function getCacheKeyGeneratorClass(): string; ```php diff --git a/docs/tech/classes/CacheablePhpEntityFactory.md b/docs/tech/classes/CacheablePhpEntityFactory.md index 42e4004b..c8e1608d 100644 --- a/docs/tech/classes/CacheablePhpEntityFactory.md +++ b/docs/tech/classes/CacheablePhpEntityFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CacheablePhpEntityFactory

    - CacheablePhpEntityFactory class: + CacheablePhpEntityFactory class:

    @@ -72,7 +72,7 @@ final class CacheablePhpEntityFactory ```php @@ -94,22 +94,22 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\Cache\CacheableEnti $cacheableEntityWrapperFactory - \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityWrapperFactory + \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityWrapperFactory - $reflector - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -129,7 +129,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\Cache\CacheableEnti ```php @@ -151,7 +151,7 @@ public function createClassEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Entit $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -167,7 +167,7 @@ public function createClassEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Entit -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -187,7 +187,7 @@ public function createClassEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Entit ```php @@ -214,13 +214,13 @@ public function createClassEntityByReflection(\Roave\BetterReflection\Reflection $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -243,7 +243,7 @@ public function createClassEntityByReflection(\Roave\BetterReflection\Reflection ```php @@ -265,7 +265,7 @@ public function createConstantEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -291,7 +291,7 @@ public function createConstantEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity Throws: @@ -311,7 +311,7 @@ public function createConstantEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -333,7 +333,7 @@ public function createDynamicMethodEntity(\BumbleDocGen\LanguageHandler\Php\Pars $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -344,7 +344,7 @@ public function createDynamicMethodEntity(\BumbleDocGen\LanguageHandler\Php\Pars -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\DynamicMethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\DynamicMethodEntity Throws: @@ -364,7 +364,7 @@ public function createDynamicMethodEntity(\BumbleDocGen\LanguageHandler\Php\Pars ```php @@ -386,7 +386,7 @@ public function createMethodEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Enti $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -407,7 +407,7 @@ public function createMethodEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Enti -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity Throws: @@ -427,7 +427,7 @@ public function createMethodEntity(\BumbleDocGen\LanguageHandler\Php\Parser\Enti ```php @@ -449,7 +449,7 @@ public function createPropertyEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -470,7 +470,7 @@ public function createPropertyEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity Throws: @@ -490,7 +490,7 @@ public function createPropertyEntity(\BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -517,7 +517,7 @@ public function createSubClassEntity(string $subClassEntity, \BumbleDocGen\Langu $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -533,7 +533,7 @@ public function createSubClassEntity(string $subClassEntity, \BumbleDocGen\Langu -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -553,7 +553,7 @@ public function createSubClassEntity(string $subClassEntity, \BumbleDocGen\Langu ```php @@ -585,13 +585,13 @@ public function createSubClassEntityByReflection(string $subClassEntity, \Roave\ $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: diff --git a/docs/tech/classes/CachedSourceLocator.md b/docs/tech/classes/CachedSourceLocator.md index e75a1166..1b6be900 100644 --- a/docs/tech/classes/CachedSourceLocator.md +++ b/docs/tech/classes/CachedSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CachedSourceLocator

    - CachedSourceLocator class: + CachedSourceLocator class:

    @@ -54,7 +54,7 @@ final class CachedSourceLocator implements \Roave\BetterReflection\SourceLocator ```php @@ -81,12 +81,12 @@ public function __construct(\Roave\BetterReflection\SourceLocator\Type\SourceLoc $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $cache - \BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool + \BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool - @@ -101,7 +101,7 @@ public function __construct(\Roave\BetterReflection\SourceLocator\Type\SourceLoc ```php @@ -154,7 +154,7 @@ public function locateIdentifier(\Roave\BetterReflection\Reflector\Reflector $re ```php diff --git a/docs/tech/classes/ClassEntity.md b/docs/tech/classes/ClassEntity.md index d127a8c4..7bf0ff44 100644 --- a/docs/tech/classes/ClassEntity.md +++ b/docs/tech/classes/ClassEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ClassEntity

    - ClassEntity class: + ClassEntity class:

    @@ -39,9 +39,21 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • documentCreationAllowed
  • +
  • + entityCacheIsOutdated +
  • entityDataCanBeLoaded
  • +
  • + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
  • +
  • + getCacheKey +
  • +
  • + getCachedEntityDependencies +
  • getCasesNames
  • @@ -63,12 +75,21 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getDescription
  • +
  • + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
  • getDocBlock
  • +
  • + getDocComment + - Get the doc comment of an entity
  • getDocCommentEntity
  • +
  • + getDocNote +
  • getDocRender
  • @@ -78,6 +99,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getEntityDependencies
  • +
  • + getExamples + - Get parsed examples from `examples` doc block
  • getExtends
  • @@ -87,6 +111,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getFileName - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
  • +
  • + getFileSourceLink +
  • +
  • + getFirstExample + - Get first example from @examples doc block
  • getFullFileName
  • @@ -162,6 +192,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • getStartLine
  • +
  • + getThrows + - Get parsed throws from `throws` doc block
  • getTraitsNames
  • @@ -171,6 +204,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • hasConstant
  • +
  • + hasDescriptionLinks +
  • +
  • + hasExamples +
  • hasMethod
  • @@ -180,6 +219,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • hasProperty
  • +
  • + hasThrows +
  • hasTraits
  • @@ -189,6 +231,15 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • isClassLoad
  • +
  • + isDeprecated +
  • +
  • + isEntityDataCacheOutdated +
  • +
  • + isEntityFileCanBeLoad +
  • isEntityNameValid - Check if entity name is valid
  • @@ -204,6 +255,9 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • isInterface
  • +
  • + isInternal +
  • isSubclassOf
  • @@ -213,6 +267,12 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn
  • loadPluginData
  • +
  • + reloadEntityDependenciesCache +
  • +
  • + removeNotUsedEntityDataCache +
  • setReflectionClass
  • @@ -231,7 +291,7 @@ class ClassEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEn ```php @@ -253,32 +313,32 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $reflector - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper - $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -308,7 +368,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -367,7 +427,7 @@ public function cursorToDocAttributeLinkFragment(string $cursor, bool $isForDocu ```php @@ -395,10 +455,43 @@ public function documentCreationAllowed(): bool;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + ```php @@ -426,10 +519,93 @@ public function entityDataCanBeLoaded(): bool;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -460,7 +636,7 @@ public function getCasesNames(): array; ```php @@ -508,7 +684,7 @@ public function getConstant(string $name): string|array|int|bool|null|float; ```php @@ -541,7 +717,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null Throws: @@ -567,7 +743,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B ```php @@ -578,7 +754,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection Throws: @@ -604,7 +780,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -635,7 +811,7 @@ public function getConstants(): array; ```php @@ -666,7 +842,7 @@ public function getConstantsData(): array; ```php @@ -700,10 +876,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -737,10 +946,43 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + ```php @@ -751,7 +993,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -770,6 +1012,29 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -777,7 +1042,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -788,7 +1053,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface Throws: @@ -808,7 +1073,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -839,7 +1104,7 @@ public function getEndLine(): int; ```php @@ -853,6 +1118,29 @@ public function getEntityDependencies(): array; Return value: array +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -860,7 +1148,7 @@ public function getEntityDependencies(): array; ```php @@ -891,7 +1179,7 @@ public function getExtends(): string|null; ```php @@ -919,7 +1207,7 @@ public function getFileContent(): string; ```php @@ -933,6 +1221,76 @@ public function getFileName(): string|null; Return value: string | null +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -940,7 +1298,7 @@ public function getFileName(): string|null; ```php @@ -971,7 +1329,7 @@ public function getFullFileName(): string|null; ```php @@ -1002,7 +1360,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -1033,7 +1391,7 @@ public function getInterfaceNames(): array; ```php @@ -1064,7 +1422,7 @@ public function getInterfacesEntities(): array; ```php @@ -1095,7 +1453,7 @@ public function getInterfacesString(): string; ```php @@ -1128,7 +1486,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: @@ -1154,7 +1512,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl ```php @@ -1165,7 +1523,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection Throws: @@ -1191,7 +1549,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -1222,7 +1580,7 @@ public function getMethodsData(): array; ```php @@ -1253,7 +1611,7 @@ public function getModifiersString(): string; ```php @@ -1274,7 +1632,7 @@ public function getName(): string; ```php @@ -1305,7 +1663,7 @@ public function getNamespaceName(): string; ```php @@ -1326,7 +1684,7 @@ public function getObjectId(): string; ```php @@ -1337,7 +1695,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null Throws: @@ -1357,7 +1715,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit ```php @@ -1388,7 +1746,7 @@ public function getParentClassName(): string|null; ```php @@ -1419,7 +1777,7 @@ public function getParentClassNames(): array; ```php @@ -1430,7 +1788,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -1440,7 +1798,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -1478,7 +1836,7 @@ public function getPluginData(string $pluginKey): array|null; ```php @@ -1509,7 +1867,7 @@ public function getPropertiesData(): array; ```php @@ -1542,7 +1900,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null Throws: @@ -1568,7 +1926,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B ```php @@ -1579,7 +1937,7 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection Throws: @@ -1605,7 +1963,7 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -1616,7 +1974,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper
    @@ -1626,7 +1984,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -1674,7 +2032,7 @@ public function getRelativeFileName(bool $loadIfEmpty = true): string|null; ```php @@ -1685,7 +2043,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection
    @@ -1695,7 +2053,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1716,7 +2074,7 @@ public function getShortName(): string; ```php @@ -1730,6 +2088,39 @@ public function getStartLine(): int; Return value: int +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + Throws:
    • @@ -1747,7 +2138,7 @@ public function getStartLine(): int; ```php @@ -1778,7 +2169,7 @@ public function getTraitsNames(): array; ```php @@ -1816,7 +2207,7 @@ public function hasAnnotationKey(string $annotationKey): bool; ```php @@ -1857,6 +2248,59 @@ public function hasConstant(string $constant): bool;
    +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1864,7 +2308,7 @@ public function hasConstant(string $constant): bool; ```php @@ -1912,7 +2356,7 @@ public function hasMethod(string $method): bool; ```php @@ -1960,7 +2404,7 @@ public function hasParentClass(string $parentClassName): bool; ```php @@ -2001,6 +2445,29 @@ public function hasProperty(string $property): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -2008,7 +2475,7 @@ public function hasProperty(string $property): bool; ```php @@ -2039,7 +2506,7 @@ public function hasTraits(): bool; ```php @@ -2087,7 +2554,7 @@ public function implementsInterface(string $interfaceName): bool; ```php @@ -2101,6 +2568,92 @@ public function isClassLoad(): bool; Return value: bool +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + +

    @@ -2108,7 +2661,7 @@ public function isClassLoad(): bool; ```php @@ -2146,7 +2699,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php @@ -2177,7 +2730,7 @@ public function isEnum(): bool; ```php @@ -2208,7 +2761,7 @@ public function isInGit(): bool; ```php @@ -2239,7 +2792,7 @@ public function isInstantiable(): bool; ```php @@ -2263,6 +2816,29 @@ public function isInterface(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -2270,7 +2846,7 @@ public function isInterface(): bool; ```php @@ -2318,7 +2894,7 @@ public function isSubclassOf(string $className): bool; ```php @@ -2349,7 +2925,7 @@ public function isTrait(): bool; ```php @@ -2385,6 +2961,66 @@ public function loadPluginData(string $pluginKey, array $data): void; Return value: void +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    @@ -2392,7 +3028,7 @@ public function loadPluginData(string $pluginKey, array $data): void; ```php diff --git a/docs/tech/classes/ClassEntityCollection.md b/docs/tech/classes/ClassEntityCollection.md index f0e332c2..f29296f8 100644 --- a/docs/tech/classes/ClassEntityCollection.md +++ b/docs/tech/classes/ClassEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ClassEntityCollection

    - ClassEntityCollection class: + ClassEntityCollection class:

    @@ -36,6 +36,9 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • add
  • +
  • + clearOperationsLogCollection +
  • filterByInterfaces
  • @@ -48,6 +51,12 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • filterByPaths
  • +
  • + findEntity +
  • +
  • + get +
  • getEntityByClassName
  • @@ -57,24 +66,45 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + getLoadedOrCreateNew +
  • getOnlyInstantiable
  • getOnlyInterfaces
  • +
  • + getOperationsLogCollection +
  • getPluginEventDispatcher
  • +
  • + has +
  • internalFindEntity
  • internalGetLoadedOrCreateNew
  • +
  • + isEmpty +
  • loadClassEntities
  • +
  • + remove +
  • +
  • + updateEntitiesCache +
  • @@ -82,7 +112,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga @@ -97,7 +127,7 @@ final class ClassEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Logga ```php @@ -119,42 +149,42 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - $docRendererHelper - \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper + \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\EntityDocRendererHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $progressBarFactory - \BumbleDocGen\Core\Console\ProgressBarFactory + \BumbleDocGen\Core\Console\ProgressBarFactory - @@ -179,7 +209,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -201,7 +231,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -212,7 +242,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -225,6 +255,29 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function clearOperationsLogCollection(): void; +``` + + + +Parameters: not specified + +Return value: void + +

    @@ -232,7 +285,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity ```php @@ -260,7 +313,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -280,7 +333,7 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan ```php @@ -308,7 +361,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -328,7 +381,7 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG ```php @@ -356,7 +409,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -376,7 +429,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen ```php @@ -404,7 +457,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -417,6 +470,91 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $searchstring-
    $useUnsafeKeysbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + +

    @@ -424,7 +562,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -457,7 +595,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null
    @@ -467,7 +605,7 @@ public function getEntityByClassName(string $className, bool $createIfNotExists ```php @@ -488,7 +626,7 @@ public function getEntityCollectionName(): string; ```php @@ -534,10 +672,97 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntityToCollectionEvent = false): \BumbleDocGen\Core\Parser\Entity\RootEntityInterface; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    $withAddClassEntityToCollectionEventbool-
    + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +See: + +
    +
    +
    + ```php @@ -548,7 +773,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -568,7 +793,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -579,7 +804,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection Throws: @@ -592,6 +817,29 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\LoggableRootEntityCollection + +public function getOperationsLogCollection(): \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + +

    @@ -599,7 +847,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -610,7 +858,47 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher +Return value: \BumbleDocGen\Core\Plugin\PluginEventDispatcher + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool
    @@ -620,7 +908,7 @@ public function getPluginEventDispatcher(): \BumbleDocGen\Core\Plugin\PluginEven ```php @@ -655,7 +943,7 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity | null @@ -680,7 +968,7 @@ $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-ge ```php @@ -713,7 +1001,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -726,6 +1014,29 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -733,7 +1044,7 @@ public function internalGetLoadedOrCreateNew(string $objectName, bool $withAddCl ```php @@ -763,6 +1074,76 @@ public function loadClassEntities(): void; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function updateEntitiesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/classes/CloneOperation.md b/docs/tech/classes/CloneOperation.md index 4b551ecc..da5321d6 100644 --- a/docs/tech/classes/CloneOperation.md +++ b/docs/tech/classes/CloneOperation.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CloneOperation

    - CloneOperation class: + CloneOperation class:

    @@ -60,7 +60,7 @@ final class CloneOperation implements \BumbleDocGen\Core\Parser\Entity\Collectio ```php @@ -92,7 +92,7 @@ public function __construct(string $functionName, array $args, \BumbleDocGen\Cor $operationsCollection - \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection - @@ -107,7 +107,7 @@ public function __construct(string $functionName, array $args, \BumbleDocGen\Cor ```php @@ -129,13 +129,13 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -145,7 +145,7 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root ```php @@ -166,7 +166,7 @@ public function getKey(): string; ```php @@ -177,7 +177,7 @@ public function getOperationsCollection(): \BumbleDocGen\Core\Parser\Entity\Coll Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection @@ -187,7 +187,7 @@ public function getOperationsCollection(): \BumbleDocGen\Core\Parser\Entity\Coll ```php diff --git a/docs/tech/classes/ComposerStubberPlugin.md b/docs/tech/classes/ComposerStubberPlugin.md index 663b48aa..e1a05fbe 100644 --- a/docs/tech/classes/ComposerStubberPlugin.md +++ b/docs/tech/classes/ComposerStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ComposerStubberPlugin

    - ComposerStubberPlugin class: + ComposerStubberPlugin class:

    @@ -50,7 +50,7 @@ final class ComposerStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInt ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/ConditionGroup.md b/docs/tech/classes/ConditionGroup.md index 36a6a316..5b2dc617 100644 --- a/docs/tech/classes/ConditionGroup.md +++ b/docs/tech/classes/ConditionGroup.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConditionGroup

    - ConditionGroup class: + ConditionGroup class:

    @@ -52,7 +52,7 @@ In the case of OR, it is enough to successfully check at least one condition, in ```php @@ -79,7 +79,7 @@ public function __construct(string $groupType, \BumbleDocGen\Core\Parser\FilterC $conditions - \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface + \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface - @@ -94,7 +94,7 @@ public function __construct(string $groupType, \BumbleDocGen\Core\Parser\FilterC ```php @@ -116,7 +116,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/ConditionGroupTypeEnum.md b/docs/tech/classes/ConditionGroupTypeEnum.md index 43e93d46..ea5a880e 100644 --- a/docs/tech/classes/ConditionGroupTypeEnum.md +++ b/docs/tech/classes/ConditionGroupTypeEnum.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConditionGroupTypeEnum

    - ConditionGroupTypeEnum class: + ConditionGroupTypeEnum class:

    @@ -29,11 +29,11 @@ final class ConditionGroupTypeEnum diff --git a/docs/tech/classes/ConditionInterface.md b/docs/tech/classes/ConditionInterface.md index 8db57252..560743f7 100644 --- a/docs/tech/classes/ConditionInterface.md +++ b/docs/tech/classes/ConditionInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConditionInterface

    - ConditionInterface class: + ConditionInterface class:

    @@ -44,7 +44,7 @@ interface ConditionInterface ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/Configuration.md b/docs/tech/classes/Configuration.md index 869d16be..08058fe0 100644 --- a/docs/tech/classes/Configuration.md +++ b/docs/tech/classes/Configuration.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / Configuration

    - Configuration class: + Configuration class:

    @@ -88,7 +88,7 @@ final class Configuration @@ -103,7 +103,7 @@ final class Configuration ```php @@ -125,12 +125,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -150,7 +150,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -178,7 +178,7 @@ public function getCacheDir(): string|null; ```php @@ -199,7 +199,7 @@ public function getDocGenLibDir(): string; ```php @@ -227,7 +227,7 @@ public function getGitClientPath(): string; ```php @@ -238,7 +238,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection Throws: @@ -261,7 +261,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L ```php @@ -289,7 +289,7 @@ public function getOutputDir(): string; ```php @@ -317,7 +317,7 @@ public function getOutputDirBaseUrl(): string; ```php @@ -328,7 +328,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface +Return value: \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface Throws: @@ -351,7 +351,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc ```php @@ -362,7 +362,7 @@ public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; Parameters: not specified -Return value: \BumbleDocGen\Core\Plugin\PluginsCollection +Return value: \BumbleDocGen\Core\Plugin\PluginsCollection Throws: @@ -385,7 +385,7 @@ public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; ```php @@ -413,7 +413,7 @@ public function getProjectRoot(): string; ```php @@ -424,7 +424,7 @@ public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\Sou Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection Throws: @@ -447,7 +447,7 @@ public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\Sou ```php @@ -475,7 +475,7 @@ public function getTemplatesDir(): string; ```php @@ -486,7 +486,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection Throws: @@ -509,7 +509,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -520,7 +520,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection Throws: @@ -543,7 +543,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -571,7 +571,7 @@ public function getWorkingDir(): string; ```php @@ -599,7 +599,7 @@ public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; ```php diff --git a/docs/tech/classes/ConfigurationParameterBag.md b/docs/tech/classes/ConfigurationParameterBag.md index 8cb7b8ef..92ed6906 100644 --- a/docs/tech/classes/ConfigurationParameterBag.md +++ b/docs/tech/classes/ConfigurationParameterBag.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConfigurationParameterBag

    - ConfigurationParameterBag class: + ConfigurationParameterBag class:

    @@ -99,7 +99,7 @@ final class ConfigurationParameterBag ```php @@ -121,7 +121,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ValueTransformer\Va $valueToClassTransformer - \BumbleDocGen\Core\Configuration\ValueTransformer\ValueToClassTransformer + \BumbleDocGen\Core\Configuration\ValueTransformer\ValueToClassTransformer - @@ -141,7 +141,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ValueTransformer\Va ```php @@ -184,7 +184,7 @@ public function addValueFromFileIfNotExists(string $name, string $fileNames): vo ```php @@ -227,7 +227,7 @@ public function addValueIfNotExists(string $name, mixed $value): void; ```php @@ -277,7 +277,7 @@ public function get(string $name, bool $useResolvers = true): mixed; ```php @@ -315,7 +315,7 @@ public function getAll(bool $useResolvers = true): array; ```php @@ -353,7 +353,7 @@ public function getConfigValues(string $configurationFiles): array; ```php @@ -381,7 +381,7 @@ public function getSubConfigurationParameterBag(string $parentKey): \BumbleDocGe -Return value: \BumbleDocGen\Core\Configuration\ConfigurationParameterBag +Return value: \BumbleDocGen\Core\Configuration\ConfigurationParameterBag @@ -391,7 +391,7 @@ public function getSubConfigurationParameterBag(string $parentKey): \BumbleDocGe ```php @@ -429,7 +429,7 @@ public function has(mixed $name): bool; ```php @@ -467,7 +467,7 @@ public function loadFromArray(array $parameters): void; ```php @@ -505,7 +505,7 @@ public function loadFromFiles(string $fileNames): void; ```php @@ -543,7 +543,7 @@ public function resolveValue(mixed $value): mixed; ```php @@ -586,7 +586,7 @@ public function set(string $name, mixed $value): void; ```php @@ -631,7 +631,7 @@ public function validateAndGetBooleanValue(string $parameterName): bool; ```php @@ -692,7 +692,7 @@ public function validateAndGetClassListValue(string $parameterName, string $clas ```php @@ -748,7 +748,7 @@ public function validateAndGetClassValue(string $parameterName, string $classInt ```php @@ -798,7 +798,7 @@ public function validateAndGetDirectoryPathValue(string $parameterName, bool $nu ```php @@ -853,7 +853,7 @@ public function validateAndGetFilePathValue(string $parameterName, array $fileEx ```php diff --git a/docs/tech/classes/ConstantEntity.md b/docs/tech/classes/ConstantEntity.md index b954e75b..e2cab6f7 100644 --- a/docs/tech/classes/ConstantEntity.md +++ b/docs/tech/classes/ConstantEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConstantEntity

    - ConstantEntity class: + ConstantEntity class:

    @@ -33,21 +33,51 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. +
    5. + getCacheKey +
    6. +
    7. + getCachedEntityDependencies +
    8. getDescription
    9. +
    10. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    11. getDocBlock
    12. +
    13. + getDocComment + - Get the doc comment of an entity
    14. getDocCommentEntity
    15. +
    16. + getDocNote +
    17. getEndLine
    18. +
    19. + getExamples + - Get parsed examples from `examples` doc block
    20. getFileName
    21. +
    22. + getFileSourceLink +
    23. +
    24. + getFirstExample + - Get first example from @examples doc block
    25. getImplementingClass
    26. @@ -63,6 +93,9 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    27. getNamespaceName
    28. +
    29. + getObjectId + - Get entity unique ID
    30. getPhpHandlerSettings
    31. @@ -78,6 +111,30 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    32. getStartLine
    33. +
    34. + getThrows + - Get parsed throws from `throws` doc block
    35. +
    36. + hasDescriptionLinks +
    37. +
    38. + hasExamples +
    39. +
    40. + hasThrows +
    41. +
    42. + isDeprecated +
    43. +
    44. + isEntityDataCacheOutdated +
    45. +
    46. + isEntityFileCanBeLoad +
    47. +
    48. + isInternal +
    49. isPrivate
    50. @@ -87,6 +144,12 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    51. isPublic
    52. +
    53. + reloadEntityDependenciesCache +
    54. +
    55. + removeNotUsedEntityDataCache +
    @@ -102,7 +165,7 @@ class ConstantEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas ```php @@ -124,22 +187,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -167,6 +230,122 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + +

    @@ -174,7 +353,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -202,10 +381,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -219,6 +431,39 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; Return value: \phpDocumentor\Reflection\DocBlock +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + Throws:
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string
    @@ -257,7 +525,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -281,6 +549,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -288,7 +579,7 @@ public function getEndLine(): int; ```php @@ -312,6 +603,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -319,7 +680,7 @@ public function getFileName(): string|null; ```php @@ -330,7 +691,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -340,7 +701,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -361,7 +722,7 @@ public function getImplementingClassName(): string; ```php @@ -392,7 +753,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -413,7 +774,7 @@ public function getName(): string; ```php @@ -437,6 +798,29 @@ public function getNamespaceName(): string; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -444,7 +828,7 @@ public function getNamespaceName(): string; ```php @@ -455,7 +839,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -465,7 +849,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -476,7 +860,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -486,7 +870,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -497,7 +881,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -507,7 +891,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -528,7 +912,7 @@ public function getShortName(): string; ```php @@ -552,6 +936,224 @@ public function getStartLine(): int; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -559,7 +1161,7 @@ public function getStartLine(): int; ```php @@ -590,7 +1192,7 @@ public function isPrivate(): bool; ```php @@ -621,7 +1223,7 @@ public function isProtected(): bool; ```php @@ -645,6 +1247,66 @@ public function isPublic(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/classes/ConstantEntityCollection.md b/docs/tech/classes/ConstantEntityCollection.md index 57fdbe3b..13c8c83b 100644 --- a/docs/tech/classes/ConstantEntityCollection.md +++ b/docs/tech/classes/ConstantEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ConstantEntityCollection

    - ConstantEntityCollection class: + ConstantEntityCollection class:

    @@ -39,9 +39,21 @@ final class ConstantEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba
  • get
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadConstantEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -60,7 +72,7 @@ final class ConstantEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba ```php @@ -82,17 +94,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -107,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -129,7 +141,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti $constantEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity - @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntityCollection @@ -150,7 +162,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEnti ```php @@ -178,7 +190,106 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -188,7 +299,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -218,6 +329,46 @@ public function loadConstantEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -225,7 +376,7 @@ public function loadConstantEntities(): void; ```php @@ -253,7 +404,7 @@ public function unsafeGet(string $constantName): \BumbleDocGen\LanguageHandler\P -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ConstantEntity | null Throws: diff --git a/docs/tech/classes/CustomFilterInterface.md b/docs/tech/classes/CustomFilterInterface.md index e155f3b8..9a861b89 100644 --- a/docs/tech/classes/CustomFilterInterface.md +++ b/docs/tech/classes/CustomFilterInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CustomFilterInterface

    - CustomFilterInterface class: + CustomFilterInterface class:

    @@ -47,7 +47,7 @@ interface CustomFilterInterface ```php @@ -68,7 +68,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/CustomFiltersCollection.md b/docs/tech/classes/CustomFiltersCollection.md index 767e6264..b9aacc70 100644 --- a/docs/tech/classes/CustomFiltersCollection.md +++ b/docs/tech/classes/CustomFiltersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CustomFiltersCollection

    - CustomFiltersCollection class: + CustomFiltersCollection class:

    @@ -56,7 +56,7 @@ final class CustomFiltersCollection implements \IteratorAggregate, \Traversable ```php @@ -78,13 +78,13 @@ public function add(\BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterfac $filters - \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface + \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface - -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection
    @@ -94,7 +94,7 @@ public function add(\BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterfac ```php @@ -116,13 +116,13 @@ public static function create(\BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilt $filters - \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface + \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface - -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection @@ -132,7 +132,7 @@ public static function create(\BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilt ```php @@ -160,7 +160,7 @@ public function get(string $key): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface | null +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface | null @@ -170,7 +170,7 @@ public function get(string $key): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -204,7 +204,7 @@ public function getIterator(): \Generator; ```php diff --git a/docs/tech/classes/CustomFunctionInterface.md b/docs/tech/classes/CustomFunctionInterface.md index d2c8a2a7..e627257f 100644 --- a/docs/tech/classes/CustomFunctionInterface.md +++ b/docs/tech/classes/CustomFunctionInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CustomFunctionInterface

    - CustomFunctionInterface class: + CustomFunctionInterface class:

    @@ -47,7 +47,7 @@ interface CustomFunctionInterface ```php @@ -68,7 +68,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/CustomFunctionsCollection.md b/docs/tech/classes/CustomFunctionsCollection.md index f12510b1..b978f5db 100644 --- a/docs/tech/classes/CustomFunctionsCollection.md +++ b/docs/tech/classes/CustomFunctionsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CustomFunctionsCollection

    - CustomFunctionsCollection class: + CustomFunctionsCollection class:

    @@ -59,7 +59,7 @@ final class CustomFunctionsCollection implements \IteratorAggregate, \Traversabl ```php @@ -81,13 +81,13 @@ public function add(\BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInte $filters - \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface + \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface - -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection @@ -97,7 +97,7 @@ public function add(\BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInte ```php @@ -119,13 +119,13 @@ public static function create(\BumbleDocGen\Core\Renderer\Twig\Function\CustomFu $filters - \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface + \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface - -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection @@ -135,7 +135,7 @@ public static function create(\BumbleDocGen\Core\Renderer\Twig\Function\CustomFu ```php @@ -163,7 +163,7 @@ public function get(string $key): \BumbleDocGen\Core\Renderer\Twig\Function\Cust -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface | null +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface | null @@ -173,7 +173,7 @@ public function get(string $key): \BumbleDocGen\Core\Renderer\Twig\Function\Cust ```php @@ -207,7 +207,7 @@ public function getIterator(): \Generator; ```php @@ -228,7 +228,7 @@ public function getTwigFunctions(): \Generator; ```php diff --git a/docs/tech/classes/CustomSourceLocatorInterface.md b/docs/tech/classes/CustomSourceLocatorInterface.md index 5c41dcf3..a00bc014 100644 --- a/docs/tech/classes/CustomSourceLocatorInterface.md +++ b/docs/tech/classes/CustomSourceLocatorInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / CustomSourceLocatorInterface

    - CustomSourceLocatorInterface class: + CustomSourceLocatorInterface class:

    @@ -44,7 +44,7 @@ interface CustomSourceLocatorInterface ```php diff --git a/docs/tech/classes/DefaultCacheKeyGenerator.md b/docs/tech/classes/DefaultCacheKeyGenerator.md index 2a50ec1f..b1ae16e1 100644 --- a/docs/tech/classes/DefaultCacheKeyGenerator.md +++ b/docs/tech/classes/DefaultCacheKeyGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DefaultCacheKeyGenerator

    - DefaultCacheKeyGenerator class: + DefaultCacheKeyGenerator class:

    @@ -44,7 +44,7 @@ final class DefaultCacheKeyGenerator implements \BumbleDocGen\Core\Parser\Entity ```php @@ -71,7 +71,7 @@ public static function generateKey(string $cacheNamespace, \BumbleDocGen\Core\Pa $entity - \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface + \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface - diff --git a/docs/tech/classes/DirectoriesSourceLocator.md b/docs/tech/classes/DirectoriesSourceLocator.md index f5966a8f..55616c54 100644 --- a/docs/tech/classes/DirectoriesSourceLocator.md +++ b/docs/tech/classes/DirectoriesSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DirectoriesSourceLocator

    - DirectoriesSourceLocator class: + DirectoriesSourceLocator class:

    @@ -30,6 +30,13 @@ final class DirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoc +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class DirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoc ```php @@ -74,6 +81,29 @@ public function __construct(array $directories); + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/classes/DirectoryDependency.md b/docs/tech/classes/DirectoryDependency.md index 8dd92165..8ff7de00 100644 --- a/docs/tech/classes/DirectoryDependency.md +++ b/docs/tech/classes/DirectoryDependency.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DirectoryDependency

    - DirectoryDependency class: + DirectoryDependency class:

    @@ -54,7 +54,7 @@ final class DirectoryDependency implements \BumbleDocGen\Core\Renderer\Context\D ```php @@ -96,7 +96,7 @@ public function __construct(string $dirInternalLink, string $hash); ```php @@ -118,7 +118,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - @@ -129,7 +129,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render -Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\DirectoryDependency +Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\DirectoryDependency Throws: @@ -146,7 +146,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render ```php @@ -168,7 +168,7 @@ public function isChanged(\BumbleDocGen\Core\Renderer\RendererHelper $rendererHe $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - diff --git a/docs/tech/classes/DocGenerator.md b/docs/tech/classes/DocGenerator.md index bc5a25ad..0110dfc0 100644 --- a/docs/tech/classes/DocGenerator.md +++ b/docs/tech/classes/DocGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocGenerator

    - DocGenerator class: + DocGenerator class:

    @@ -55,11 +55,11 @@ final class DocGenerator @@ -74,7 +74,7 @@ final class DocGenerator ```php @@ -106,27 +106,27 @@ public function __construct(\Symfony\Component\Filesystem\Filesystem $fs, \Symfo $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $parser - \BumbleDocGen\Core\Parser\ProjectParser + \BumbleDocGen\Core\Parser\ProjectParser - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $renderer - \BumbleDocGen\Core\Renderer\Renderer + \BumbleDocGen\Core\Renderer\Renderer - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -146,7 +146,7 @@ public function __construct(\Symfony\Component\Filesystem\Filesystem $fs, \Symfo ```php @@ -186,7 +186,7 @@ public function addMissingDocBlocks(): void; ```php @@ -226,7 +226,7 @@ public function fillInReadmeMdTemplate(): void; ```php @@ -254,7 +254,7 @@ public function generate(): void; ```php @@ -294,7 +294,7 @@ public function generateProjectTemplatesStructure(): void; ```php @@ -305,7 +305,7 @@ public function parseAndGetRootEntityCollectionsGroup(): \BumbleDocGen\Core\Pars Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup Throws: diff --git a/docs/tech/classes/DocGeneratorFactory.md b/docs/tech/classes/DocGeneratorFactory.md index 2f13e801..3b4f7b81 100644 --- a/docs/tech/classes/DocGeneratorFactory.md +++ b/docs/tech/classes/DocGeneratorFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocGeneratorFactory

    - DocGeneratorFactory class: + DocGeneratorFactory class:

    @@ -54,11 +54,11 @@ final class DocGeneratorFactory ```php -public function __construct(string $diConfig = '/BumbleDocGen/di-config.php'); +public function __construct(string $diConfig = '/src/di-config.php'); ``` @@ -91,7 +91,7 @@ public function __construct(string $diConfig = '/BumbleDocGen/di-config.php'); ```php @@ -119,7 +119,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; -Return value: \BumbleDocGen\DocGenerator +Return value: \BumbleDocGen\DocGenerator Throws: @@ -142,7 +142,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; ```php diff --git a/docs/tech/classes/DocumentTransformableEntityInterface.md b/docs/tech/classes/DocumentTransformableEntityInterface.md index dcd0671e..e96eac40 100644 --- a/docs/tech/classes/DocumentTransformableEntityInterface.md +++ b/docs/tech/classes/DocumentTransformableEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocumentTransformableEntityInterface

    - DocumentTransformableEntityInterface class: + DocumentTransformableEntityInterface class:

    @@ -62,7 +62,7 @@ interface DocumentTransformableEntityInterface ```php @@ -105,7 +105,7 @@ public function cursorToDocAttributeLinkFragment(string $cursor, bool $isForDocu ```php @@ -126,7 +126,7 @@ public function documentCreationAllowed(): bool; ```php @@ -147,7 +147,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -158,7 +158,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -168,7 +168,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -189,7 +189,7 @@ public function getName(): string; ```php @@ -200,7 +200,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -210,7 +210,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root ```php diff --git a/docs/tech/classes/DocumentedEntityWrapper.md b/docs/tech/classes/DocumentedEntityWrapper.md index f95303cc..17be64ef 100644 --- a/docs/tech/classes/DocumentedEntityWrapper.md +++ b/docs/tech/classes/DocumentedEntityWrapper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocumentedEntityWrapper

    - DocumentedEntityWrapper class: + DocumentedEntityWrapper class:

    @@ -69,7 +69,7 @@ final class DocumentedEntityWrapper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor $documentTransformableEntity - \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface + \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface An entity that is allowed to be documented $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -116,7 +116,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransfor ```php @@ -127,7 +127,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface @@ -137,7 +137,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En ```php @@ -158,7 +158,7 @@ public function getDocUrl(): string; ```php @@ -169,7 +169,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface @@ -179,7 +179,7 @@ public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Co ```php @@ -200,7 +200,7 @@ public function getEntityName(): string; ```php @@ -221,7 +221,7 @@ public function getFileName(): string; ```php @@ -242,7 +242,7 @@ public function getInitiatorFilePath(): string; ```php diff --git a/docs/tech/classes/DocumentedEntityWrappersCollection.md b/docs/tech/classes/DocumentedEntityWrappersCollection.md index db322e7a..2df2d4a0 100644 --- a/docs/tech/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/classes/DocumentedEntityWrappersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,7 +60,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -129,7 +129,7 @@ public function count(): int; ```php @@ -151,13 +151,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper @@ -167,7 +167,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -188,7 +188,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/classes/DrawClassMap.md b/docs/tech/classes/DrawClassMap.md index 081b111e..76c3cb4e 100644 --- a/docs/tech/classes/DrawClassMap.md +++ b/docs/tech/classes/DrawClassMap.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DrawClassMap

    - DrawClassMap class: + DrawClassMap class:

    @@ -21,7 +21,7 @@ final class DrawClassMap implements \BumbleDocGen\Core\Renderer\Twig\Function\Cu Examples of using: ```php -{{ drawClassMap(classEntityCollection.filterByPaths(['/BumbleDocGen/Renderer'])) }} +{{ drawClassMap(classEntityCollection.filterByPaths(['/src/Renderer'])) }} ``` @@ -86,7 +86,7 @@ final class DrawClassMap implements \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -108,12 +108,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -128,7 +128,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -150,7 +150,7 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn $classEntityCollections - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection The collection of entities for which the class map will be generated @@ -182,7 +182,7 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn ```php @@ -230,7 +230,7 @@ public function convertDirectoryStructureToFormattedString(array $structure, str ```php @@ -252,7 +252,7 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E $classEntityCollections - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -284,7 +284,7 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E ```php @@ -305,7 +305,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/DrawDocumentationMenu.md b/docs/tech/classes/DrawDocumentationMenu.md index ec08e5e9..fcdc73e9 100644 --- a/docs/tech/classes/DrawDocumentationMenu.md +++ b/docs/tech/classes/DrawDocumentationMenu.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DrawDocumentationMenu

    - DrawDocumentationMenu class: + DrawDocumentationMenu class:

    @@ -97,7 +97,7 @@ See: ```php @@ -119,22 +119,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -149,7 +149,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -207,7 +207,7 @@ public function __invoke(string|null $startPageKey = NULL, int|null $maxDeep = N ```php @@ -228,7 +228,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/DrawDocumentedEntityLink.md b/docs/tech/classes/DrawDocumentedEntityLink.md index 6769edd2..a28196b1 100644 --- a/docs/tech/classes/DrawDocumentedEntityLink.md +++ b/docs/tech/classes/DrawDocumentedEntityLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DrawDocumentedEntityLink

    - DrawDocumentedEntityLink class: + DrawDocumentedEntityLink class:

    @@ -85,7 +85,7 @@ final class DrawDocumentedEntityLink implements \BumbleDocGen\Core\Renderer\Twig ```php @@ -107,7 +107,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -122,7 +122,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -144,7 +144,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we want to get the link @@ -186,7 +186,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e ```php @@ -207,7 +207,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/DynamicMethodEntity.md b/docs/tech/classes/DynamicMethodEntity.md index 9817939f..03af449a 100644 --- a/docs/tech/classes/DynamicMethodEntity.md +++ b/docs/tech/classes/DynamicMethodEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DynamicMethodEntity

    - DynamicMethodEntity class: + DynamicMethodEntity class:

    @@ -135,7 +135,7 @@ class DynamicMethodEntity implements \BumbleDocGen\LanguageHandler\Php\Parser\En ```php @@ -157,17 +157,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -187,7 +187,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -208,7 +208,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -236,7 +236,7 @@ public function getAbsoluteFileName(): string|null; ```php @@ -257,7 +257,7 @@ public function getBodyCode(): string; ```php @@ -268,7 +268,7 @@ public function getCallMethod(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity Throws: @@ -285,7 +285,7 @@ public function getCallMethod(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -306,7 +306,7 @@ public function getDescription(): string; ```php @@ -334,7 +334,7 @@ public function getEndLine(): int; ```php @@ -365,7 +365,7 @@ public function getFileName(): string|null; ```php @@ -386,7 +386,7 @@ public function getFirstReturnValue(): mixed; ```php @@ -397,7 +397,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -407,7 +407,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -435,7 +435,7 @@ public function getImplementingClassName(): string; ```php @@ -463,7 +463,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -484,7 +484,7 @@ public function getModifiersString(): string; ```php @@ -505,7 +505,7 @@ public function getName(): string; ```php @@ -536,7 +536,7 @@ public function getNamespaceName(): string; ```php @@ -557,7 +557,7 @@ public function getObjectId(): string; ```php @@ -578,7 +578,7 @@ public function getParameters(): array; ```php @@ -599,7 +599,7 @@ public function getParametersString(): string; ```php @@ -630,7 +630,7 @@ public function getReturnType(): string; ```php @@ -641,7 +641,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -651,7 +651,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -662,7 +662,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -672,7 +672,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root ```php @@ -693,7 +693,7 @@ public function getShortName(): string; ```php @@ -721,7 +721,7 @@ public function getStartColumn(): int; ```php @@ -749,7 +749,7 @@ public function getStartLine(): int; ```php @@ -770,7 +770,7 @@ public function isDynamic(): bool; ```php @@ -804,7 +804,7 @@ public function isInitialization(): bool; ```php @@ -825,7 +825,7 @@ public function isPrivate(): bool; ```php @@ -846,7 +846,7 @@ public function isProtected(): bool; ```php @@ -867,7 +867,7 @@ public function isPublic(): bool; ```php diff --git a/docs/tech/classes/EntityCacheItemPool.md b/docs/tech/classes/EntityCacheItemPool.md index b09413f7..d93db79e 100644 --- a/docs/tech/classes/EntityCacheItemPool.md +++ b/docs/tech/classes/EntityCacheItemPool.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityCacheItemPool

    - EntityCacheItemPool class: + EntityCacheItemPool class:

    @@ -75,7 +75,7 @@ final class EntityCacheItemPool implements \Psr\Cache\CacheItemPoolInterface ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -140,7 +140,7 @@ public function clear(): bool; ```php @@ -161,7 +161,7 @@ public function commit(): bool; ```php @@ -206,7 +206,7 @@ public function deleteItem(string $key): bool; ```php @@ -251,7 +251,7 @@ public function deleteItems(array $keys): bool; ```php @@ -296,7 +296,7 @@ public function getItem(string $key): \Psr\Cache\CacheItemInterface; ```php @@ -341,7 +341,7 @@ public function getItems(array $keys = [ ]): iterable; ```php @@ -386,7 +386,7 @@ public function hasItem(string $key): bool; ```php @@ -424,7 +424,7 @@ public function save(\Psr\Cache\CacheItemInterface $item): bool; ```php diff --git a/docs/tech/classes/EntityCacheStorageHelper.md b/docs/tech/classes/EntityCacheStorageHelper.md index c46288ec..2d271eba 100644 --- a/docs/tech/classes/EntityCacheStorageHelper.md +++ b/docs/tech/classes/EntityCacheStorageHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityCacheStorageHelper

    - EntityCacheStorageHelper class: + EntityCacheStorageHelper class:

    @@ -66,7 +66,7 @@ final class EntityCacheStorageHelper ```php @@ -88,7 +88,7 @@ public function __construct(\BumbleDocGen\Core\Cache\EntityCacheItemPool $cacheI $cacheItemPool - \BumbleDocGen\Core\Cache\EntityCacheItemPool + \BumbleDocGen\Core\Cache\EntityCacheItemPool - @@ -103,7 +103,7 @@ public function __construct(\BumbleDocGen\Core\Cache\EntityCacheItemPool $cacheI ```php @@ -163,7 +163,7 @@ public function addItemValueToCache(string $cacheKey, string $itemKey, mixed $va ```php @@ -213,7 +213,7 @@ public function getItemValueFromCache(string $cacheKey, string $itemKey): mixed; ```php @@ -258,7 +258,7 @@ public function getItemValues(string $cacheKey): array; ```php @@ -296,7 +296,7 @@ public function getUsedCacheItemsKeys(string $cacheKey): array; ```php @@ -339,7 +339,7 @@ public function removeItemValueFromCache(string $cacheKey, string $itemKey): voi ```php diff --git a/docs/tech/classes/EntityDocRendererHelper.md b/docs/tech/classes/EntityDocRendererHelper.md index cd1f8295..b171b2d6 100644 --- a/docs/tech/classes/EntityDocRendererHelper.md +++ b/docs/tech/classes/EntityDocRendererHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityDocRendererHelper

    - EntityDocRendererHelper class: + EntityDocRendererHelper class:

    @@ -46,15 +46,15 @@ final class EntityDocRendererHelper @@ -69,7 +69,7 @@ final class EntityDocRendererHelper ```php @@ -91,12 +91,12 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -111,7 +111,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio ```php @@ -138,7 +138,7 @@ public function getEntityDataByLink(string $linkString, \BumbleDocGen\Core\Parse $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -174,7 +174,7 @@ public function getEntityDataByLink(string $linkString, \BumbleDocGen\Core\Parse ```php diff --git a/docs/tech/classes/EntityDocRendererInterface.md b/docs/tech/classes/EntityDocRendererInterface.md index e2df734f..67970409 100644 --- a/docs/tech/classes/EntityDocRendererInterface.md +++ b/docs/tech/classes/EntityDocRendererInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityDocRendererInterface

    - EntityDocRendererInterface class: + EntityDocRendererInterface class:

    @@ -53,7 +53,7 @@ interface EntityDocRendererInterface ```php @@ -74,7 +74,7 @@ public function getDocFileExtension(): string; ```php @@ -95,7 +95,7 @@ public function getDocFileNamespace(): string; ```php @@ -117,7 +117,7 @@ public function getRenderedText(\BumbleDocGen\Core\Renderer\Context\DocumentedEn $entityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper The entity whose documentation was requested @@ -133,7 +133,7 @@ public function getRenderedText(\BumbleDocGen\Core\Renderer\Context\DocumentedEn ```php @@ -155,7 +155,7 @@ public function isAvailableForEntity(\BumbleDocGen\Core\Parser\Entity\RootEntity $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity whose documentation was requested diff --git a/docs/tech/classes/EntityDocRenderersCollection.md b/docs/tech/classes/EntityDocRenderersCollection.md index 45db1898..f857393a 100644 --- a/docs/tech/classes/EntityDocRenderersCollection.md +++ b/docs/tech/classes/EntityDocRenderersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityDocRenderersCollection

    - EntityDocRenderersCollection class: + EntityDocRenderersCollection class:

    @@ -50,7 +50,7 @@ final class EntityDocRenderersCollection implements \IteratorAggregate, \Travers ```php @@ -72,13 +72,13 @@ public function add(\BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRende $entityDocRenderer - \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface + \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface - -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRenderersCollection +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRenderersCollection @@ -88,7 +88,7 @@ public function add(\BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRende ```php @@ -110,13 +110,13 @@ public function getFirstMatchingRender(\BumbleDocGen\Core\Parser\Entity\RootEnti $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface | null +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface | null @@ -126,7 +126,7 @@ public function getFirstMatchingRender(\BumbleDocGen\Core\Parser\Entity\RootEnti ```php diff --git a/docs/tech/classes/EntityInterface.md b/docs/tech/classes/EntityInterface.md index 10109bf1..e0a88ecc 100644 --- a/docs/tech/classes/EntityInterface.md +++ b/docs/tech/classes/EntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / EntityInterface

    - EntityInterface class: + EntityInterface class:

    @@ -62,7 +62,7 @@ interface EntityInterface ```php @@ -83,7 +83,7 @@ public function entityCacheIsOutdated(): bool; ```php @@ -104,7 +104,7 @@ public function getAbsoluteFileName(): string|null; ```php @@ -125,7 +125,7 @@ public function getFileName(): string|null; ```php @@ -146,7 +146,7 @@ public function getName(): string; ```php @@ -167,7 +167,7 @@ public function getObjectId(): string; ```php @@ -178,7 +178,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -188,7 +188,7 @@ public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\Root ```php diff --git a/docs/tech/classes/FalseCondition.md b/docs/tech/classes/FalseCondition.md index 682b01c6..e9eb4cd7 100644 --- a/docs/tech/classes/FalseCondition.md +++ b/docs/tech/classes/FalseCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FalseCondition

    - FalseCondition class: + FalseCondition class:

    @@ -44,7 +44,7 @@ final class FalseCondition implements \BumbleDocGen\Core\Parser\FilterCondition\ ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/FileDependency.md b/docs/tech/classes/FileDependency.md index 200a9f1b..35d93894 100644 --- a/docs/tech/classes/FileDependency.md +++ b/docs/tech/classes/FileDependency.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FileDependency

    - FileDependency class: + FileDependency class:

    @@ -60,7 +60,7 @@ final class FileDependency implements \BumbleDocGen\Core\Renderer\Context\Depend ```php @@ -112,7 +112,7 @@ public function __construct(string $fileInternalLink, string $hash, string|null ```php @@ -133,7 +133,7 @@ public function __serialize(): array; ```php @@ -171,7 +171,7 @@ public function __unserialize(array $data): void; ```php @@ -193,7 +193,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - @@ -214,7 +214,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render -Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\FileDependency +Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\FileDependency Throws: @@ -231,7 +231,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render ```php @@ -253,7 +253,7 @@ public function isChanged(\BumbleDocGen\Core\Renderer\RendererHelper $rendererHe $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - diff --git a/docs/tech/classes/FileGetContents.md b/docs/tech/classes/FileGetContents.md index 41e133e4..4e66e19f 100644 --- a/docs/tech/classes/FileGetContents.md +++ b/docs/tech/classes/FileGetContents.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FileGetContents

    - FileGetContents class: + FileGetContents class:

    @@ -86,7 +86,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - @@ -123,7 +123,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -162,7 +162,7 @@ public function __invoke(string $resourceName): string; ```php @@ -183,7 +183,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/FileIteratorSourceLocator.md b/docs/tech/classes/FileIteratorSourceLocator.md index afc6df52..3f48878f 100644 --- a/docs/tech/classes/FileIteratorSourceLocator.md +++ b/docs/tech/classes/FileIteratorSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FileIteratorSourceLocator

    - FileIteratorSourceLocator class: + FileIteratorSourceLocator class:

    @@ -30,6 +30,13 @@ final class FileIteratorSourceLocator extends \BumbleDocGen\Core\Parser\SourceLo +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class FileIteratorSourceLocator extends \BumbleDocGen\Core\Parser\SourceLo ```php @@ -74,6 +81,29 @@ public function __construct(\Iterator $fileInfoIterator); + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/classes/FileTextContainsCondition.md b/docs/tech/classes/FileTextContainsCondition.md index 9403af92..bc3e0806 100644 --- a/docs/tech/classes/FileTextContainsCondition.md +++ b/docs/tech/classes/FileTextContainsCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FileTextContainsCondition

    - FileTextContainsCondition class: + FileTextContainsCondition class:

    @@ -51,7 +51,7 @@ final class FileTextContainsCondition implements \BumbleDocGen\Core\Parser\Filte ```php @@ -88,7 +88,7 @@ public function __construct(string $substring); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/FixStrSize.md b/docs/tech/classes/FixStrSize.md index b5df0816..4ba384d9 100644 --- a/docs/tech/classes/FixStrSize.md +++ b/docs/tech/classes/FixStrSize.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / FixStrSize

    - FixStrSize class: + FixStrSize class:

    @@ -64,7 +64,7 @@ final class FixStrSize implements \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -112,7 +112,7 @@ public function __invoke(string $text, int $size, string $symbol = ' '): string; ```php @@ -133,7 +133,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/GenerateCommand.md b/docs/tech/classes/GenerateCommand.md new file mode 100644 index 00000000..8285624d --- /dev/null +++ b/docs/tech/classes/GenerateCommand.md @@ -0,0 +1,1384 @@ + + BumbleDocGen / Technical description of the project / Class map / GenerateCommand
    + +

    + GenerateCommand class: +

    + + + + + +```php +namespace BumbleDocGen\Console\Command; + +final class GenerateCommand extends \Symfony\Component\Console\Command\Command +``` + +
    Base class for all commands.
    + + + + + + +

    Initialization methods:

    + +
      +
    1. + __construct +
    2. +
    + +

    Methods:

    + +
      +
    1. + addArgument + - Adds an argument.
    2. +
    3. + addOption + - Adds an option.
    4. +
    5. + addUsage + - Add a command usage example, it'll be prefixed with the command name.
    6. +
    7. + complete + - Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
    8. +
    9. + getAliases + - Returns the aliases for the command.
    10. +
    11. + getApplication + - Gets the application instance for this command.
    12. +
    13. + getDefaultDescription +
    14. +
    15. + getDefaultName +
    16. +
    17. + getDefinition + - Gets the InputDefinition attached to this Command.
    18. +
    19. + getDescription + - Returns the description for the command.
    20. +
    21. + getHelp + - Returns the help for the command.
    22. +
    23. + getHelper + - Gets a helper instance by name.
    24. +
    25. + getHelperSet + - Gets the helper set.
    26. +
    27. + getName + - Returns the command name.
    28. +
    29. + getNativeDefinition + - Gets the InputDefinition to be used to create representations of this Command.
    30. +
    31. + getProcessedHelp + - Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically.
    32. +
    33. + getSynopsis + - Returns the synopsis for the command.
    34. +
    35. + getUsages + - Returns alternative usages of the command.
    36. +
    37. + ignoreValidationErrors + - Ignores validation errors.
    38. +
    39. + isEnabled + - Checks whether the command is enabled or not in the current environment.
    40. +
    41. + isHidden +
    42. +
    43. + mergeApplicationDefinition + - Merges the application definition with the command definition.
    44. +
    45. + run + - Runs the command.
    46. +
    47. + setAliases + - Sets the aliases for the command.
    48. +
    49. + setApplication +
    50. +
    51. + setCode + - Sets the code to execute when running this command.
    52. +
    53. + setDefinition + - Sets an array of argument and option instances.
    54. +
    55. + setDescription + - Sets the description for the command.
    56. +
    57. + setHelp + - Sets the help for the command.
    58. +
    59. + setHelperSet +
    60. +
    61. + setHidden +
    62. +
    63. + setName + - Sets the name of the command.
    64. +
    65. + setProcessTitle + - Sets the process title of the command.
    66. +
    + + +

    Constants:

    + + + + + + +

    Method details:

    + +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function __construct(string|null $name = NULL); +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring | nullThe name of the command; passing null means it must be set in configure()
    + + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function addArgument(string $name, int|null $mode = NULL, string $description = '', mixed $default = NULL): static; +``` + +
    Adds an argument.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    $modeint | nullThe argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL
    $descriptionstring-
    $defaultmixedThe default value (for InputArgument::OPTIONAL mode only)
    + +Return value: static + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function addOption(string $name, string|array|null $shortcut = NULL, int|null $mode = NULL, string $description = '', mixed $default = NULL): static; +``` + +
    Adds an option.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    $shortcutstring | array | nullThe shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
    $modeint | nullThe option mode: One of the InputOption::VALUE_* constants
    $descriptionstring-
    $defaultmixedThe default value (must be null for InputOption::VALUE_NONE)
    + +Return value: static + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function addUsage(string $usage): static; +``` + +
    Add a command usage example, it'll be prefixed with the command name.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $usagestring-
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function complete(\Symfony\Component\Console\Completion\CompletionInput $input, \Symfony\Component\Console\Completion\CompletionSuggestions $suggestions): void; +``` + +
    Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $inputSymfony\Component\Console\Completion\CompletionInput-
    $suggestionsSymfony\Component\Console\Completion\CompletionSuggestions-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getAliases(): array; +``` + +
    Returns the aliases for the command.
    + +Parameters: not specified + +Return value: array + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getApplication(): \Symfony\Component\Console\Application|null; +``` + +
    Gets the application instance for this command.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Application | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public static function getDefaultDescription(): string|null; +``` + + + +Parameters: not specified + +Return value: string | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public static function getDefaultName(): string|null; +``` + + + +Parameters: not specified + +Return value: string | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getDefinition(): \Symfony\Component\Console\Input\InputDefinition; +``` + +
    Gets the InputDefinition attached to this Command.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Input\InputDefinition + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getDescription(): string; +``` + +
    Returns the description for the command.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getHelp(): string; +``` + +
    Returns the help for the command.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getHelper(string $name): mixed; +``` + +
    Gets a helper instance by name.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: mixed + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getHelperSet(): \Symfony\Component\Console\Helper\HelperSet|null; +``` + +
    Gets the helper set.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Helper\HelperSet | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getName(): string|null; +``` + +
    Returns the command name.
    + +Parameters: not specified + +Return value: string | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getNativeDefinition(): \Symfony\Component\Console\Input\InputDefinition; +``` + +
    Gets the InputDefinition to be used to create representations of this Command.
    + +Parameters: not specified + +Return value: \Symfony\Component\Console\Input\InputDefinition + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getProcessedHelp(): string; +``` + +
    Returns the processed help for the command replacing the %command.name% and +%command.full_name% patterns with the real values dynamically.
    + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getSynopsis(bool $short = false): string; +``` + +
    Returns the synopsis for the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $shortboolWhether to show the short version of the synopsis (with options folded) or not
    + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function getUsages(): array; +``` + +
    Returns alternative usages of the command.
    + +Parameters: not specified + +Return value: array + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function ignoreValidationErrors(): mixed; +``` + +
    Ignores validation errors.
    + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function isEnabled(): bool; +``` + +
    Checks whether the command is enabled or not in the current environment.
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function isHidden(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + +
      +
    • # + mergeApplicationDefinition + :warning: Is internal | source code
    • +
    + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function mergeApplicationDefinition(bool $mergeArgs = true): mixed; +``` + +
    Merges the application definition with the command definition.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $mergeArgsboolWhether to merge or not the Application definition arguments to Command definition arguments
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function run(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): int; +``` + +
    Runs the command.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $inputSymfony\Component\Console\Input\InputInterface-
    $outputSymfony\Component\Console\Output\OutputInterface-
    + +Return value: int + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setAliases(iterable $aliases): static; +``` + +
    Sets the aliases for the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $aliasesiterableAn array of aliases for the command
    + +Return value: static + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setApplication(\Symfony\Component\Console\Application|null $application = NULL): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $applicationSymfony\Component\Console\Application | null-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setCode(callable $code): static; +``` + +
    Sets the code to execute when running this command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $codecallableA callable(InputInterface $input, OutputInterface $output)
    + +Return value: static + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setDefinition(array|\Symfony\Component\Console\Input\InputDefinition $definition): static; +``` + +
    Sets an array of argument and option instances.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $definitionarray | Symfony\Component\Console\Input\InputDefinition-
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setDescription(string $description): static; +``` + +
    Sets the description for the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $descriptionstring-
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setHelp(string $help): static; +``` + +
    Sets the help for the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $helpstring-
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setHelperSet(\Symfony\Component\Console\Helper\HelperSet $helperSet): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $helperSetSymfony\Component\Console\Helper\HelperSet-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setHidden(bool $hidden = true): static; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $hiddenboolWhether or not the command should be hidden from the list of commands
    + +Return value: static + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setName(string $name): static; +``` + +
    Sets the name of the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $namestring-
    + +Return value: static + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\Console\Command\Command + +public function setProcessTitle(string $title): static; +``` + +
    Sets the process title of the command.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $titlestring-
    + +Return value: static + + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/classes/GeneratePageBreadcrumbs.md b/docs/tech/classes/GeneratePageBreadcrumbs.md index 82b0d7d4..128049ca 100644 --- a/docs/tech/classes/GeneratePageBreadcrumbs.md +++ b/docs/tech/classes/GeneratePageBreadcrumbs.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GeneratePageBreadcrumbs

    - GeneratePageBreadcrumbs class: + GeneratePageBreadcrumbs class:

    @@ -67,7 +67,7 @@ final class GeneratePageBreadcrumbs implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -89,17 +89,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - @@ -114,7 +114,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -180,7 +180,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s ```php @@ -201,7 +201,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/GetClassMethodsBodyCode.md b/docs/tech/classes/GetClassMethodsBodyCode.md index c6723799..1d60f144 100644 --- a/docs/tech/classes/GetClassMethodsBodyCode.md +++ b/docs/tech/classes/GetClassMethodsBodyCode.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GetClassMethodsBodyCode

    - GetClassMethodsBodyCode class: + GetClassMethodsBodyCode class:

    @@ -75,7 +75,7 @@ final class GetClassMethodsBodyCode implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Parser\Entity\RootEntityCollectio ```php @@ -171,7 +171,7 @@ public function __invoke(string $className, array $methodsNames): string|null; ```php @@ -192,7 +192,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/GetDocumentationPageUrl.md b/docs/tech/classes/GetDocumentationPageUrl.md index c8c287cc..79dd7a59 100644 --- a/docs/tech/classes/GetDocumentationPageUrl.md +++ b/docs/tech/classes/GetDocumentationPageUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GetDocumentationPageUrl

    - GetDocumentationPageUrl class: + GetDocumentationPageUrl class:

    @@ -82,7 +82,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ @@ -97,7 +97,7 @@ final class GetDocumentationPageUrl implements \BumbleDocGen\Core\Renderer\Twig\ ```php @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH $breadcrumbsHelper - \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper - @@ -139,7 +139,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsH ```php @@ -191,7 +191,7 @@ public function __invoke(string $key): string; ```php @@ -212,7 +212,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/GetDocumentedEntityUrl.md b/docs/tech/classes/GetDocumentedEntityUrl.md index 63b434ad..79d7ff19 100644 --- a/docs/tech/classes/GetDocumentedEntityUrl.md +++ b/docs/tech/classes/GetDocumentedEntityUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GetDocumentedEntityUrl

    - GetDocumentedEntityUrl class: + GetDocumentedEntityUrl class:

    @@ -91,7 +91,7 @@ The function returns a link to the file MainExtension @@ -106,7 +106,7 @@ The function returns a link to the file MainExtension ```php @@ -128,17 +128,17 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -158,7 +158,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -180,7 +180,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -228,7 +228,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -249,7 +249,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/GithubPagesLinkProcessor.md b/docs/tech/classes/GithubPagesLinkProcessor.md index 45f80816..38f3512e 100644 --- a/docs/tech/classes/GithubPagesLinkProcessor.md +++ b/docs/tech/classes/GithubPagesLinkProcessor.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GithubPagesLinkProcessor

    - GithubPagesLinkProcessor class: + GithubPagesLinkProcessor class:

    @@ -51,7 +51,7 @@ class GithubPagesLinkProcessor implements \BumbleDocGen\Core\Renderer\PageLinkPr ```php @@ -73,7 +73,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -93,7 +93,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php diff --git a/docs/tech/classes/InternalValueResolver.md b/docs/tech/classes/InternalValueResolver.md index d9e0f2ea..526ee846 100644 --- a/docs/tech/classes/InternalValueResolver.md +++ b/docs/tech/classes/InternalValueResolver.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / InternalValueResolver

    - InternalValueResolver class: + InternalValueResolver class:

    @@ -63,7 +63,7 @@ output_dir: "%WORKING_DIR%/docs" ```php @@ -100,7 +100,7 @@ public function __construct(array $internalValuesMap); ```php @@ -122,7 +122,7 @@ public function resolveValue(\BumbleDocGen\Core\Configuration\ConfigurationParam $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - diff --git a/docs/tech/classes/InvalidConfigurationParameterException.md b/docs/tech/classes/InvalidConfigurationParameterException.md index 6841420f..8f229341 100644 --- a/docs/tech/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/classes/InvalidConfigurationParameterException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / InvalidConfigurationParameterException

    - InvalidConfigurationParameterException class: + InvalidConfigurationParameterException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/IsPrivateCondition.md b/docs/tech/classes/IsPrivateCondition.md index 5d16a2af..7cc54be6 100644 --- a/docs/tech/classes/IsPrivateCondition.md +++ b/docs/tech/classes/IsPrivateCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsPrivateCondition_2.md b/docs/tech/classes/IsPrivateCondition_2.md index 145ca843..2efb5f4e 100644 --- a/docs/tech/classes/IsPrivateCondition_2.md +++ b/docs/tech/classes/IsPrivateCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsPrivateCondition_3.md b/docs/tech/classes/IsPrivateCondition_3.md index 49a1cb0e..abd0db2c 100644 --- a/docs/tech/classes/IsPrivateCondition_3.md +++ b/docs/tech/classes/IsPrivateCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPrivateCondition

    - IsPrivateCondition class: + IsPrivateCondition class:

    @@ -51,7 +51,7 @@ final class IsPrivateCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsProtectedCondition.md b/docs/tech/classes/IsProtectedCondition.md index 6bc014d7..8e04c441 100644 --- a/docs/tech/classes/IsProtectedCondition.md +++ b/docs/tech/classes/IsProtectedCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsProtectedCondition_2.md b/docs/tech/classes/IsProtectedCondition_2.md index 32bcda2d..faa6cf66 100644 --- a/docs/tech/classes/IsProtectedCondition_2.md +++ b/docs/tech/classes/IsProtectedCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsProtectedCondition_3.md b/docs/tech/classes/IsProtectedCondition_3.md index eec7091c..27911b3a 100644 --- a/docs/tech/classes/IsProtectedCondition_3.md +++ b/docs/tech/classes/IsProtectedCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsProtectedCondition

    - IsProtectedCondition class: + IsProtectedCondition class:

    @@ -51,7 +51,7 @@ final class IsProtectedCondition implements \BumbleDocGen\Core\Parser\FilterCond ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsPublicCondition.md b/docs/tech/classes/IsPublicCondition.md index 66a70e3c..87e51aea 100644 --- a/docs/tech/classes/IsPublicCondition.md +++ b/docs/tech/classes/IsPublicCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsPublicCondition_2.md b/docs/tech/classes/IsPublicCondition_2.md index 026b21e0..cb55bf3e 100644 --- a/docs/tech/classes/IsPublicCondition_2.md +++ b/docs/tech/classes/IsPublicCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IsPublicCondition_3.md b/docs/tech/classes/IsPublicCondition_3.md index 4d19485d..ada0ded5 100644 --- a/docs/tech/classes/IsPublicCondition_3.md +++ b/docs/tech/classes/IsPublicCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IsPublicCondition

    - IsPublicCondition class: + IsPublicCondition class:

    @@ -51,7 +51,7 @@ final class IsPublicCondition implements \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -71,7 +71,7 @@ public function __construct(); ```php @@ -93,7 +93,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/IterateEntitiesOperation.md b/docs/tech/classes/IterateEntitiesOperation.md index 89012333..3f27c13a 100644 --- a/docs/tech/classes/IterateEntitiesOperation.md +++ b/docs/tech/classes/IterateEntitiesOperation.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / IterateEntitiesOperation

    - IterateEntitiesOperation class: + IterateEntitiesOperation class:

    @@ -63,7 +63,7 @@ final class IterateEntitiesOperation implements \BumbleDocGen\Core\Parser\Entity ```php @@ -100,7 +100,7 @@ public function __construct(array $entities); ```php @@ -122,7 +122,7 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -138,7 +138,7 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root ```php @@ -159,7 +159,7 @@ public function getEntitiesData(): array; ```php @@ -180,7 +180,7 @@ public function getKey(): string; ```php @@ -218,7 +218,7 @@ public function hasEntity(string $entityName): bool; ```php diff --git a/docs/tech/classes/LanguageHandlerInterface.md b/docs/tech/classes/LanguageHandlerInterface.md index d5a840e9..51c5b062 100644 --- a/docs/tech/classes/LanguageHandlerInterface.md +++ b/docs/tech/classes/LanguageHandlerInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LanguageHandlerInterface

    - LanguageHandlerInterface class: + LanguageHandlerInterface class:

    @@ -53,7 +53,7 @@ interface LanguageHandlerInterface ```php @@ -75,13 +75,13 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection @@ -91,7 +91,7 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere ```php @@ -113,13 +113,13 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection @@ -129,7 +129,7 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende ```php @@ -140,7 +140,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection @@ -150,7 +150,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti ```php diff --git a/docs/tech/classes/LanguageHandlersCollection.md b/docs/tech/classes/LanguageHandlersCollection.md index 86616c96..740c19bf 100644 --- a/docs/tech/classes/LanguageHandlersCollection.md +++ b/docs/tech/classes/LanguageHandlersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LanguageHandlersCollection

    - LanguageHandlersCollection class: + LanguageHandlersCollection class:

    @@ -53,7 +53,7 @@ final class LanguageHandlersCollection implements \IteratorAggregate, \Traversab ```php @@ -75,13 +75,13 @@ public function add(\BumbleDocGen\LanguageHandler\LanguageHandlerInterface $lang $languageHandler - \BumbleDocGen\LanguageHandler\LanguageHandlerInterface + \BumbleDocGen\LanguageHandler\LanguageHandlerInterface - -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection @@ -91,7 +91,7 @@ public function add(\BumbleDocGen\LanguageHandler\LanguageHandlerInterface $lang ```php @@ -113,13 +113,13 @@ public static function create(\BumbleDocGen\LanguageHandler\LanguageHandlerInter $languageHandlers - \BumbleDocGen\LanguageHandler\LanguageHandlerInterface + \BumbleDocGen\LanguageHandler\LanguageHandlerInterface - -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection @@ -129,7 +129,7 @@ public static function create(\BumbleDocGen\LanguageHandler\LanguageHandlerInter ```php @@ -157,7 +157,7 @@ public function get(string $key): \BumbleDocGen\LanguageHandler\LanguageHandlerI -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlerInterface | null +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlerInterface | null @@ -167,7 +167,7 @@ public function get(string $key): \BumbleDocGen\LanguageHandler\LanguageHandlerI ```php diff --git a/docs/tech/classes/LastPageCommitter.md b/docs/tech/classes/LastPageCommitter.md index 3bb451dc..e5ed9c6c 100644 --- a/docs/tech/classes/LastPageCommitter.md +++ b/docs/tech/classes/LastPageCommitter.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LastPageCommitter

    - LastPageCommitter class: + LastPageCommitter class:

    @@ -54,7 +54,7 @@ final class LastPageCommitter implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -76,12 +76,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -96,7 +96,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -118,7 +118,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B $event - \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile + \BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile - @@ -141,7 +141,7 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B ```php diff --git a/docs/tech/classes/LoadPluginsContent.md b/docs/tech/classes/LoadPluginsContent.md index 5564f7c8..5912d62e 100644 --- a/docs/tech/classes/LoadPluginsContent.md +++ b/docs/tech/classes/LoadPluginsContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LoadPluginsContent

    - LoadPluginsContent class: + LoadPluginsContent class:

    @@ -75,7 +75,7 @@ final class LoadPluginsContent implements \BumbleDocGen\Core\Renderer\Twig\Funct ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu ```php @@ -139,7 +139,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity for which we process the content block @@ -160,7 +160,7 @@ public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootE ```php @@ -181,7 +181,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/LocalObjectCache.md b/docs/tech/classes/LocalObjectCache.md index a0d26325..0f374727 100644 --- a/docs/tech/classes/LocalObjectCache.md +++ b/docs/tech/classes/LocalObjectCache.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LocalObjectCache

    - LocalObjectCache class: + LocalObjectCache class:

    @@ -47,7 +47,7 @@ final class LocalObjectCache ```php @@ -95,7 +95,7 @@ public function cacheMethodResult(string $methodKey, string $objectId, mixed $me ```php diff --git a/docs/tech/classes/LocatedInCondition.md b/docs/tech/classes/LocatedInCondition.md index 68e37d65..54968c85 100644 --- a/docs/tech/classes/LocatedInCondition.md +++ b/docs/tech/classes/LocatedInCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LocatedInCondition

    - LocatedInCondition class: + LocatedInCondition class:

    @@ -51,7 +51,7 @@ final class LocatedInCondition implements \BumbleDocGen\Core\Parser\FilterCondit ```php @@ -73,12 +73,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - @@ -98,7 +98,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -120,7 +120,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/LoggableRootEntityCollection.md b/docs/tech/classes/LoggableRootEntityCollection.md index 17ba7f54..9a433cbd 100644 --- a/docs/tech/classes/LoggableRootEntityCollection.md +++ b/docs/tech/classes/LoggableRootEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / LoggableRootEntityCollection

    - LoggableRootEntityCollection class: + LoggableRootEntityCollection class:

    @@ -42,6 +42,12 @@ abstract class LoggableRootEntityCollection extends \BumbleDocGen\Core\Parser\En
  • get
  • +
  • + getEntityCollectionName +
  • +
  • + getEntityLinkData +
  • getIterator - Retrieve an external iterator
  • @@ -51,6 +57,18 @@ abstract class LoggableRootEntityCollection extends \BumbleDocGen\Core\Parser\En
  • getOperationsLogCollection
  • +
  • + has +
  • +
  • + isEmpty +
  • +
  • + remove +
  • +
  • + updateEntitiesCache +
  • @@ -66,7 +84,7 @@ abstract class LoggableRootEntityCollection extends \BumbleDocGen\Core\Parser\En ```php @@ -86,7 +104,7 @@ public function __construct(); ```php @@ -107,7 +125,7 @@ public function clearOperationsLogCollection(): void; ```php @@ -140,7 +158,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -150,7 +168,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD ```php @@ -178,7 +196,81 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function getEntityCollectionName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function getEntityLinkData(string $rawLink, string|null $defaultEntityName = NULL, bool $useUnsafeKeys = true): array; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $rawLinkstringRaw link to an entity or entity element
    $defaultEntityNamestring | nullEntity name to use if the link does not contain a valid or existing entity name, + but only a cursor on an entity element
    $useUnsafeKeysbool-
    + +Return value: array
    @@ -188,7 +280,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn ```php @@ -222,7 +314,7 @@ public function getIterator(): \Generator; ```php @@ -255,7 +347,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface @@ -271,7 +363,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit ```php @@ -282,8 +374,141 @@ public function getOperationsLogCollection(): \BumbleDocGen\Core\Parser\Entity\C Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection +Return value: \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationsCollection + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\RootEntityCollection + +public function updateEntitiesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: +

    diff --git a/docs/tech/classes/MainExtension.md b/docs/tech/classes/MainExtension.md index 8f807c05..71fe474c 100644 --- a/docs/tech/classes/MainExtension.md +++ b/docs/tech/classes/MainExtension.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MainExtension

    - MainExtension class: + MainExtension class:

    @@ -42,6 +42,18 @@ final class MainExtension extends \Twig\Extension\AbstractExtension implements \
  • getLanguageHandlersCollection
  • +
  • + getNodeVisitors + - Returns the node visitor instances to add to the existing list.
  • +
  • + getOperators + - Returns a list of operators to add to the existing list.
  • +
  • + getTests + - Returns a list of tests to add to the existing list.
  • +
  • + getTokenParsers + - Returns the token parser instances to add to the existing list.
  • setDefaultFilters
  • @@ -63,7 +75,7 @@ final class MainExtension extends \Twig\Extension\AbstractExtension implements \ ```php @@ -85,12 +97,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -112,7 +124,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -133,7 +145,7 @@ public function getFilters(): \Generator; ```php @@ -154,7 +166,7 @@ public function getFunctions(): \Generator; ```php @@ -165,7 +177,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection Throws: @@ -175,6 +187,98 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L + +
    +
    + + + +```php +// Implemented in Twig\Extension\AbstractExtension + +public function getNodeVisitors(): \Twig\NodeVisitor\NodeVisitorInterface[]; +``` + +
    Returns the node visitor instances to add to the existing list.
    + +Parameters: not specified + +Return value: \Twig\NodeVisitor\NodeVisitorInterface[] + + +
    +
    +
    + + + +```php +// Implemented in Twig\Extension\AbstractExtension + +public function getOperators(): array[]; +``` + +
    Returns a list of operators to add to the existing list.
    + +Parameters: not specified + +Return value: array[] + + +
    +
    +
    + + + +```php +// Implemented in Twig\Extension\AbstractExtension + +public function getTests(): \Twig\TwigTest[]; +``` + +
    Returns a list of tests to add to the existing list.
    + +Parameters: not specified + +Return value: \Twig\TwigTest[] + + +
    +
    +
    + + + +```php +// Implemented in Twig\Extension\AbstractExtension + +public function getTokenParsers(): \Twig\TokenParser\TokenParserInterface[]; +``` + +
    Returns the token parser instances to add to the existing list.
    + +Parameters: not specified + +Return value: \Twig\TokenParser\TokenParserInterface[] + +

    @@ -182,7 +286,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L ```php @@ -210,7 +314,7 @@ public function setDefaultFilters(): void; ```php diff --git a/docs/tech/classes/MainTwigEnvironment.md b/docs/tech/classes/MainTwigEnvironment.md index 22162e90..b4053f7a 100644 --- a/docs/tech/classes/MainTwigEnvironment.md +++ b/docs/tech/classes/MainTwigEnvironment.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MainTwigEnvironment

    - MainTwigEnvironment class: + MainTwigEnvironment class:

    @@ -51,7 +51,7 @@ final class MainTwigEnvironment ```php @@ -73,12 +73,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $mainExtension - \BumbleDocGen\Core\Renderer\Twig\MainExtension + \BumbleDocGen\Core\Renderer\Twig\MainExtension - @@ -100,7 +100,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php diff --git a/docs/tech/classes/MethodEntity.md b/docs/tech/classes/MethodEntity.md index e8f58316..87e12622 100644 --- a/docs/tech/classes/MethodEntity.md +++ b/docs/tech/classes/MethodEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MethodEntity

    - MethodEntity class: + MethodEntity class:

    @@ -33,12 +33,27 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. getBodyCode
    5. +
    6. + getCacheKey +
    7. +
    8. + getCachedEntityDependencies +
    9. getDescription
    10. +
    11. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    12. getDocBlock
    13. @@ -57,12 +72,24 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    14. getDocCommentRecursive
    15. +
    16. + getDocNote +
    17. getEndLine
    18. +
    19. + getExamples + - Get parsed examples from `examples` doc block
    20. getFileName
    21. +
    22. + getFileSourceLink +
    23. +
    24. + getFirstExample + - Get first example from @examples doc block
    25. getFirstReturnValue
    26. @@ -84,6 +111,9 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    27. getNamespaceName
    28. +
    29. + getObjectId + - Get entity unique ID
    30. getParameters
    31. @@ -117,18 +147,42 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    32. getStartLine
    33. +
    34. + getThrows + - Get parsed throws from `throws` doc block
    35. +
    36. + hasDescriptionLinks +
    37. +
    38. + hasExamples +
    39. +
    40. + hasThrows +
    41. isConstructor
    42. +
    43. + isDeprecated +
    44. isDynamic
    45. +
    46. + isEntityDataCacheOutdated +
    47. +
    48. + isEntityFileCanBeLoad +
    49. isImplementedInParentClass
    50. isInitialization
    51. +
    52. + isInternal +
    53. isPrivate
    54. @@ -144,6 +198,12 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE
    55. parseAnnotationParams
    56. +
    57. + reloadEntityDependenciesCache +
    58. +
    59. + removeNotUsedEntityDataCache +
    @@ -159,7 +219,7 @@ class MethodEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseE ```php @@ -181,22 +241,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -224,6 +284,69 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + +

    @@ -231,7 +354,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -259,10 +382,63 @@ public function getBodyCode(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -296,10 +472,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -353,7 +562,7 @@ public function getDocBlock(bool $recursive = true): \phpDocumentor\Reflection\D ```php @@ -384,7 +593,7 @@ public function getDocComment(): string; ```php @@ -395,7 +604,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity Throws: @@ -421,7 +630,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -452,7 +661,7 @@ public function getDocCommentLine(): int|null; ```php @@ -489,7 +698,7 @@ public function getDocCommentLineRecursive(): int|null; ```php @@ -519,6 +728,29 @@ public function getDocCommentRecursive(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -526,7 +758,7 @@ public function getDocCommentRecursive(): string; ```php @@ -550,6 +782,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -557,7 +812,7 @@ public function getEndLine(): int; ```php @@ -581,6 +836,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -588,7 +913,7 @@ public function getFileName(): string|null; ```php @@ -619,7 +944,7 @@ public function getFirstReturnValue(): mixed; ```php @@ -630,7 +955,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -640,7 +965,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -661,7 +986,7 @@ public function getImplementingClassName(): string; ```php @@ -692,7 +1017,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -723,7 +1048,7 @@ public function getModifiersString(): string; ```php @@ -744,7 +1069,7 @@ public function getName(): string; ```php @@ -768,6 +1093,29 @@ public function getNamespaceName(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -775,7 +1123,7 @@ public function getNamespaceName(): string; ```php @@ -815,7 +1163,7 @@ public function getParameters(): array; ```php @@ -852,7 +1200,7 @@ public function getParametersString(): string; ```php @@ -863,7 +1211,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -873,7 +1221,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -884,7 +1232,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: @@ -910,7 +1258,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -947,7 +1295,7 @@ public function getReturnType(): string; ```php @@ -958,7 +1306,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -968,7 +1316,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -979,7 +1327,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -989,7 +1337,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1010,7 +1358,7 @@ public function getShortName(): string; ```php @@ -1047,7 +1395,7 @@ public function getSignature(): string; ```php @@ -1078,7 +1426,7 @@ public function getStartColumn(): int; ```php @@ -1102,6 +1450,115 @@ public function getStartLine(): int; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1109,7 +1566,7 @@ public function getStartLine(): int; ```php @@ -1118,6 +1575,29 @@ public function isConstructor(): bool; +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + Parameters: not specified Return value: bool @@ -1130,7 +1610,7 @@ public function isConstructor(): bool; ```php @@ -1144,6 +1624,69 @@ public function isDynamic(): bool; Return value: bool +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + +

    @@ -1151,7 +1694,7 @@ public function isDynamic(): bool; ```php @@ -1172,7 +1715,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1202,6 +1745,29 @@ public function isInitialization(): bool; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + +Parameters: not specified + +Return value: bool + +

    @@ -1209,7 +1775,7 @@ public function isInitialization(): bool; ```php @@ -1240,7 +1806,7 @@ public function isPrivate(): bool; ```php @@ -1271,7 +1837,7 @@ public function isProtected(): bool; ```php @@ -1302,7 +1868,7 @@ public function isPublic(): bool; ```php @@ -1333,7 +1899,7 @@ public function isStatic(): bool; ```php @@ -1364,6 +1930,66 @@ public static function parseAnnotationParams(array $params): array; Return value: array +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/classes/MethodEntityCollection.md b/docs/tech/classes/MethodEntityCollection.md index 56d75c8f..ae23a1d0 100644 --- a/docs/tech/classes/MethodEntityCollection.md +++ b/docs/tech/classes/MethodEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MethodEntityCollection

    - MethodEntityCollection class: + MethodEntityCollection class:

    @@ -45,9 +45,21 @@ final class MethodEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Base
  • getInitializations
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadMethodEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -66,7 +78,7 @@ final class MethodEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Base ```php @@ -88,17 +100,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -118,7 +130,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity $methodEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityInterface + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityInterface - @@ -151,7 +163,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection @@ -161,7 +173,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity ```php @@ -189,7 +201,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null @@ -199,7 +211,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -210,7 +222,7 @@ public function getAllExceptInitializations(): \BumbleDocGen\LanguageHandler\Php Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection @@ -220,7 +232,7 @@ public function getAllExceptInitializations(): \BumbleDocGen\LanguageHandler\Php ```php @@ -231,7 +243,106 @@ public function getInitializations(): \BumbleDocGen\LanguageHandler\Php\Parser\E Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntityCollection + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -241,7 +352,7 @@ public function getInitializations(): \BumbleDocGen\LanguageHandler\Php\Parser\E ```php @@ -271,6 +382,46 @@ public function loadMethodEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -278,7 +429,7 @@ public function loadMethodEntities(): void; ```php @@ -306,7 +457,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\MethodEntity | null Throws: diff --git a/docs/tech/classes/MethodEntityInterface.md b/docs/tech/classes/MethodEntityInterface.md index 756f1120..31d63955 100644 --- a/docs/tech/classes/MethodEntityInterface.md +++ b/docs/tech/classes/MethodEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MethodEntityInterface

    - MethodEntityInterface class: + MethodEntityInterface class:

    @@ -26,6 +26,12 @@ interface MethodEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\Entity

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. getBodyCode
    5. @@ -53,6 +59,9 @@ interface MethodEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\Entity
    6. getName
    7. +
    8. + getObjectId +
    9. getParameters
    10. @@ -62,6 +71,12 @@ interface MethodEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\Entity
    11. getReturnType
    12. +
    13. + getRootEntityCollection + - Get parent collection of entities
    14. +
    15. + getShortName +
    16. getStartColumn
    17. @@ -95,10 +110,56 @@ interface MethodEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\Entity
      + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
      Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + + +
      +
      +
      + ```php @@ -119,7 +180,7 @@ public function getBodyCode(): string; ```php @@ -140,7 +201,7 @@ public function getDescription(): string; ```php @@ -161,7 +222,7 @@ public function getEndLine(): int; ```php @@ -182,7 +243,7 @@ public function getFileName(): string|null; ```php @@ -203,7 +264,7 @@ public function getFirstReturnValue(): mixed; ```php @@ -214,7 +275,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
      @@ -224,7 +285,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -245,7 +306,7 @@ public function getImplementingClassName(): string; ```php @@ -266,7 +327,7 @@ public function getModifiersString(): string; ```php @@ -275,6 +336,29 @@ public function getName(): string; +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + Parameters: not specified Return value: string @@ -287,7 +371,7 @@ public function getName(): string; ```php @@ -308,7 +392,7 @@ public function getParameters(): array; ```php @@ -329,7 +413,7 @@ public function getParametersString(): string; ```php @@ -338,6 +422,52 @@ public function getReturnType(): string; +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
    Get parent collection of entities
    + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + Parameters: not specified Return value: string @@ -350,7 +480,7 @@ public function getReturnType(): string; ```php @@ -371,7 +501,7 @@ public function getStartColumn(): int; ```php @@ -392,7 +522,7 @@ public function getStartLine(): int; ```php @@ -413,7 +543,7 @@ public function isDynamic(): bool; ```php @@ -434,7 +564,7 @@ public function isInitialization(): bool; ```php @@ -455,7 +585,7 @@ public function isPrivate(): bool; ```php @@ -476,7 +606,7 @@ public function isProtected(): bool; ```php diff --git a/docs/tech/classes/MissingDocBlocksGenerator.md b/docs/tech/classes/MissingDocBlocksGenerator.md index 850dfee6..812fdce3 100644 --- a/docs/tech/classes/MissingDocBlocksGenerator.md +++ b/docs/tech/classes/MissingDocBlocksGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / MissingDocBlocksGenerator

    - MissingDocBlocksGenerator class: + MissingDocBlocksGenerator class:

    @@ -46,15 +46,15 @@ final class MissingDocBlocksGenerator @@ -69,7 +69,7 @@ final class MissingDocBlocksGenerator ```php @@ -96,7 +96,7 @@ public function __construct(\Tectalic\OpenAi\Client $openaiClient, \BumbleDocGen $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - @@ -116,7 +116,7 @@ public function __construct(\Tectalic\OpenAi\Client $openaiClient, \BumbleDocGen ```php @@ -138,7 +138,7 @@ public function generateDocBlocksForMethodsWithoutIt(\BumbleDocGen\Core\Parser\E $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - @@ -178,7 +178,7 @@ public function generateDocBlocksForMethodsWithoutIt(\BumbleDocGen\Core\Parser\E ```php @@ -200,7 +200,7 @@ public function hasMethodsWithoutDocBlocks(\BumbleDocGen\Core\Parser\Entity\Root $rootEntity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - diff --git a/docs/tech/classes/ObjectNotFoundException.md b/docs/tech/classes/ObjectNotFoundException.md index c6b2c87f..501dc76b 100644 --- a/docs/tech/classes/ObjectNotFoundException.md +++ b/docs/tech/classes/ObjectNotFoundException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ObjectNotFoundException

    - ObjectNotFoundException class: + ObjectNotFoundException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/OnAddClassEntityToCollection.md b/docs/tech/classes/OnAddClassEntityToCollection.md index adc1fbff..d4afecd4 100644 --- a/docs/tech/classes/OnAddClassEntityToCollection.md +++ b/docs/tech/classes/OnAddClassEntityToCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnAddClassEntityToCollection

    - OnAddClassEntityToCollection class: + OnAddClassEntityToCollection class:

    @@ -42,6 +42,12 @@ final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatc
  • getUniqueExecutionId
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatc ```php @@ -79,12 +85,12 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - @@ -99,7 +105,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -110,7 +116,7 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection
    @@ -120,7 +126,7 @@ public function getClassEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Pa ```php @@ -131,7 +137,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -141,7 +147,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -155,6 +161,52 @@ public function getUniqueExecutionId(): string; Return value: string + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md b/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md index fd821f54..57be71ba 100644 --- a/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md +++ b/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnCheckIsClassEntityCanBeLoad

    - OnCheckIsClassEntityCanBeLoad class: + OnCheckIsClassEntityCanBeLoad class:

    @@ -42,6 +42,12 @@ final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispat
  • isClassCanBeLoad
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -60,7 +66,7 @@ final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispat * # $classCanBeLoad - **|** source code + **|** source code ```php public bool $classCanBeLoad; @@ -76,7 +82,7 @@ public bool $classCanBeLoad; ```php @@ -98,7 +104,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $entity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -113,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -134,7 +140,7 @@ public function disableClassLoading(): void; ```php @@ -145,7 +151,7 @@ public function getEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cla Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity @@ -155,7 +161,7 @@ public function getEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cla ```php @@ -169,6 +175,52 @@ public function isClassCanBeLoad(): bool; Return value: bool + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/classes/OnGettingResourceLink.md b/docs/tech/classes/OnGettingResourceLink.md index 28d3f3f0..5238d1c8 100644 --- a/docs/tech/classes/OnGettingResourceLink.md +++ b/docs/tech/classes/OnGettingResourceLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnGettingResourceLink

    - OnGettingResourceLink class: + OnGettingResourceLink class:

    @@ -39,9 +39,15 @@ final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Eve
  • getResourceUrl
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • setResourceUrl
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -57,7 +63,7 @@ final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Eve ```php @@ -94,7 +100,7 @@ public function __construct(string $resourceName); ```php @@ -115,7 +121,7 @@ public function getResourceName(): string; ```php @@ -129,6 +135,29 @@ public function getResourceUrl(): string|null; Return value: string | null + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + +

    @@ -136,7 +165,7 @@ public function getResourceUrl(): string|null; ```php @@ -167,6 +196,29 @@ public function setResourceUrl(string|null $resourceUrl): void; Return value: void +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void + +

    diff --git a/docs/tech/classes/OnLoadEntityDocPluginContent.md b/docs/tech/classes/OnLoadEntityDocPluginContent.md index b2fce732..a716085f 100644 --- a/docs/tech/classes/OnLoadEntityDocPluginContent.md +++ b/docs/tech/classes/OnLoadEntityDocPluginContent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnLoadEntityDocPluginContent

    - OnLoadEntityDocPluginContent class: + OnLoadEntityDocPluginContent class:

    @@ -54,6 +54,12 @@ See:
  • getEntity
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -69,7 +75,7 @@ See: ```php @@ -96,7 +102,7 @@ public function __construct(string $blockContent, \BumbleDocGen\Core\Parser\Enti $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface - @@ -116,7 +122,7 @@ public function __construct(string $blockContent, \BumbleDocGen\Core\Parser\Enti ```php @@ -154,7 +160,7 @@ public function addBlockContentPluginResult(string $pluginResult): void; ```php @@ -175,7 +181,7 @@ public function getBlockContent(): string; ```php @@ -196,7 +202,7 @@ public function getBlockContentPluginResults(): array; ```php @@ -217,7 +223,7 @@ public function getBlockType(): string; ```php @@ -228,7 +234,53 @@ public function getEntity(): \BumbleDocGen\Core\Parser\Entity\RootEntityInterfac Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/classes/OnLoadSourceLocatorsCollection.md b/docs/tech/classes/OnLoadSourceLocatorsCollection.md index 5884fecf..ed1368e7 100644 --- a/docs/tech/classes/OnLoadSourceLocatorsCollection.md +++ b/docs/tech/classes/OnLoadSourceLocatorsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnLoadSourceLocatorsCollection

    - OnLoadSourceLocatorsCollection class: + OnLoadSourceLocatorsCollection class:

    @@ -36,6 +36,12 @@ final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispa
  • getSourceLocatorsCollection
  • +
  • + isPropagationStopped + - Is propagation stopped?
  • +
  • + stopPropagation + - Stops the propagation of the event to further event listeners.
  • @@ -51,7 +57,7 @@ final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispa ```php @@ -73,7 +79,7 @@ public function __construct(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocato $sourceLocatorsCollection - \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection + \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection - @@ -88,7 +94,7 @@ public function __construct(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocato ```php @@ -99,7 +105,53 @@ public function getSourceLocatorsCollection(): \BumbleDocGen\Core\Parser\SourceL Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection + + + +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function isPropagationStopped(): bool; +``` + +
    Is propagation stopped?
    + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Contracts\EventDispatcher\Event + +public function stopPropagation(): void; +``` + +
    Stops the propagation of the event to further event listeners.
    + +Parameters: not specified + +Return value: void
    diff --git a/docs/tech/classes/OnlyFromCurrentClassCondition.md b/docs/tech/classes/OnlyFromCurrentClassCondition.md index 5ca289e4..6367ed6c 100644 --- a/docs/tech/classes/OnlyFromCurrentClassCondition.md +++ b/docs/tech/classes/OnlyFromCurrentClassCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnlyFromCurrentClassCondition

    - OnlyFromCurrentClassCondition class: + OnlyFromCurrentClassCondition class:

    @@ -44,7 +44,7 @@ final class OnlyFromCurrentClassCondition implements \BumbleDocGen\Core\Parser\F ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/OnlyFromCurrentClassCondition_2.md b/docs/tech/classes/OnlyFromCurrentClassCondition_2.md index 3355172c..aa4a4946 100644 --- a/docs/tech/classes/OnlyFromCurrentClassCondition_2.md +++ b/docs/tech/classes/OnlyFromCurrentClassCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnlyFromCurrentClassCondition

    - OnlyFromCurrentClassCondition class: + OnlyFromCurrentClassCondition class:

    @@ -44,7 +44,7 @@ final class OnlyFromCurrentClassCondition implements \BumbleDocGen\Core\Parser\F ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/OnlySingleExecutionEvent.md b/docs/tech/classes/OnlySingleExecutionEvent.md index eeded7cb..3159d255 100644 --- a/docs/tech/classes/OnlySingleExecutionEvent.md +++ b/docs/tech/classes/OnlySingleExecutionEvent.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OnlySingleExecutionEvent

    - OnlySingleExecutionEvent class: + OnlySingleExecutionEvent class:

    @@ -44,7 +44,7 @@ interface OnlySingleExecutionEvent ```php diff --git a/docs/tech/classes/OperationInterface.md b/docs/tech/classes/OperationInterface.md index 92d4a238..b70bafad 100644 --- a/docs/tech/classes/OperationInterface.md +++ b/docs/tech/classes/OperationInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OperationInterface

    - OperationInterface class: + OperationInterface class:

    @@ -47,7 +47,7 @@ interface OperationInterface ```php @@ -68,7 +68,7 @@ public function getKey(): string; ```php diff --git a/docs/tech/classes/OperationsCollection.md b/docs/tech/classes/OperationsCollection.md index f5bef729..14cabf97 100644 --- a/docs/tech/classes/OperationsCollection.md +++ b/docs/tech/classes/OperationsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / OperationsCollection

    - OperationsCollection class: + OperationsCollection class:

    @@ -59,7 +59,7 @@ final class OperationsCollection implements \IteratorAggregate, \Traversable ```php @@ -80,7 +80,7 @@ public function __serialize(): array; ```php @@ -118,7 +118,7 @@ public function __unserialize(array $data): void; ```php @@ -140,7 +140,7 @@ public function add(\BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\Oper $operation - \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationInterface + \BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\OperationInterface - @@ -156,7 +156,7 @@ public function add(\BumbleDocGen\Core\Parser\Entity\CollectionLogOperation\Oper ```php @@ -190,7 +190,7 @@ public function getIterator(): \Traversable; ```php @@ -212,7 +212,7 @@ public function isFoundEntitiesCacheOutdated(\BumbleDocGen\Core\Parser\Entity\Ro $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -228,7 +228,7 @@ public function isFoundEntitiesCacheOutdated(\BumbleDocGen\Core\Parser\Entity\Ro ```php diff --git a/docs/tech/classes/PageHtmlLinkerPlugin.md b/docs/tech/classes/PageHtmlLinkerPlugin.md index bccb7174..f182bece 100644 --- a/docs/tech/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/classes/PageHtmlLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PageHtmlLinkerPlugin

    - PageHtmlLinkerPlugin class: + PageHtmlLinkerPlugin class:

    @@ -42,13 +42,165 @@ final class PageHtmlLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pa +

    Initialization methods:

    +
      +
    1. + __construct +
    2. +
    +

    Methods:

    +
      +
    1. + beforeCreatingDocFile +
    2. +
    3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    4. +
    + +

    Method details:

    + +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
    $rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
    $getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
    $loggerPsr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
    + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/PageLinkProcessorInterface.md b/docs/tech/classes/PageLinkProcessorInterface.md index 0896d949..f2244ce1 100644 --- a/docs/tech/classes/PageLinkProcessorInterface.md +++ b/docs/tech/classes/PageLinkProcessorInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PageLinkProcessorInterface

    - PageLinkProcessorInterface class: + PageLinkProcessorInterface class:

    @@ -44,7 +44,7 @@ interface PageLinkProcessorInterface ```php diff --git a/docs/tech/classes/PageRstLinkerPlugin.md b/docs/tech/classes/PageRstLinkerPlugin.md index 9f1ae1e7..316c38f9 100644 --- a/docs/tech/classes/PageRstLinkerPlugin.md +++ b/docs/tech/classes/PageRstLinkerPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PageRstLinkerPlugin

    - PageRstLinkerPlugin class: + PageRstLinkerPlugin class:

    @@ -42,13 +42,165 @@ final class PageRstLinkerPlugin extends \BumbleDocGen\Core\Plugin\CorePlugin\Pag +

    Initialization methods:

    +
      +
    1. + __construct +
    2. +
    +

    Methods:

    +
      +
    1. + beforeCreatingDocFile +
    2. +
    3. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    4. +
    + +

    Method details:

    + +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function __construct(\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup $rootEntityCollectionsGroup, \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl $getDocumentedEntityUrlFunction, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $breadcrumbsHelper\BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper-
    $rootEntityCollectionsGroup\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup-
    $getDocumentedEntityUrlFunction\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl-
    $loggerPsr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile $event): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $event\BumbleDocGen\Core\Plugin\Event\Renderer\BeforeCreatingDocFile-
    + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Plugin\CorePlugin\PageLinker\BasePageLinker + +public static function getSubscribedEvents(): array; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/ParserHelper.md b/docs/tech/classes/ParserHelper.md index 3d61baab..355db47b 100644 --- a/docs/tech/classes/ParserHelper.md +++ b/docs/tech/classes/ParserHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ParserHelper

    - ParserHelper class: + ParserHelper class:

    @@ -84,7 +84,7 @@ final class ParserHelper ```php @@ -106,17 +106,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $reflector - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -136,7 +136,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -157,7 +157,7 @@ public static function getBuiltInClassNames(): array; ```php @@ -195,7 +195,7 @@ public function getClassFromFile(mixed $file): string|null; ```php @@ -217,7 +217,7 @@ public function getDocBlock(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -253,7 +253,7 @@ public function getDocBlock(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -275,7 +275,7 @@ public function getDocBlockContext(\BumbleDocGen\LanguageHandler\Php\Parser\Enti $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -301,7 +301,7 @@ public function getDocBlockContext(\BumbleDocGen\LanguageHandler\Php\Parser\Enti ```php @@ -329,7 +329,7 @@ public function getFilesInGit(): array; ```php @@ -372,7 +372,7 @@ public function getMethodReturnValue(\Roave\BetterReflection\Reflection\Reflecti ```php @@ -394,7 +394,7 @@ public function getUsesListByClassEntity(\BumbleDocGen\LanguageHandler\Php\Parse $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - @@ -425,7 +425,7 @@ public function getUsesListByClassEntity(\BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -463,7 +463,7 @@ public static function isBuiltInClass(string $className): bool; ```php @@ -501,7 +501,7 @@ public static function isBuiltInType(string $name): bool; ```php @@ -539,7 +539,7 @@ public function isClassLoaded(string $className): bool; ```php @@ -582,7 +582,7 @@ public static function isCorrectClassName(string $className, bool $checkBuiltIns ```php @@ -609,7 +609,7 @@ public function parseFullClassName(string $searchClassName, \BumbleDocGen\Langua $parentClassEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - diff --git a/docs/tech/classes/PhpClassRendererTwigEnvironment.md b/docs/tech/classes/PhpClassRendererTwigEnvironment.md index 872e4303..59ad1c8b 100644 --- a/docs/tech/classes/PhpClassRendererTwigEnvironment.md +++ b/docs/tech/classes/PhpClassRendererTwigEnvironment.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpClassRendererTwigEnvironment

    - PhpClassRendererTwigEnvironment class: + PhpClassRendererTwigEnvironment class:

    @@ -51,7 +51,7 @@ final class PhpClassRendererTwigEnvironment ```php @@ -73,7 +73,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\MainExtension $main $mainExtension - \BumbleDocGen\Core\Renderer\Twig\MainExtension + \BumbleDocGen\Core\Renderer\Twig\MainExtension - @@ -88,7 +88,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\MainExtension $main ```php diff --git a/docs/tech/classes/PhpClassToMdDocRenderer.md b/docs/tech/classes/PhpClassToMdDocRenderer.md index aadac544..86433c42 100644 --- a/docs/tech/classes/PhpClassToMdDocRenderer.md +++ b/docs/tech/classes/PhpClassToMdDocRenderer.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpClassToMdDocRenderer

    - PhpClassToMdDocRenderer class: + PhpClassToMdDocRenderer class:

    @@ -52,15 +52,15 @@ class PhpClassToMdDocRenderer implements \BumbleDocGen\Core\Renderer\EntityDocRe @@ -75,7 +75,7 @@ class PhpClassToMdDocRenderer implements \BumbleDocGen\Core\Renderer\EntityDocRe ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Renderer\EntityDoc $classRendererTwig - \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\PhpClassToMd\PhpClassRendererTwigEnvironment + \BumbleDocGen\LanguageHandler\Php\Renderer\EntityDocRenderer\PhpClassToMd\PhpClassRendererTwigEnvironment - @@ -112,7 +112,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Renderer\EntityDoc ```php @@ -133,7 +133,7 @@ public function getDocFileExtension(): string; ```php @@ -154,7 +154,7 @@ public function getDocFileNamespace(): string; ```php @@ -176,7 +176,7 @@ public function getRenderedText(\BumbleDocGen\Core\Renderer\Context\DocumentedEn $entityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -205,7 +205,7 @@ public function getRenderedText(\BumbleDocGen\Core\Renderer\Context\DocumentedEn ```php @@ -227,7 +227,7 @@ public function isAvailableForEntity(\BumbleDocGen\Core\Parser\Entity\RootEntity $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface The entity whose documentation was requested diff --git a/docs/tech/classes/PhpDocumentorStubberPlugin.md b/docs/tech/classes/PhpDocumentorStubberPlugin.md index cd960aad..2cb06286 100644 --- a/docs/tech/classes/PhpDocumentorStubberPlugin.md +++ b/docs/tech/classes/PhpDocumentorStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpDocumentorStubberPlugin

    - PhpDocumentorStubberPlugin class: + PhpDocumentorStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PhpDocumentorStubberPlugin implements \BumbleDocGen\Core\Plugin\Plug ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/PhpHandler.md b/docs/tech/classes/PhpHandler.md index 00915219..91a5e1b1 100644 --- a/docs/tech/classes/PhpHandler.md +++ b/docs/tech/classes/PhpHandler.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpHandler

    - PhpHandler class: + PhpHandler class:

    @@ -60,7 +60,7 @@ final class PhpHandler implements \BumbleDocGen\LanguageHandler\LanguageHandlerI ```php @@ -82,12 +82,12 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntityCollection - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - @@ -102,7 +102,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -124,13 +124,13 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection Throws: @@ -153,7 +153,7 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere ```php @@ -175,13 +175,13 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende $context - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection Throws: @@ -204,7 +204,7 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende ```php @@ -215,7 +215,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Throws: @@ -241,7 +241,7 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti ```php diff --git a/docs/tech/classes/PhpHandlerSettings.md b/docs/tech/classes/PhpHandlerSettings.md index 7f5f189e..58e608a9 100644 --- a/docs/tech/classes/PhpHandlerSettings.md +++ b/docs/tech/classes/PhpHandlerSettings.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpHandlerSettings

    - PhpHandlerSettings class: + PhpHandlerSettings class:

    @@ -67,11 +67,11 @@ final class PhpHandlerSettings @@ -86,7 +86,7 @@ final class PhpHandlerSettings ```php @@ -108,12 +108,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -128,7 +128,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -156,7 +156,7 @@ public function asyncSourceLoadingEnabled(): bool; ```php @@ -167,7 +167,7 @@ public function getClassConstantEntityFilter(): \BumbleDocGen\Core\Parser\Filter Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface +Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface Throws: @@ -190,7 +190,7 @@ public function getClassConstantEntityFilter(): \BumbleDocGen\Core\Parser\Filter ```php @@ -201,7 +201,7 @@ public function getClassEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditio Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface +Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface Throws: @@ -224,7 +224,7 @@ public function getClassEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditio ```php @@ -235,7 +235,7 @@ public function getCustomTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\ Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection Throws: @@ -258,7 +258,7 @@ public function getCustomTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\ ```php @@ -269,7 +269,7 @@ public function getCustomTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Funct Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection Throws: @@ -292,7 +292,7 @@ public function getCustomTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Funct ```php @@ -303,7 +303,7 @@ public function getEntityDocRenderersCollection(): \BumbleDocGen\Core\Renderer\E Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRenderersCollection +Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRenderersCollection Throws: @@ -326,7 +326,7 @@ public function getEntityDocRenderersCollection(): \BumbleDocGen\Core\Renderer\E ```php @@ -354,7 +354,7 @@ public function getFileSourceBaseUrl(): string|null; ```php @@ -365,7 +365,7 @@ public function getMethodEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditi Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface +Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface Throws: @@ -388,7 +388,7 @@ public function getMethodEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditi ```php @@ -399,7 +399,7 @@ public function getPropertyEntityFilter(): \BumbleDocGen\Core\Parser\FilterCondi Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface +Return value: \BumbleDocGen\Core\Parser\FilterCondition\ConditionInterface Throws: diff --git a/docs/tech/classes/PhpUnitStubberPlugin.md b/docs/tech/classes/PhpUnitStubberPlugin.md index 50648d0a..2827d67c 100644 --- a/docs/tech/classes/PhpUnitStubberPlugin.md +++ b/docs/tech/classes/PhpUnitStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PhpUnitStubberPlugin

    - PhpUnitStubberPlugin class: + PhpUnitStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PhpUnitStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInte ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/PluginEventDispatcher.md b/docs/tech/classes/PluginEventDispatcher.md index a76dd2f2..f21219a2 100644 --- a/docs/tech/classes/PluginEventDispatcher.md +++ b/docs/tech/classes/PluginEventDispatcher.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PluginEventDispatcher

    - PluginEventDispatcher class: + PluginEventDispatcher class:

    @@ -33,9 +33,30 @@ class PluginEventDispatcher extends \Symfony\Component\EventDispatcher\EventDisp

    Methods:

      +
    1. + addListener + - Adds an event listener that listens on the specified events.
    2. +
    3. + addSubscriber + - Adds an event subscriber.
    4. dispatch - Dispatches an event to all registered listeners.
    5. +
    6. + getListenerPriority + - Gets the listener priority for a specific event.
    7. +
    8. + getListeners + - Gets the listeners of a specific event or all listeners sorted by descending priority.
    9. +
    10. + hasListeners + - Checks whether an event has any registered listeners.
    11. +
    12. + removeListener + - Removes an event listener from the specified events.
    13. +
    14. + removeSubscriber +
    @@ -51,7 +72,7 @@ class PluginEventDispatcher extends \Symfony\Component\EventDispatcher\EventDisp ```php @@ -73,7 +94,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -94,6 +115,97 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf + +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function addListener(string $eventName, callable|array $listener, int $priority): mixed; +``` + +
    Adds an event listener that listens on the specified events.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eventNamestring-
    $listenercallable | array-
    $priorityintThe higher this value, the earlier an event + listener will be triggered in the chain (defaults to 0)
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function addSubscriber(\Symfony\Component\EventDispatcher\EventSubscriberInterface $subscriber): mixed; +``` + +
    Adds an event subscriber.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $subscriberSymfony\Component\EventDispatcher\EventSubscriberInterface-
    + +Return value: mixed + +

    @@ -101,7 +213,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -138,6 +250,216 @@ public function dispatch(object $event, string|null $eventName = NULL): object; Return value: object +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function getListenerPriority(string $eventName, callable|array $listener): int|null; +``` + +
    Gets the listener priority for a specific event.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eventNamestring-
    $listenercallable | array-
    + +Return value: int | null + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function getListeners(string|null $eventName = NULL): array; +``` + +
    Gets the listeners of a specific event or all listeners sorted by descending priority.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eventNamestring | null-
    + +Return value: array + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function hasListeners(string|null $eventName = NULL): bool; +``` + +
    Checks whether an event has any registered listeners.
    + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eventNamestring | null-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function removeListener(string $eventName, callable|array $listener): mixed; +``` + +
    Removes an event listener from the specified events.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $eventNamestring-
    $listenercallable | array-
    + +Return value: mixed + + +
    +
    +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventDispatcher + +public function removeSubscriber(\Symfony\Component\EventDispatcher\EventSubscriberInterface $subscriber): mixed; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $subscriberSymfony\Component\EventDispatcher\EventSubscriberInterface-
    + +Return value: mixed + +

    diff --git a/docs/tech/classes/PluginInterface.md b/docs/tech/classes/PluginInterface.md index 730d1663..2062a7a2 100644 --- a/docs/tech/classes/PluginInterface.md +++ b/docs/tech/classes/PluginInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PluginInterface

    - PluginInterface class: + PluginInterface class:

    @@ -23,7 +23,13 @@ interface PluginInterface extends \\Symfony\Component\EventDispatcher\EventSubsc +

    Methods:

    +
      +
    1. + getSubscribedEvents + - Returns an array of event names this subscriber wants to listen to.
    2. +
    @@ -31,4 +37,30 @@ interface PluginInterface extends \\Symfony\Component\EventDispatcher\EventSubsc +

    Method details:

    + +
    + + + +```php +// Implemented in Symfony\Component\EventDispatcher\EventSubscriberInterface + +public static function getSubscribedEvents(): array>; +``` + +
    Returns an array of event names this subscriber wants to listen to.
    + +Parameters: not specified + +Return value: array | array{0:string,1:int} | list> + + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/PluginsCollection.md b/docs/tech/classes/PluginsCollection.md index 5b91e208..b93faf54 100644 --- a/docs/tech/classes/PluginsCollection.md +++ b/docs/tech/classes/PluginsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PluginsCollection

    - PluginsCollection class: + PluginsCollection class:

    @@ -53,7 +53,7 @@ final class PluginsCollection implements \IteratorAggregate, \Traversable ```php @@ -75,13 +75,13 @@ public function add(\BumbleDocGen\Core\Plugin\PluginInterface $plugins): \Bumble $plugins - \BumbleDocGen\Core\Plugin\PluginInterface + \BumbleDocGen\Core\Plugin\PluginInterface - -Return value: \BumbleDocGen\Core\Plugin\PluginsCollection +Return value: \BumbleDocGen\Core\Plugin\PluginsCollection @@ -91,7 +91,7 @@ public function add(\BumbleDocGen\Core\Plugin\PluginInterface $plugins): \Bumble ```php @@ -113,13 +113,13 @@ public static function create(\BumbleDocGen\Core\Plugin\PluginInterface $plugins $plugins - \BumbleDocGen\Core\Plugin\PluginInterface + \BumbleDocGen\Core\Plugin\PluginInterface - -Return value: \BumbleDocGen\Core\Plugin\PluginsCollection +Return value: \BumbleDocGen\Core\Plugin\PluginsCollection @@ -129,7 +129,7 @@ public static function create(\BumbleDocGen\Core\Plugin\PluginInterface $plugins ```php @@ -157,7 +157,7 @@ public function get(string $key): \BumbleDocGen\Core\Plugin\PluginInterface|null -Return value: \BumbleDocGen\Core\Plugin\PluginInterface | null +Return value: \BumbleDocGen\Core\Plugin\PluginInterface | null @@ -167,7 +167,7 @@ public function get(string $key): \BumbleDocGen\Core\Plugin\PluginInterface|null ```php diff --git a/docs/tech/classes/PregMatch.md b/docs/tech/classes/PregMatch.md index 098902cc..460bf42f 100644 --- a/docs/tech/classes/PregMatch.md +++ b/docs/tech/classes/PregMatch.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PregMatch

    - PregMatch class: + PregMatch class:

    @@ -70,7 +70,7 @@ See: ```php @@ -113,7 +113,7 @@ public function __invoke(string $text, string $pattern): array; ```php @@ -134,7 +134,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/PrepareSourceLink.md b/docs/tech/classes/PrepareSourceLink.md index 6cc5fc16..99b22960 100644 --- a/docs/tech/classes/PrepareSourceLink.md +++ b/docs/tech/classes/PrepareSourceLink.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PrepareSourceLink

    - PrepareSourceLink class: + PrepareSourceLink class:

    @@ -64,7 +64,7 @@ final class PrepareSourceLink implements \BumbleDocGen\Core\Renderer\Twig\Filter ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/PrintEntityCollectionAsList.md b/docs/tech/classes/PrintEntityCollectionAsList.md index c702b152..6c424765 100644 --- a/docs/tech/classes/PrintEntityCollectionAsList.md +++ b/docs/tech/classes/PrintEntityCollectionAsList.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PrintEntityCollectionAsList

    - PrintEntityCollectionAsList class: + PrintEntityCollectionAsList class:

    @@ -82,7 +82,7 @@ The function will list all documented PHP classes ```php @@ -104,7 +104,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Twig\Function\GetDocumen ```php @@ -141,7 +141,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection Processed entity collection @@ -179,7 +179,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ ```php @@ -200,7 +200,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/ProgressBarFactory.md b/docs/tech/classes/ProgressBarFactory.md index ec42f919..1ca28f1d 100644 --- a/docs/tech/classes/ProgressBarFactory.md +++ b/docs/tech/classes/ProgressBarFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ProgressBarFactory

    - ProgressBarFactory class: + ProgressBarFactory class:

    @@ -51,7 +51,7 @@ final class ProgressBarFactory ```php @@ -88,7 +88,7 @@ public function __construct(\Symfony\Component\Console\Style\OutputStyle $io); ```php @@ -99,7 +99,7 @@ public function createStylizedProgressBar(): \BumbleDocGen\Core\Console\Stylized Parameters: not specified -Return value: \BumbleDocGen\Core\Console\StylizedProgressBar +Return value: \BumbleDocGen\Core\Console\StylizedProgressBar diff --git a/docs/tech/classes/ProjectParser.md b/docs/tech/classes/ProjectParser.md index 173b2ad8..36be82a1 100644 --- a/docs/tech/classes/ProjectParser.md +++ b/docs/tech/classes/ProjectParser.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ProjectParser

    - ProjectParser class: + ProjectParser class:

    @@ -51,7 +51,7 @@ final class ProjectParser ```php @@ -73,12 +73,12 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - @@ -93,7 +93,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -104,7 +104,7 @@ public function parse(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsG Parameters: not specified -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup Throws: diff --git a/docs/tech/classes/PropertyEntity.md b/docs/tech/classes/PropertyEntity.md index f4959d75..3a997aef 100644 --- a/docs/tech/classes/PropertyEntity.md +++ b/docs/tech/classes/PropertyEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PropertyEntity

    - PropertyEntity class: + PropertyEntity class:

    @@ -33,24 +33,54 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. +
    3. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    4. +
    5. + getCacheKey +
    6. +
    7. + getCachedEntityDependencies +
    8. getDefaultValue
    9. getDescription
    10. +
    11. + getDescriptionLinks + - Get parsed links from description and doc blocks `see` and `link`
    12. getDocBlock
    13. +
    14. + getDocComment + - Get the doc comment of an entity
    15. getDocCommentEntity
    16. +
    17. + getDocNote +
    18. getEndLine
    19. +
    20. + getExamples + - Get parsed examples from `examples` doc block
    21. getFileName
    22. +
    23. + getFileSourceLink +
    24. +
    25. + getFirstExample + - Get first example from @examples doc block
    26. getImplementingClass
    27. @@ -69,6 +99,9 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    28. getNamespaceName
    29. +
    30. + getObjectId + - Get entity unique ID
    31. getPhpHandlerSettings
    32. @@ -84,12 +117,36 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    33. getStartLine
    34. +
    35. + getThrows + - Get parsed throws from `throws` doc block
    36. getType
    37. +
    38. + hasDescriptionLinks +
    39. +
    40. + hasExamples +
    41. +
    42. + hasThrows +
    43. +
    44. + isDeprecated +
    45. +
    46. + isEntityDataCacheOutdated +
    47. +
    48. + isEntityFileCanBeLoad +
    49. isImplementedInParentClass
    50. +
    51. + isInternal +
    52. isPrivate
    53. @@ -99,6 +156,12 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas
    54. isPublic
    55. +
    56. + reloadEntityDependenciesCache +
    57. +
    58. + removeNotUsedEntityDataCache +
    @@ -114,7 +177,7 @@ class PropertyEntity extends \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Bas ```php @@ -136,22 +199,22 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $parserHelper - \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper + \BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -179,6 +242,122 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getAbsoluteFileName(): string|null; +``` + +
    Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCacheKey(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getCachedEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +Throws: + +

    @@ -186,7 +365,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -217,7 +396,7 @@ public function getDefaultValue(): string|array|int|bool|null|float; ```php @@ -251,10 +430,43 @@ public function getDescription(): string;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDescriptionLinks(): array; +``` + +
    Get parsed links from description and doc blocks `see` and `link`
    + +Parameters: not specified + +Return value: array + + +Throws: + + +
    +
    +
    + ```php @@ -288,10 +500,43 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock;
    + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocComment(): string; +``` + +
    Get the doc comment of an entity
    + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + ```php @@ -302,7 +547,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity Throws: @@ -321,6 +566,29 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getDocNote(): string; +``` + + + +Parameters: not specified + +Return value: string + +

    @@ -328,7 +596,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -352,6 +620,29 @@ public function getEndLine(): int; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getExamples(): array; +``` + +
    Get parsed examples from `examples` doc block
    + +Parameters: not specified + +Return value: array + +

    @@ -359,7 +650,7 @@ public function getEndLine(): int; ```php @@ -383,6 +674,76 @@ public function getFileName(): string|null; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $withLinebool-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getFirstExample(): string; +``` + +
    Get first example from @examples doc block
    + +Parameters: not specified + +Return value: string + +

    @@ -390,7 +751,7 @@ public function getFileName(): string|null; ```php @@ -401,7 +762,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -411,7 +772,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -432,7 +793,7 @@ public function getImplementingClassName(): string; ```php @@ -463,7 +824,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -500,7 +861,7 @@ public function getModifiersString(): string; ```php @@ -521,7 +882,7 @@ public function getName(): string; ```php @@ -545,6 +906,29 @@ public function getNamespaceName(): string; +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getObjectId(): string; +``` + +
    Get entity unique ID
    + +Parameters: not specified + +Return value: string + +

    @@ -552,7 +936,7 @@ public function getNamespaceName(): string; ```php @@ -563,7 +947,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings +Return value: \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings
    @@ -573,7 +957,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -584,7 +968,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity
    @@ -594,7 +978,7 @@ public function getRootEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity ```php @@ -605,7 +989,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par Parameters: not specified -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntityCollection @@ -615,7 +999,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -636,7 +1020,7 @@ public function getShortName(): string; ```php @@ -650,6 +1034,39 @@ public function getStartLine(): int; Return value: int +Throws: + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function getThrows(): array; +``` + +
    Get parsed throws from `throws` doc block
    + +Parameters: not specified + +Return value: array + + Throws:
    • @@ -667,7 +1084,7 @@ public function getStartLine(): int; ```php @@ -701,10 +1118,172 @@ public function getType(): string;
      + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasDescriptionLinks(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasExamples(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function hasThrows(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isDeprecated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function isEntityDataCacheOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isEntityFileCanBeLoad(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
      +
      +
      + ```php @@ -713,6 +1292,29 @@ public function isImplementedInParentClass(): bool; +Parameters: not specified + +Return value: bool + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function isInternal(): bool; +``` + + + Parameters: not specified Return value: bool @@ -725,7 +1327,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -756,7 +1358,7 @@ public function isPrivate(): bool; ```php @@ -787,7 +1389,7 @@ public function isProtected(): bool; ```php @@ -811,6 +1413,66 @@ public function isPublic(): bool;
    +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\LanguageHandler\Php\Parser\Entity\BaseEntity + +public function reloadEntityDependenciesCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityTrait + +public function removeNotUsedEntityDataCache(): void; +``` + + + +Parameters: not specified + +Return value: void + + +Throws: + +

    diff --git a/docs/tech/classes/PropertyEntityCollection.md b/docs/tech/classes/PropertyEntityCollection.md index 6889c5ab..19e9435c 100644 --- a/docs/tech/classes/PropertyEntityCollection.md +++ b/docs/tech/classes/PropertyEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PropertyEntityCollection

    - PropertyEntityCollection class: + PropertyEntityCollection class:

    @@ -39,9 +39,21 @@ final class PropertyEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba
  • get
  • +
  • + getIterator + - Retrieve an external iterator
  • +
  • + has +
  • +
  • + isEmpty +
  • loadPropertyEntities
  • +
  • + remove +
  • unsafeGet
  • @@ -60,7 +72,7 @@ final class PropertyEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Ba ```php @@ -82,17 +94,17 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas $classEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $cacheablePhpEntityFactory - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Cache\CacheablePhpEntityFactory - @@ -107,7 +119,7 @@ public function __construct(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas ```php @@ -129,7 +141,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti $propertyEntity - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity - @@ -140,7 +152,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntityCollection @@ -150,7 +162,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEnti ```php @@ -178,7 +190,106 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null + + + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool
    @@ -188,7 +299,7 @@ public function get(string $objectName): \BumbleDocGen\LanguageHandler\Php\Parse ```php @@ -218,6 +329,46 @@ public function loadPropertyEntities(): void; + +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + +

    @@ -225,7 +376,7 @@ public function loadPropertyEntities(): void; ```php @@ -253,7 +404,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php -Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null +Return value: \BumbleDocGen\LanguageHandler\Php\Parser\Entity\PropertyEntity | null Throws: diff --git a/docs/tech/classes/PsrClassesStubberPlugin.md b/docs/tech/classes/PsrClassesStubberPlugin.md index 5817496a..f244fea8 100644 --- a/docs/tech/classes/PsrClassesStubberPlugin.md +++ b/docs/tech/classes/PsrClassesStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PsrClassesStubberPlugin

    - PsrClassesStubberPlugin class: + PsrClassesStubberPlugin class:

    @@ -50,7 +50,7 @@ final class PsrClassesStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginI ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/Quotemeta.md b/docs/tech/classes/Quotemeta.md index acb72340..7194e83d 100644 --- a/docs/tech/classes/Quotemeta.md +++ b/docs/tech/classes/Quotemeta.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / Quotemeta

    - Quotemeta class: + Quotemeta class:

    @@ -70,7 +70,7 @@ See: ```php @@ -108,7 +108,7 @@ public function __invoke(string $text): string; ```php @@ -129,7 +129,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/ReadmeTemplateFiller.md b/docs/tech/classes/ReadmeTemplateFiller.md index 33b5b76b..caca2ebd 100644 --- a/docs/tech/classes/ReadmeTemplateFiller.md +++ b/docs/tech/classes/ReadmeTemplateFiller.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ReadmeTemplateFiller

    - ReadmeTemplateFiller class: + ReadmeTemplateFiller class:

    @@ -43,7 +43,7 @@ final class ReadmeTemplateFiller @@ -58,7 +58,7 @@ final class ReadmeTemplateFiller ```php @@ -100,7 +100,7 @@ public function __construct(\Tectalic\OpenAi\Client $openaiClient, string $model ```php @@ -122,7 +122,7 @@ public function generateReadmeFileContent(\BumbleDocGen\Core\Parser\Entity\RootE $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - diff --git a/docs/tech/classes/RecursiveDirectoriesSourceLocator.md b/docs/tech/classes/RecursiveDirectoriesSourceLocator.md index e95732cc..3ab64c9a 100644 --- a/docs/tech/classes/RecursiveDirectoriesSourceLocator.md +++ b/docs/tech/classes/RecursiveDirectoriesSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RecursiveDirectoriesSourceLocator

    - RecursiveDirectoriesSourceLocator class: + RecursiveDirectoriesSourceLocator class:

    @@ -30,6 +30,13 @@ final class RecursiveDirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\ +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class RecursiveDirectoriesSourceLocator extends \BumbleDocGen\Core\Parser\ ```php @@ -84,6 +91,29 @@ public function __construct(array $directories, array $exclude = [ ], bool $abor +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/classes/RefValueResolver.md b/docs/tech/classes/RefValueResolver.md index d6d6c493..c33dcbf0 100644 --- a/docs/tech/classes/RefValueResolver.md +++ b/docs/tech/classes/RefValueResolver.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RefValueResolver

    - RefValueResolver class: + RefValueResolver class:

    @@ -56,7 +56,7 @@ output_dir: "%project_root%/docs" ```php @@ -78,7 +78,7 @@ public function resolveValue(\BumbleDocGen\Core\Configuration\ConfigurationParam $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - diff --git a/docs/tech/classes/ReflectionException.md b/docs/tech/classes/ReflectionException.md index 1e18d3aa..f512b636 100644 --- a/docs/tech/classes/ReflectionException.md +++ b/docs/tech/classes/ReflectionException.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ReflectionException

    - ReflectionException class: + ReflectionException class:

    @@ -29,13 +29,363 @@ See: +

    Initialization methods:

    +
      +
    1. + __construct + - Construct the exception. Note: The message is NOT binary safe.
    2. +
    +

    Methods:

    +
      +
    1. + __toString + - String representation of the exception
    2. +
    3. + __wakeup +
    4. +
    5. + getCode + - Gets the Exception code
    6. +
    7. + getFile + - Gets the file in which the exception occurred
    8. +
    9. + getLine + - Gets the line in which the exception occurred
    10. +
    11. + getMessage + - Gets the Exception message
    12. +
    13. + getPrevious + - Returns previous Exception
    14. +
    15. + getTrace + - Gets the stack trace
    16. +
    17. + getTraceAsString + - Gets the stack trace as a string
    18. +
    + +

    Method details:

    + +
    + +
      +
    • # + __construct +
    • +
    + +```php +// Implemented in Exception + +public function __construct(string $message = '', int $code, \Throwable|null $previous = NULL); +``` + +
    Construct the exception. Note: The message is NOT binary safe.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previousThrowable | null[optional] The previous throwable used for the exception chaining.
    + + + + +See: + +
    +
    +
    + +
      +
    • # + __toString +
    • +
    + +```php +// Implemented in Exception + +public function __toString(): string; +``` + +
    String representation of the exception
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + __wakeup +
    • +
    + +```php +// Implemented in Exception + +public function __wakeup(): mixed; +``` + + + +Parameters: not specified + +Return value: mixed + + +
    +
    +
    + +
      +
    • # + getCode +
    • +
    + +```php +// Implemented in Exception + +public function getCode(): mixed|int; +``` + +
    Gets the Exception code
    + +Parameters: not specified + +Return value: mixed | int + + + +See: + +
    +
    +
    + +
      +
    • # + getFile +
    • +
    + +```php +// Implemented in Exception + +public function getFile(): string; +``` + +
    Gets the file in which the exception occurred
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getLine +
    • +
    + +```php +// Implemented in Exception + +public function getLine(): int; +``` + +
    Gets the line in which the exception occurred
    + +Parameters: not specified + +Return value: int + + + +See: + +
    +
    +
    + +
      +
    • # + getMessage +
    • +
    + +```php +// Implemented in Exception + +public function getMessage(): string; +``` + +
    Gets the Exception message
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    +
    + +
      +
    • # + getPrevious +
    • +
    + +```php +// Implemented in Exception + +public function getPrevious(): \Throwable|null; +``` + +
    Returns previous Exception
    + +Parameters: not specified + +Return value: \Throwable | null + + + +See: + +
    +
    +
    + +
      +
    • # + getTrace +
    • +
    + +```php +// Implemented in Exception + +public function getTrace(): array; +``` + +
    Gets the stack trace
    + +Parameters: not specified + +Return value: array + + + +See: + +
    +
    +
    + +
      +
    • # + getTraceAsString +
    • +
    + +```php +// Implemented in Exception + +public function getTraceAsString(): string; +``` + +
    Gets the stack trace as a string
    + +Parameters: not specified + +Return value: string + + + +See: + +
    +
    + \ No newline at end of file diff --git a/docs/tech/classes/ReflectorWrapper.md b/docs/tech/classes/ReflectorWrapper.md index af2f181a..b651ea16 100644 --- a/docs/tech/classes/ReflectorWrapper.md +++ b/docs/tech/classes/ReflectorWrapper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ReflectorWrapper

    - ReflectorWrapper class: + ReflectorWrapper class:

    @@ -66,7 +66,7 @@ final class ReflectorWrapper implements \Roave\BetterReflection\Reflector\Reflec ```php @@ -88,17 +88,17 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $phpHandlerSettings - \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings + \BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - @@ -108,7 +108,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $sourceLocatorCache - \BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool + \BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool - @@ -123,7 +123,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -157,7 +157,7 @@ public function reflectAllClasses(): iterable; ```php @@ -191,7 +191,7 @@ public function reflectAllConstants(): iterable; ```php @@ -225,7 +225,7 @@ public function reflectAllFunctions(): iterable; ```php @@ -276,7 +276,7 @@ public function reflectClass(string $identifierName): \Roave\BetterReflection\Re ```php @@ -327,7 +327,7 @@ public function reflectConstant(string $identifierName): \Roave\BetterReflection ```php diff --git a/docs/tech/classes/RemoveLineBrakes.md b/docs/tech/classes/RemoveLineBrakes.md index ab79973b..7ffb0437 100644 --- a/docs/tech/classes/RemoveLineBrakes.md +++ b/docs/tech/classes/RemoveLineBrakes.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RemoveLineBrakes

    - RemoveLineBrakes class: + RemoveLineBrakes class:

    @@ -64,7 +64,7 @@ final class RemoveLineBrakes implements \BumbleDocGen\Core\Renderer\Twig\Filter\ ```php @@ -102,7 +102,7 @@ public function __invoke(string $text): string; ```php @@ -123,7 +123,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/Renderer.md b/docs/tech/classes/Renderer.md index 4e3889bb..84e9b773 100644 --- a/docs/tech/classes/Renderer.md +++ b/docs/tech/classes/Renderer.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / Renderer

    - Renderer class: + Renderer class:

    @@ -59,7 +59,7 @@ See: ```php @@ -81,37 +81,37 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $twig - \BumbleDocGen\Core\Renderer\Twig\MainTwigEnvironment + \BumbleDocGen\Core\Renderer\Twig\MainTwigEnvironment - $renderIteratorFactory - \BumbleDocGen\Core\Renderer\RendererIteratorFactory + \BumbleDocGen\Core\Renderer\RendererIteratorFactory - $sharedCompressedDocumentFileCache - \BumbleDocGen\Core\Cache\SharedCompressedDocumentFileCache + \BumbleDocGen\Core\Cache\SharedCompressedDocumentFileCache - @@ -136,7 +136,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php diff --git a/docs/tech/classes/RendererContext.md b/docs/tech/classes/RendererContext.md index 69949ce8..ba039c48 100644 --- a/docs/tech/classes/RendererContext.md +++ b/docs/tech/classes/RendererContext.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererContext

    - RendererContext class: + RendererContext class:

    @@ -62,7 +62,7 @@ final class RendererContext ```php @@ -84,7 +84,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren $dependency - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface - @@ -100,7 +100,7 @@ public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\Ren ```php @@ -121,7 +121,7 @@ public function clearDependencies(): void; ```php @@ -132,7 +132,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer Parameters: not specified -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null +Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null @@ -142,7 +142,7 @@ public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer ```php @@ -163,7 +163,7 @@ public function getCurrentTemplateFilePatch(): string; ```php @@ -184,7 +184,7 @@ public function getDependencies(): array; ```php @@ -206,7 +206,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co $currentDocumentedEntityWrapper - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - @@ -222,7 +222,7 @@ public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Co ```php diff --git a/docs/tech/classes/RendererContextCacheKeyGenerator.md b/docs/tech/classes/RendererContextCacheKeyGenerator.md index bee89f1e..da421a39 100644 --- a/docs/tech/classes/RendererContextCacheKeyGenerator.md +++ b/docs/tech/classes/RendererContextCacheKeyGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererContextCacheKeyGenerator

    - RendererContextCacheKeyGenerator class: + RendererContextCacheKeyGenerator class:

    @@ -44,7 +44,7 @@ final class RendererContextCacheKeyGenerator implements \BumbleDocGen\Core\Parse ```php @@ -71,7 +71,7 @@ public static function generateKey(string $cacheNamespace, \BumbleDocGen\Core\Pa $entity - \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface + \BumbleDocGen\Core\Parser\Entity\Cache\CacheableEntityInterface - diff --git a/docs/tech/classes/RendererDependencyFactory.md b/docs/tech/classes/RendererDependencyFactory.md index a8dcbfbe..96fba701 100644 --- a/docs/tech/classes/RendererDependencyFactory.md +++ b/docs/tech/classes/RendererDependencyFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererDependencyFactory

    - RendererDependencyFactory class: + RendererDependencyFactory class:

    @@ -54,7 +54,7 @@ final class RendererDependencyFactory ```php @@ -76,7 +76,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - @@ -91,7 +91,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -119,7 +119,7 @@ public function createDirectoryDependency(string $dirPath): \BumbleDocGen\Core\R -Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\DirectoryDependency +Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\DirectoryDependency Throws: @@ -136,7 +136,7 @@ public function createDirectoryDependency(string $dirPath): \BumbleDocGen\Core\R ```php @@ -174,7 +174,7 @@ public function createFileDependency(string $filePath, string|null $contentFilte -Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\FileDependency +Return value: \BumbleDocGen\Core\Renderer\Context\Dependency\FileDependency Throws: diff --git a/docs/tech/classes/RendererDependencyInterface.md b/docs/tech/classes/RendererDependencyInterface.md index eecda4c4..5b6e4b47 100644 --- a/docs/tech/classes/RendererDependencyInterface.md +++ b/docs/tech/classes/RendererDependencyInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererDependencyInterface

    - RendererDependencyInterface class: + RendererDependencyInterface class:

    @@ -44,7 +44,7 @@ interface RendererDependencyInterface ```php @@ -66,7 +66,7 @@ public function isChanged(\BumbleDocGen\Core\Renderer\RendererHelper $rendererHe $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - diff --git a/docs/tech/classes/RendererHelper.md b/docs/tech/classes/RendererHelper.md index 796a9bb9..6e2d55a7 100644 --- a/docs/tech/classes/RendererHelper.md +++ b/docs/tech/classes/RendererHelper.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererHelper

    - RendererHelper class: + RendererHelper class:

    @@ -57,7 +57,7 @@ final class RendererHelper ```php @@ -79,12 +79,12 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu $pluginEventDispatcher - \BumbleDocGen\Core\Plugin\PluginEventDispatcher + \BumbleDocGen\Core\Plugin\PluginEventDispatcher - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -99,7 +99,7 @@ public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $plu ```php @@ -147,7 +147,7 @@ public function fileInternalLinkToFilePath(string $fileInternalLink): string; ```php @@ -195,7 +195,7 @@ public function filePathToFileInternalLink(string $fileName): string; ```php diff --git a/docs/tech/classes/RendererIteratorFactory.md b/docs/tech/classes/RendererIteratorFactory.md index 3146ee14..38028928 100644 --- a/docs/tech/classes/RendererIteratorFactory.md +++ b/docs/tech/classes/RendererIteratorFactory.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RendererIteratorFactory

    - RendererIteratorFactory class: + RendererIteratorFactory class:

    @@ -57,7 +57,7 @@ final class RendererIteratorFactory ```php @@ -79,52 +79,52 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext - \BumbleDocGen\Core\Renderer\Context\RendererContext + \BumbleDocGen\Core\Renderer\Context\RendererContext - $rootEntityCollectionsGroup - \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup + \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup - $documentedEntityWrappersCollection - \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection + \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection - $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - $configurationParameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - $sharedCompressedDocumentFileCache - \BumbleDocGen\Core\Cache\SharedCompressedDocumentFileCache + \BumbleDocGen\Core\Cache\SharedCompressedDocumentFileCache - $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $dependencyFactory - \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory + \BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyFactory - $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - $progressBarFactory - \BumbleDocGen\Core\Console\ProgressBarFactory + \BumbleDocGen\Core\Console\ProgressBarFactory - @@ -149,7 +149,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -177,7 +177,7 @@ public function getDocumentedEntityWrappersWithOutdatedCache(): \Generator; ```php @@ -205,7 +205,7 @@ public function getFilesToRemove(): \Generator; ```php diff --git a/docs/tech/classes/RootEntityCollection.md b/docs/tech/classes/RootEntityCollection.md index fcef139c..803fb49f 100644 --- a/docs/tech/classes/RootEntityCollection.md +++ b/docs/tech/classes/RootEntityCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RootEntityCollection

    - RootEntityCollection class: + RootEntityCollection class:

    @@ -38,9 +38,21 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas
  • getEntityLinkData
  • +
  • + getIterator + - Retrieve an external iterator
  • getLoadedOrCreateNew
  • +
  • + has +
  • +
  • + isEmpty +
  • +
  • + remove +
  • updateEntitiesCache
  • @@ -59,7 +71,7 @@ abstract class RootEntityCollection extends \BumbleDocGen\Core\Parser\Entity\Bas ```php @@ -92,7 +104,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -102,7 +114,7 @@ public function findEntity(string $search, bool $useUnsafeKeys = true): \BumbleD ```php @@ -130,7 +142,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null @@ -140,7 +152,7 @@ public function get(string $objectName): \BumbleDocGen\Core\Parser\Entity\RootEn ```php @@ -161,7 +173,7 @@ public function getEntityCollectionName(): string; ```php @@ -207,10 +219,46 @@ public function getEntityLinkData(string $rawLink, string|null $defaultEntityNam
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function getIterator(): \Generator; +``` + +
    Retrieve an external iterator
    + +Parameters: not specified + +Return value: \Generator + + +Throws: + + + +See: + +
    +
    +
    + ```php @@ -243,7 +291,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface @@ -256,10 +304,113 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit
    + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function has(string $objectName): bool; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function isEmpty(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\BaseEntityCollection + +public function remove(string $objectName): void; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $objectNamestring-
    + +Return value: void + + +
    +
    +
    + ```php diff --git a/docs/tech/classes/RootEntityCollectionsGroup.md b/docs/tech/classes/RootEntityCollectionsGroup.md index 15aee70f..3d11a2c6 100644 --- a/docs/tech/classes/RootEntityCollectionsGroup.md +++ b/docs/tech/classes/RootEntityCollectionsGroup.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RootEntityCollectionsGroup

    - RootEntityCollectionsGroup class: + RootEntityCollectionsGroup class:

    @@ -65,7 +65,7 @@ final class RootEntityCollectionsGroup implements \IteratorAggregate, \Traversab ```php @@ -87,7 +87,7 @@ public function add(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $rootE $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -103,7 +103,7 @@ public function add(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $rootE ```php @@ -124,7 +124,7 @@ public function clearOperationsLog(): void; ```php @@ -152,7 +152,7 @@ public function get(string $collectionName): \BumbleDocGen\Core\Parser\Entity\Ro -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection | null
    @@ -162,7 +162,7 @@ public function get(string $collectionName): \BumbleDocGen\Core\Parser\Entity\Ro ```php @@ -196,7 +196,7 @@ public function getIterator(): \Generator; ```php @@ -217,7 +217,7 @@ public function getOperationsLog(): array; ```php @@ -238,7 +238,7 @@ public function getOperationsLogWithoutDuplicates(): array; ```php @@ -276,7 +276,7 @@ public function isFoundEntitiesOperationsLogCacheOutdated(array $classEntityColl ```php diff --git a/docs/tech/classes/RootEntityInterface.md b/docs/tech/classes/RootEntityInterface.md index 44790398..f9b43c6a 100644 --- a/docs/tech/classes/RootEntityInterface.md +++ b/docs/tech/classes/RootEntityInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / RootEntityInterface

    - RootEntityInterface class: + RootEntityInterface class:

    @@ -27,18 +27,39 @@ their entities need to correspond to the same interfaces

    Methods:

      +
    1. + entityCacheIsOutdated +
    2. entityDataCanBeLoaded - Checking if it is possible to get the entity data
    3. +
    4. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
    5. getEntityDependencies
    6. getFileContent
    7. +
    8. + getFileName + - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
    9. getFileSourceLink
    10. +
    11. + getName +
    12. +
    13. + getObjectId +
    14. +
    15. + getRootEntityCollection + - Get parent collection of entities
    16. +
    17. + getShortName +
    18. isEntityNameValid - Check if entity name is valid
    19. @@ -57,10 +78,33 @@ their entities need to correspond to the same interfaces
      + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
      +
      +
      + ```php @@ -74,6 +118,29 @@ public function entityDataCanBeLoaded(): bool; Return value: bool +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
      Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -81,7 +148,7 @@ public function entityDataCanBeLoaded(): bool; ```php @@ -102,7 +169,7 @@ public function getEntityDependencies(): array; ```php @@ -116,6 +183,29 @@ public function getFileContent(): string; Return value: string +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getFileName(): string|null; +``` + +
      Returns the relative path to a file if it can be retrieved and if the file is in the project directory
      + +Parameters: not specified + +Return value: string | null + +

      @@ -123,7 +213,7 @@ public function getFileContent(): string; ```php @@ -154,6 +244,98 @@ public function getFileSourceLink(bool $withLine = true): string|null; Return value: string | null +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
      Get parent collection of entities
      + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
      +
      +
      + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string + +

      @@ -161,7 +343,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -199,7 +381,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php diff --git a/docs/tech/classes/SharedCompressedDocumentFileCache.md b/docs/tech/classes/SharedCompressedDocumentFileCache.md index 430b7683..9631f700 100644 --- a/docs/tech/classes/SharedCompressedDocumentFileCache.md +++ b/docs/tech/classes/SharedCompressedDocumentFileCache.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SharedCompressedDocumentFileCache

      - SharedCompressedDocumentFileCache class: + SharedCompressedDocumentFileCache class:

      @@ -63,7 +63,7 @@ final class SharedCompressedDocumentFileCache ```php @@ -85,7 +85,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -107,7 +107,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -150,7 +150,7 @@ public function get(string $key, mixed $defaultValue = NULL): mixed; ```php @@ -171,7 +171,7 @@ public function getCacheFileName(): string; ```php @@ -192,7 +192,7 @@ public function removeNotUsedKeys(): void; ```php @@ -220,7 +220,7 @@ public function saveChanges(): void; ```php diff --git a/docs/tech/classes/SingleEntitySearchOperation.md b/docs/tech/classes/SingleEntitySearchOperation.md index cc4c757d..cff68a22 100644 --- a/docs/tech/classes/SingleEntitySearchOperation.md +++ b/docs/tech/classes/SingleEntitySearchOperation.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SingleEntitySearchOperation

      - SingleEntitySearchOperation class: + SingleEntitySearchOperation class:

      @@ -72,7 +72,7 @@ final class SingleEntitySearchOperation implements \BumbleDocGen\Core\Parser\Ent ```php @@ -104,7 +104,7 @@ public function __construct(string $functionName, array $args, \BumbleDocGen\Cor $entity - \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null + \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null - @@ -119,7 +119,7 @@ public function __construct(string $functionName, array $args, \BumbleDocGen\Cor ```php @@ -141,13 +141,13 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - -Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityInterface | null
      @@ -157,7 +157,7 @@ public function call(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $root ```php @@ -178,7 +178,7 @@ public function getArgs(): array; ```php @@ -199,7 +199,7 @@ public function getArgsHash(): string; ```php @@ -220,7 +220,7 @@ public function getEntityName(): string|null; ```php @@ -241,7 +241,7 @@ public function getFunctionName(): string; ```php @@ -262,7 +262,7 @@ public function getKey(): string; ```php @@ -283,7 +283,7 @@ public function getRequestedEntityName(): string; ```php diff --git a/docs/tech/classes/SingleFileSourceLocator.md b/docs/tech/classes/SingleFileSourceLocator.md index eb91ee8b..9e32e296 100644 --- a/docs/tech/classes/SingleFileSourceLocator.md +++ b/docs/tech/classes/SingleFileSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SingleFileSourceLocator

      - SingleFileSourceLocator class: + SingleFileSourceLocator class:

      @@ -30,6 +30,13 @@ final class SingleFileSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoca
    +

    Methods:

    + +
      +
    1. + getFinder +
    2. +
    @@ -44,7 +51,7 @@ final class SingleFileSourceLocator extends \BumbleDocGen\Core\Parser\SourceLoca ```php @@ -74,6 +81,29 @@ public function __construct(string $filename); +
    +
    +
    + + + +```php +// Implemented in BumbleDocGen\Core\Parser\SourceLocator\BaseSourceLocator + +public function getFinder(): \Symfony\Component\Finder\Finder; +``` + + + +Parameters: not specified + +Return value: \Symfony\Component\Finder\Finder + +

    diff --git a/docs/tech/classes/SourceLocatorCacheItemPool.md b/docs/tech/classes/SourceLocatorCacheItemPool.md index 1a279f16..da86805d 100644 --- a/docs/tech/classes/SourceLocatorCacheItemPool.md +++ b/docs/tech/classes/SourceLocatorCacheItemPool.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SourceLocatorCacheItemPool

    - SourceLocatorCacheItemPool class: + SourceLocatorCacheItemPool class:

    @@ -75,7 +75,7 @@ final class SourceLocatorCacheItemPool implements \Psr\Cache\CacheItemPoolInterf ```php @@ -97,7 +97,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf $configuration - \BumbleDocGen\Core\Configuration\Configuration + \BumbleDocGen\Core\Configuration\Configuration - @@ -119,7 +119,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -140,7 +140,7 @@ public function clear(): bool; ```php @@ -161,7 +161,7 @@ public function commit(): bool; ```php @@ -206,7 +206,7 @@ public function deleteItem(string $key): bool; ```php @@ -251,7 +251,7 @@ public function deleteItems(array $keys): bool; ```php @@ -296,7 +296,7 @@ public function getItem(string $key): \Psr\Cache\CacheItemInterface; ```php @@ -341,7 +341,7 @@ public function getItems(array $keys = [ ]): iterable; ```php @@ -386,7 +386,7 @@ public function hasItem(string $key): bool; ```php @@ -424,7 +424,7 @@ public function save(\Psr\Cache\CacheItemInterface $item): bool; ```php diff --git a/docs/tech/classes/SourceLocatorInterface.md b/docs/tech/classes/SourceLocatorInterface.md index e462bd27..6341ba4e 100644 --- a/docs/tech/classes/SourceLocatorInterface.md +++ b/docs/tech/classes/SourceLocatorInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SourceLocatorInterface

    - SourceLocatorInterface class: + SourceLocatorInterface class:

    @@ -44,7 +44,7 @@ interface SourceLocatorInterface ```php diff --git a/docs/tech/classes/SourceLocatorsCollection.md b/docs/tech/classes/SourceLocatorsCollection.md index a420a75f..f4925d93 100644 --- a/docs/tech/classes/SourceLocatorsCollection.md +++ b/docs/tech/classes/SourceLocatorsCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SourceLocatorsCollection

    - SourceLocatorsCollection class: + SourceLocatorsCollection class:

    @@ -53,7 +53,7 @@ final class SourceLocatorsCollection implements \IteratorAggregate, \Traversable ```php @@ -75,13 +75,13 @@ public function add(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterfa $sourceLocator - \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterface + \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterface - -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection @@ -91,7 +91,7 @@ public function add(\BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterfa ```php @@ -113,13 +113,13 @@ public static function create(\BumbleDocGen\Core\Parser\SourceLocator\SourceLoca $sourceLocators - \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterface + \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorInterface - -Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection @@ -129,7 +129,7 @@ public static function create(\BumbleDocGen\Core\Parser\SourceLocator\SourceLoca ```php @@ -150,7 +150,7 @@ public function getCommonFinder(): \Symfony\Component\Finder\Finder; ```php diff --git a/docs/tech/classes/StrTypeToUrl.md b/docs/tech/classes/StrTypeToUrl.md index 58b7c326..3934ea81 100644 --- a/docs/tech/classes/StrTypeToUrl.md +++ b/docs/tech/classes/StrTypeToUrl.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / StrTypeToUrl

    - StrTypeToUrl class: + StrTypeToUrl class:

    @@ -77,7 +77,7 @@ See: ```php @@ -99,12 +99,12 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer $rendererHelper - \BumbleDocGen\Core\Renderer\RendererHelper + \BumbleDocGen\Core\Renderer\RendererHelper - $getDocumentedEntityUrlFunction - \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl + \BumbleDocGen\Core\Renderer\Twig\Function\GetDocumentedEntityUrl - @@ -124,7 +124,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $renderer ```php @@ -151,7 +151,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - @@ -193,7 +193,7 @@ public function __invoke(string $text, \BumbleDocGen\Core\Parser\Entity\RootEnti ```php @@ -214,7 +214,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/StylizedProgressBar.md b/docs/tech/classes/StylizedProgressBar.md index 8efa5f04..ba78bccb 100644 --- a/docs/tech/classes/StylizedProgressBar.md +++ b/docs/tech/classes/StylizedProgressBar.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / StylizedProgressBar

    - StylizedProgressBar class: + StylizedProgressBar class:

    @@ -69,7 +69,7 @@ final class StylizedProgressBar ```php @@ -106,7 +106,7 @@ public function __construct(\Symfony\Component\Console\Style\OutputStyle $io); ```php @@ -144,7 +144,7 @@ public function advance(int $step): void; ```php @@ -165,7 +165,7 @@ public function finish(): void; ```php @@ -208,7 +208,7 @@ public function iterate(iterable $iterable, int|null $max = NULL): \Generator; ```php @@ -246,7 +246,7 @@ public function setMaxSteps(int $maxSteps): void; ```php @@ -284,7 +284,7 @@ public function setName(string $name): void; ```php @@ -322,7 +322,7 @@ public function setStepDescription(string $stepDescription): void; ```php diff --git a/docs/tech/classes/SymfonyComponentStubberPlugin.md b/docs/tech/classes/SymfonyComponentStubberPlugin.md index f3500391..fd67c056 100644 --- a/docs/tech/classes/SymfonyComponentStubberPlugin.md +++ b/docs/tech/classes/SymfonyComponentStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SymfonyComponentStubberPlugin

    - SymfonyComponentStubberPlugin class: + SymfonyComponentStubberPlugin class:

    @@ -50,7 +50,7 @@ final class SymfonyComponentStubberPlugin implements \BumbleDocGen\Core\Plugin\P ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/SystemAsyncSourceLocator.md b/docs/tech/classes/SystemAsyncSourceLocator.md index 2731b8e5..80080935 100644 --- a/docs/tech/classes/SystemAsyncSourceLocator.md +++ b/docs/tech/classes/SystemAsyncSourceLocator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / SystemAsyncSourceLocator

    - SystemAsyncSourceLocator class: + SystemAsyncSourceLocator class:

    @@ -39,6 +39,12 @@ final class SystemAsyncSourceLocator extends \Roave\BetterReflection\SourceLocat
  • getLocatedSource
  • +
  • + locateIdentifier + - Locate some source code.
  • +
  • + locateIdentifiersByType + - Find all identifiers of a type
  • @@ -54,7 +60,7 @@ final class SystemAsyncSourceLocator extends \Roave\BetterReflection\SourceLocat ```php @@ -81,7 +87,7 @@ public function __construct(\Roave\BetterReflection\SourceLocator\Ast\Locator $a $localObjectCache - \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache + \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - @@ -106,7 +112,7 @@ public function __construct(\Roave\BetterReflection\SourceLocator\Ast\Locator $a ```php @@ -149,7 +155,7 @@ public function getClassLoader(array $psr4FileMap, array $classMap): \Composer\A ```php @@ -180,6 +186,96 @@ public function getLocatedSource(string $className): \Roave\BetterReflection\Sou Return value: \Roave\BetterReflection\SourceLocator\Located\LocatedSource | null + +
    +
    + + + +```php +// Implemented in Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator + +public function locateIdentifier(\Roave\BetterReflection\Reflector\Reflector $reflector, \Roave\BetterReflection\Identifier\Identifier $identifier): \Roave\BetterReflection\Reflection\Reflection|null; +``` + +
    Locate some source code.
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $reflectorRoave\BetterReflection\Reflector\Reflector-
    $identifierRoave\BetterReflection\Identifier\Identifier-
    + +Return value: \Roave\BetterReflection\Reflection\Reflection | null + + +
    +
    +
    + + + +```php +// Implemented in Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator + +public function locateIdentifiersByType(\Roave\BetterReflection\Reflector\Reflector $reflector, \Roave\BetterReflection\Identifier\IdentifierType $identifierType): array; +``` + +
    Find all identifiers of a type
    + +Parameters: + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $reflectorRoave\BetterReflection\Reflector\Reflector-
    $identifierTypeRoave\BetterReflection\Identifier\IdentifierType-
    + +Return value: array + +

    diff --git a/docs/tech/classes/TemplatesStructureGenerator.md b/docs/tech/classes/TemplatesStructureGenerator.md index 292673e5..c9bfd6b6 100644 --- a/docs/tech/classes/TemplatesStructureGenerator.md +++ b/docs/tech/classes/TemplatesStructureGenerator.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / TemplatesStructureGenerator

    - TemplatesStructureGenerator class: + TemplatesStructureGenerator class:

    @@ -43,7 +43,7 @@ final class TemplatesStructureGenerator @@ -58,7 +58,7 @@ final class TemplatesStructureGenerator ```php @@ -100,7 +100,7 @@ public function __construct(\Tectalic\OpenAi\Client $openaiClient, string $model ```php @@ -122,7 +122,7 @@ public function generateStructureByEntityCollection(\BumbleDocGen\Core\Parser\En $rootEntityCollection - \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + \BumbleDocGen\Core\Parser\Entity\RootEntityCollection - diff --git a/docs/tech/classes/TextToCodeBlock.md b/docs/tech/classes/TextToCodeBlock.md index fb22cda4..167f34e3 100644 --- a/docs/tech/classes/TextToCodeBlock.md +++ b/docs/tech/classes/TextToCodeBlock.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / TextToCodeBlock

    - TextToCodeBlock class: + TextToCodeBlock class:

    @@ -64,7 +64,7 @@ final class TextToCodeBlock implements \BumbleDocGen\Core\Renderer\Twig\Filter\C ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $codeBlockType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/TextToHeading.md b/docs/tech/classes/TextToHeading.md index d3ec1178..7c130eff 100644 --- a/docs/tech/classes/TextToHeading.md +++ b/docs/tech/classes/TextToHeading.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / TextToHeading

    - TextToHeading class: + TextToHeading class:

    @@ -64,7 +64,7 @@ final class TextToHeading implements \BumbleDocGen\Core\Renderer\Twig\Filter\Cus ```php @@ -107,7 +107,7 @@ public function __invoke(string $text, string $headingType): string; ```php @@ -128,7 +128,7 @@ public static function getName(): string; ```php diff --git a/docs/tech/classes/TrueCondition.md b/docs/tech/classes/TrueCondition.md index 3c269b96..39989bb6 100644 --- a/docs/tech/classes/TrueCondition.md +++ b/docs/tech/classes/TrueCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / TrueCondition

    - TrueCondition class: + TrueCondition class:

    @@ -44,7 +44,7 @@ final class TrueCondition implements \BumbleDocGen\Core\Parser\FilterCondition\C ```php @@ -66,7 +66,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/TwigStubberPlugin.md b/docs/tech/classes/TwigStubberPlugin.md index a4fd0934..23c8ce8f 100644 --- a/docs/tech/classes/TwigStubberPlugin.md +++ b/docs/tech/classes/TwigStubberPlugin.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / TwigStubberPlugin

    - TwigStubberPlugin class: + TwigStubberPlugin class:

    @@ -50,7 +50,7 @@ final class TwigStubberPlugin implements \BumbleDocGen\Core\Plugin\PluginInterfa ```php @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php @@ -93,7 +93,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ $event - \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad + \BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad - @@ -109,7 +109,7 @@ public function onCheckIsClassEntityCanBeLoad(\BumbleDocGen\LanguageHandler\Php\ ```php @@ -131,7 +131,7 @@ public function onGettingResourceLink(\BumbleDocGen\Core\Plugin\Event\Renderer\O $event - \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink + \BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink - diff --git a/docs/tech/classes/ValueResolverInterface.md b/docs/tech/classes/ValueResolverInterface.md index 8dae4739..847f05ce 100644 --- a/docs/tech/classes/ValueResolverInterface.md +++ b/docs/tech/classes/ValueResolverInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ValueResolverInterface

    - ValueResolverInterface class: + ValueResolverInterface class:

    @@ -44,7 +44,7 @@ interface ValueResolverInterface ```php @@ -66,7 +66,7 @@ public function resolveValue(\BumbleDocGen\Core\Configuration\ConfigurationParam $parameterBag - \BumbleDocGen\Core\Configuration\ConfigurationParameterBag + \BumbleDocGen\Core\Configuration\ConfigurationParameterBag - diff --git a/docs/tech/classes/ValueToClassTransformer.md b/docs/tech/classes/ValueToClassTransformer.md index 06cf51c9..861bff33 100644 --- a/docs/tech/classes/ValueToClassTransformer.md +++ b/docs/tech/classes/ValueToClassTransformer.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ValueToClassTransformer

    - ValueToClassTransformer class: + ValueToClassTransformer class:

    @@ -72,7 +72,7 @@ someKey: ```php @@ -109,7 +109,7 @@ public function __construct(\DI\Container $diContainer); ```php @@ -147,7 +147,7 @@ public function canTransform(mixed $value): bool; ```php diff --git a/docs/tech/classes/ValueTransformerInterface.md b/docs/tech/classes/ValueTransformerInterface.md index 64f055a4..b9f90870 100644 --- a/docs/tech/classes/ValueTransformerInterface.md +++ b/docs/tech/classes/ValueTransformerInterface.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / ValueTransformerInterface

    - ValueTransformerInterface class: + ValueTransformerInterface class:

    @@ -47,7 +47,7 @@ interface ValueTransformerInterface ```php @@ -85,7 +85,7 @@ public function canTransform(mixed $value): bool; ```php diff --git a/docs/tech/classes/VisibilityCondition.md b/docs/tech/classes/VisibilityCondition.md index a69d46c6..279b183d 100644 --- a/docs/tech/classes/VisibilityCondition.md +++ b/docs/tech/classes/VisibilityCondition.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/VisibilityConditionModifier.md b/docs/tech/classes/VisibilityConditionModifier.md index 71527b2f..3161db59 100644 --- a/docs/tech/classes/VisibilityConditionModifier.md +++ b/docs/tech/classes/VisibilityConditionModifier.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / VisibilityConditionModifier

    - VisibilityConditionModifier class: + VisibilityConditionModifier class:

    @@ -29,19 +29,19 @@ final class VisibilityConditionModifier diff --git a/docs/tech/classes/VisibilityCondition_2.md b/docs/tech/classes/VisibilityCondition_2.md index b5cbfaa1..e5e5d850 100644 --- a/docs/tech/classes/VisibilityCondition_2.md +++ b/docs/tech/classes/VisibilityCondition_2.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/classes/VisibilityCondition_3.md b/docs/tech/classes/VisibilityCondition_3.md index febed82c..413349b4 100644 --- a/docs/tech/classes/VisibilityCondition_3.md +++ b/docs/tech/classes/VisibilityCondition_3.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / VisibilityCondition

    - VisibilityCondition class: + VisibilityCondition class:

    @@ -51,7 +51,7 @@ final class VisibilityCondition implements \BumbleDocGen\Core\Parser\FilterCondi ```php @@ -88,7 +88,7 @@ public function __construct(string $visibilityModifiers); ```php @@ -110,7 +110,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf $entity - \BumbleDocGen\Core\Parser\Entity\EntityInterface + \BumbleDocGen\Core\Parser\Entity\EntityInterface - diff --git a/docs/tech/map.md b/docs/tech/map.md index 71b4914c..23761cbd 100644 --- a/docs/tech/map.md +++ b/docs/tech/map.md @@ -2,7 +2,11 @@ Directory layout ( only documented files shown ): -
    └──BumbleDocGen/
    + 
    └──src/
    +│  ├──Console/
    +│  │  ├──Command/
    +│  │  │  └── GenerateCommand.php Base class for all commands.
    +│  │  └── App.php An Application is the container for a collection of commands.
     │  ├──Core/
     │  │  ├──Cache/
     │  │  │  ├──LocalCache/
    @@ -229,4 +233,4 @@ Directory layout ( only documented files shown ):
     
     

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Jul 29 13:26:44 2023 +0300
    Page content update date: Thu Aug 31 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/readme.md b/docs/tech/readme.md index 18a38e2b..aec4eab3 100644 --- a/docs/tech/readme.md +++ b/docs/tech/readme.md @@ -37,4 +37,4 @@ After that, the process of parsing the project code according to the configurati \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sun Jul 30 16:27:42 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file From 2eb539c360b997b0903c9049337bcf10d03b6d35 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 21:01:47 +0300 Subject: [PATCH 09/34] Moving the self doc config to a new directory --- .gitignore | 1 - SelfDoc/Configuration/config.yaml | 25 ----------- SelfDoc/Console/App.php | 17 -------- SelfDoc/Console/Command/GenerateCommand.php | 41 ------------------ SelfDoc/docGen.php | 8 ---- bumble_doc_gen.yaml | 21 +++++---- composer.json | 2 +- .../BetterReflectionStubberPlugin.php | 2 +- .../FilterClassPluginTwigEnvironment.php | 2 +- .../TwigFilterClassParserPlugin.php | 2 +- .../templates/twigFilterInfoBlock.twig | 0 .../FunctionClassPluginTwigEnvironment.php | 2 +- .../TwigFunctionClassParserPlugin.php | 2 +- .../templates/twigFunctionInfoBlock.twig | 0 .../Twig/CustomFilter/EvalString.php | 2 +- ...ndEntitiesClassesByCollectionClassName.php | 2 +- .../GetConfigParametersDescription.php | 2 +- .../PrintClassCollectionAsGroupedTable.php | 2 +- .../templates/_config.yml | 0 .../templates/_layouts/default.html | 0 .../templates/assets/doc_example.png | Bin .../templates/assets/doc_structure.png | Bin .../templates/assets/doc_structure2.png | Bin .../templates/readme.md.twig | 2 +- .../tech/1.configuration/readme.md.twig | 2 +- .../templates/tech/2.parser/entity.md.twig | 0 .../2.parser/entityFilterCondition.md.twig | 0 .../templates/tech/2.parser/readme.md.twig | 0 .../tech/2.parser/sourceLocator.md.twig | 0 .../tech/3.renderer/breadcrumbs.md.twig | 0 .../templates/tech/3.renderer/readme.md.twig | 0 .../tech/3.renderer/templates.md.twig | 0 .../3.renderer/templatesDynamicBlocks.md.twig | 0 .../tech/3.renderer/templatesLinking.md.twig | 0 .../3.renderer/templatesVariables.md.twig | 0 .../tech/3.renderer/twigCustomFilters.md.twig | 0 .../3.renderer/twigCustomFunctions.md.twig | 6 +-- .../tech/4.pluginSystem/readme.md.twig | 6 +-- .../templates/tech/map.md.twig | 0 .../templates/tech/readme.md.twig | 0 .../Parser/Entity/ClassEntityCollection.php | 12 ++--- 41 files changed, 36 insertions(+), 125 deletions(-) delete mode 100644 SelfDoc/Configuration/config.yaml delete mode 100644 SelfDoc/Console/App.php delete mode 100644 SelfDoc/Console/Command/GenerateCommand.php delete mode 100644 SelfDoc/docGen.php rename {SelfDoc/Configuration => selfdoc}/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php (96%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php (91%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php (98%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFilterClassParser/templates/twigFilterInfoBlock.twig (100%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php (91%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php (98%) rename {SelfDoc/Configuration => selfdoc}/Plugin/TwigFunctionClassParser/templates/twigFunctionInfoBlock.twig (100%) rename {SelfDoc/Configuration => selfdoc}/Twig/CustomFilter/EvalString.php (90%) rename {SelfDoc/Configuration => selfdoc}/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php (97%) rename {SelfDoc/Configuration => selfdoc}/Twig/CustomFunction/GetConfigParametersDescription.php (97%) rename {SelfDoc/Configuration => selfdoc}/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php (98%) rename {SelfDoc/Configuration => selfdoc}/templates/_config.yml (100%) rename {SelfDoc/Configuration => selfdoc}/templates/_layouts/default.html (100%) rename {SelfDoc/Configuration => selfdoc}/templates/assets/doc_example.png (100%) rename {SelfDoc/Configuration => selfdoc}/templates/assets/doc_structure.png (100%) rename {SelfDoc/Configuration => selfdoc}/templates/assets/doc_structure2.png (100%) rename {SelfDoc/Configuration => selfdoc}/templates/readme.md.twig (97%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/1.configuration/readme.md.twig (96%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/2.parser/entity.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/2.parser/entityFilterCondition.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/2.parser/readme.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/2.parser/sourceLocator.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/breadcrumbs.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/readme.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/templates.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/templatesDynamicBlocks.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/templatesLinking.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/templatesVariables.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/twigCustomFilters.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/3.renderer/twigCustomFunctions.md.twig (93%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/4.pluginSystem/readme.md.twig (91%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/map.md.twig (100%) rename {SelfDoc/Configuration => selfdoc}/templates/tech/readme.md.twig (100%) diff --git a/.gitignore b/.gitignore index 9448cb83..5cbbce09 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ composer.phar /vendor/ .idea -/SelfDoc/__cache/ /demo/demo1/docs/ /demo/demo1/__cache/ /demo/demo2-templates-generation/__cache/ diff --git a/SelfDoc/Configuration/config.yaml b/SelfDoc/Configuration/config.yaml deleted file mode 100644 index 884e64ba..00000000 --- a/SelfDoc/Configuration/config.yaml +++ /dev/null @@ -1,25 +0,0 @@ -project_root: '%DOC_GEN_LIB_PATH%' -templates_dir: '%DOC_GEN_LIB_PATH%/SelfDoc/Configuration/templates' -cache_dir: '%project_root%/SelfDoc/__cache' -language_handlers: - php: - class: \BumbleDocGen\LanguageHandler\Php\PhpHandler - settings: - file_source_base_url: 'https://github.com/bumble-tech/bumble-doc-gen/blob/master' - async_source_loading_enabled: true -source_locators: - - class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator - arguments: - directories: - - "%project_root%/src" - - "%project_root%/SelfDoc" -twig_filters: - - class: \SelfDoc\Configuration\Twig\CustomFilter\EvalString -twig_functions: - - class: \SelfDoc\Configuration\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName - - class: \SelfDoc\Configuration\Twig\CustomFunction\PrintClassCollectionAsGroupedTable - - class: \SelfDoc\Configuration\Twig\CustomFunction\GetConfigParametersDescription -plugins: - - class: \SelfDoc\Configuration\Plugin\RoaveStubber\BetterReflectionStubberPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin diff --git a/SelfDoc/Console/App.php b/SelfDoc/Console/App.php deleted file mode 100644 index 51804d51..00000000 --- a/SelfDoc/Console/App.php +++ /dev/null @@ -1,17 +0,0 @@ -add(new GenerateCommand()); - } -} diff --git a/SelfDoc/Console/Command/GenerateCommand.php b/SelfDoc/Console/Command/GenerateCommand.php deleted file mode 100644 index 59f74f11..00000000 --- a/SelfDoc/Console/Command/GenerateCommand.php +++ /dev/null @@ -1,41 +0,0 @@ -setName('generate'); - } - - /** - * @throws SyntaxError - * @throws NotFoundException - * @throws RuntimeError - * @throws DependencyException - * @throws LoaderError - * @throws InvalidArgumentException - */ - protected function execute( - \Symfony\Component\Console\Input\InputInterface $input, - \Symfony\Component\Console\Output\OutputInterface $output - ): int { - $docGenerator = (new DocGeneratorFactory())->create( - dirname(__DIR__, 2) . '/Configuration/config.yaml' - ); - $docGenerator->generate(); - return self::SUCCESS; - } -} diff --git a/SelfDoc/docGen.php b/SelfDoc/docGen.php deleted file mode 100644 index 379b47e1..00000000 --- a/SelfDoc/docGen.php +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env php -run(); diff --git a/bumble_doc_gen.yaml b/bumble_doc_gen.yaml index 52ce7e85..cd0da1e7 100644 --- a/bumble_doc_gen.yaml +++ b/bumble_doc_gen.yaml @@ -1,5 +1,8 @@ project_root: '%WORKING_DIR%' -templates_dir: '%project_root%/SelfDoc/Configuration/templates' +templates_dir: '%project_root%/selfdoc/templates' +output_dir: "%project_root%/docs" +cache_dir: '%project_root%/.bumbleDocGenCache' +output_dir_base_url: "/docs" language_handlers: php: class: \BumbleDocGen\LanguageHandler\Php\PhpHandler @@ -11,14 +14,14 @@ source_locators: arguments: directories: - "%project_root%/src" - - "%project_root%/SelfDoc" + - "%project_root%/selfdoc" twig_filters: - - class: \SelfDoc\Configuration\Twig\CustomFilter\EvalString + - class: \SelfDocConfig\Twig\CustomFilter\EvalString twig_functions: - - class: \SelfDoc\Configuration\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName - - class: \SelfDoc\Configuration\Twig\CustomFunction\PrintClassCollectionAsGroupedTable - - class: \SelfDoc\Configuration\Twig\CustomFunction\GetConfigParametersDescription + - class: \SelfDocConfig\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName + - class: \SelfDocConfig\Twig\CustomFunction\PrintClassCollectionAsGroupedTable + - class: \SelfDocConfig\Twig\CustomFunction\GetConfigParametersDescription plugins: - - class: \SelfDoc\Configuration\Plugin\RoaveStubber\BetterReflectionStubberPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin + - class: \SelfDocConfig\Plugin\RoaveStubber\BetterReflectionStubberPlugin + - class: \SelfDocConfig\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin + - class: \SelfDocConfig\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin diff --git a/composer.json b/composer.json index 6f14b6aa..b1a3cfcd 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,7 @@ "autoload-dev": { "psr-4": { "Test\\": "tests/", - "SelfDoc\\": "SelfDoc/" + "SelfDocConfig\\": "selfdoc/" } }, "config": { diff --git a/SelfDoc/Configuration/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php b/selfdoc/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php similarity index 96% rename from SelfDoc/Configuration/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php rename to selfdoc/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php index 22cdabbc..858f4b7e 100644 --- a/SelfDoc/Configuration/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php +++ b/selfdoc/Plugin/RoaveStubber/BetterReflectionStubberPlugin.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Plugin\RoaveStubber; +namespace SelfDocConfig\Plugin\RoaveStubber; use BumbleDocGen\Core\Plugin\Event\Renderer\OnGettingResourceLink; use BumbleDocGen\Core\Plugin\PluginInterface; diff --git a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php b/selfdoc/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php similarity index 91% rename from SelfDoc/Configuration/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php rename to selfdoc/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php index 5d9d5b47..e3e61a02 100644 --- a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php +++ b/selfdoc/Plugin/TwigFilterClassParser/FilterClassPluginTwigEnvironment.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Plugin\TwigFilterClassParser; +namespace SelfDocConfig\Plugin\TwigFilterClassParser; use Twig\Environment; use Twig\Error\LoaderError; diff --git a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php b/selfdoc/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php similarity index 98% rename from SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php rename to selfdoc/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php index a8bcb78c..edb43e63 100644 --- a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php +++ b/selfdoc/Plugin/TwigFilterClassParser/TwigFilterClassParserPlugin.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Plugin\TwigFilterClassParser; +namespace SelfDocConfig\Plugin\TwigFilterClassParser; use BumbleDocGen\Core\Configuration\Configuration; use BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException; diff --git a/SelfDoc/Configuration/Plugin/TwigFilterClassParser/templates/twigFilterInfoBlock.twig b/selfdoc/Plugin/TwigFilterClassParser/templates/twigFilterInfoBlock.twig similarity index 100% rename from SelfDoc/Configuration/Plugin/TwigFilterClassParser/templates/twigFilterInfoBlock.twig rename to selfdoc/Plugin/TwigFilterClassParser/templates/twigFilterInfoBlock.twig diff --git a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php b/selfdoc/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php similarity index 91% rename from SelfDoc/Configuration/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php rename to selfdoc/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php index bda56698..5acccc57 100644 --- a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php +++ b/selfdoc/Plugin/TwigFunctionClassParser/FunctionClassPluginTwigEnvironment.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Plugin\TwigFunctionClassParser; +namespace SelfDocConfig\Plugin\TwigFunctionClassParser; use Twig\Environment; use Twig\Error\LoaderError; diff --git a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php b/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php similarity index 98% rename from SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php rename to selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php index ab1cb010..d8a4983c 100644 --- a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php +++ b/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Plugin\TwigFunctionClassParser; +namespace SelfDocConfig\Plugin\TwigFunctionClassParser; use BumbleDocGen\Core\Configuration\Configuration; use BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException; diff --git a/SelfDoc/Configuration/Plugin/TwigFunctionClassParser/templates/twigFunctionInfoBlock.twig b/selfdoc/Plugin/TwigFunctionClassParser/templates/twigFunctionInfoBlock.twig similarity index 100% rename from SelfDoc/Configuration/Plugin/TwigFunctionClassParser/templates/twigFunctionInfoBlock.twig rename to selfdoc/Plugin/TwigFunctionClassParser/templates/twigFunctionInfoBlock.twig diff --git a/SelfDoc/Configuration/Twig/CustomFilter/EvalString.php b/selfdoc/Twig/CustomFilter/EvalString.php similarity index 90% rename from SelfDoc/Configuration/Twig/CustomFilter/EvalString.php rename to selfdoc/Twig/CustomFilter/EvalString.php index c11643bc..df32b43a 100644 --- a/SelfDoc/Configuration/Twig/CustomFilter/EvalString.php +++ b/selfdoc/Twig/CustomFilter/EvalString.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Twig\CustomFilter; +namespace SelfDocConfig\Twig\CustomFilter; use BumbleDocGen\Core\Renderer\Twig\Filter\CustomFilterInterface; diff --git a/SelfDoc/Configuration/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php b/selfdoc/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php similarity index 97% rename from SelfDoc/Configuration/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php rename to selfdoc/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php index 68f262ac..4d99893d 100644 --- a/SelfDoc/Configuration/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php +++ b/selfdoc/Twig/CustomFunction/FindEntitiesClassesByCollectionClassName.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Twig\CustomFunction; +namespace SelfDocConfig\Twig\CustomFunction; use BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException; use BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsGroup; diff --git a/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php b/selfdoc/Twig/CustomFunction/GetConfigParametersDescription.php similarity index 97% rename from SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php rename to selfdoc/Twig/CustomFunction/GetConfigParametersDescription.php index 031cd04a..58df212a 100644 --- a/SelfDoc/Configuration/Twig/CustomFunction/GetConfigParametersDescription.php +++ b/selfdoc/Twig/CustomFunction/GetConfigParametersDescription.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Twig\CustomFunction; +namespace SelfDocConfig\Twig\CustomFunction; use BumbleDocGen\Core\Configuration\ConfigurationParameterBag; use BumbleDocGen\Core\Parser\Entity\RootEntityCollection; diff --git a/SelfDoc/Configuration/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php b/selfdoc/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php similarity index 98% rename from SelfDoc/Configuration/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php rename to selfdoc/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php index 79045b0c..1023f39e 100644 --- a/SelfDoc/Configuration/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php +++ b/selfdoc/Twig/CustomFunction/PrintClassCollectionAsGroupedTable.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace SelfDoc\Configuration\Twig\CustomFunction; +namespace SelfDocConfig\Twig\CustomFunction; use BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException; use BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface; diff --git a/SelfDoc/Configuration/templates/_config.yml b/selfdoc/templates/_config.yml similarity index 100% rename from SelfDoc/Configuration/templates/_config.yml rename to selfdoc/templates/_config.yml diff --git a/SelfDoc/Configuration/templates/_layouts/default.html b/selfdoc/templates/_layouts/default.html similarity index 100% rename from SelfDoc/Configuration/templates/_layouts/default.html rename to selfdoc/templates/_layouts/default.html diff --git a/SelfDoc/Configuration/templates/assets/doc_example.png b/selfdoc/templates/assets/doc_example.png similarity index 100% rename from SelfDoc/Configuration/templates/assets/doc_example.png rename to selfdoc/templates/assets/doc_example.png diff --git a/SelfDoc/Configuration/templates/assets/doc_structure.png b/selfdoc/templates/assets/doc_structure.png similarity index 100% rename from SelfDoc/Configuration/templates/assets/doc_structure.png rename to selfdoc/templates/assets/doc_structure.png diff --git a/SelfDoc/Configuration/templates/assets/doc_structure2.png b/selfdoc/templates/assets/doc_structure2.png similarity index 100% rename from SelfDoc/Configuration/templates/assets/doc_structure2.png rename to selfdoc/templates/assets/doc_structure2.png diff --git a/SelfDoc/Configuration/templates/readme.md.twig b/selfdoc/templates/readme.md.twig similarity index 97% rename from SelfDoc/Configuration/templates/readme.md.twig rename to selfdoc/templates/readme.md.twig index 6f093ab6..939cbc3f 100644 --- a/SelfDoc/Configuration/templates/readme.md.twig +++ b/selfdoc/templates/readme.md.twig @@ -68,4 +68,4 @@ $docgen->generate(); To update this documentation, run the following command: -{{ 'php SelfDoc/docGen.php generate' | textToCodeBlock('console') }} +{{ './bin/bumbleDocGen generate' | textToCodeBlock('console') }} diff --git a/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig b/selfdoc/templates/tech/1.configuration/readme.md.twig similarity index 96% rename from SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig rename to selfdoc/templates/tech/1.configuration/readme.md.twig index 7c2cb847..dd18ddcf 100644 --- a/SelfDoc/Configuration/templates/tech/1.configuration/readme.md.twig +++ b/selfdoc/templates/tech/1.configuration/readme.md.twig @@ -12,7 +12,7 @@ During the generation process, the data from these files is loaded into the C Let's look at an example of a real configuration in more detail: -{{ fileGetContents('%templates_dir%/../config.yaml') | textToCodeBlock('yaml') }} +{{ fileGetContents('%WORKING_DIR%/bumble_doc_gen.yaml') | textToCodeBlock('yaml') }} In this example, we see the real configuration of the self-documentation of this project. diff --git a/SelfDoc/Configuration/templates/tech/2.parser/entity.md.twig b/selfdoc/templates/tech/2.parser/entity.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/2.parser/entity.md.twig rename to selfdoc/templates/tech/2.parser/entity.md.twig diff --git a/SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig b/selfdoc/templates/tech/2.parser/entityFilterCondition.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/2.parser/entityFilterCondition.md.twig rename to selfdoc/templates/tech/2.parser/entityFilterCondition.md.twig diff --git a/SelfDoc/Configuration/templates/tech/2.parser/readme.md.twig b/selfdoc/templates/tech/2.parser/readme.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/2.parser/readme.md.twig rename to selfdoc/templates/tech/2.parser/readme.md.twig diff --git a/SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig b/selfdoc/templates/tech/2.parser/sourceLocator.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/2.parser/sourceLocator.md.twig rename to selfdoc/templates/tech/2.parser/sourceLocator.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/breadcrumbs.md.twig b/selfdoc/templates/tech/3.renderer/breadcrumbs.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/breadcrumbs.md.twig rename to selfdoc/templates/tech/3.renderer/breadcrumbs.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/readme.md.twig b/selfdoc/templates/tech/3.renderer/readme.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/readme.md.twig rename to selfdoc/templates/tech/3.renderer/readme.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/templates.md.twig b/selfdoc/templates/tech/3.renderer/templates.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/templates.md.twig rename to selfdoc/templates/tech/3.renderer/templates.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/templatesDynamicBlocks.md.twig b/selfdoc/templates/tech/3.renderer/templatesDynamicBlocks.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/templatesDynamicBlocks.md.twig rename to selfdoc/templates/tech/3.renderer/templatesDynamicBlocks.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/templatesLinking.md.twig b/selfdoc/templates/tech/3.renderer/templatesLinking.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/templatesLinking.md.twig rename to selfdoc/templates/tech/3.renderer/templatesLinking.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/templatesVariables.md.twig b/selfdoc/templates/tech/3.renderer/templatesVariables.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/templatesVariables.md.twig rename to selfdoc/templates/tech/3.renderer/templatesVariables.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig b/selfdoc/templates/tech/3.renderer/twigCustomFilters.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFilters.md.twig rename to selfdoc/templates/tech/3.renderer/twigCustomFilters.md.twig diff --git a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig b/selfdoc/templates/tech/3.renderer/twigCustomFunctions.md.twig similarity index 93% rename from SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig rename to selfdoc/templates/tech/3.renderer/twigCustomFunctions.md.twig index 2ce23b0a..aaf23456 100644 --- a/SelfDoc/Configuration/templates/tech/3.renderer/twigCustomFunctions.md.twig +++ b/selfdoc/templates/tech/3.renderer/twigCustomFunctions.md.twig @@ -22,9 +22,9 @@ You can add your custom functions to the configuration like this: ```yaml twig_functions: - - class: \SelfDoc\Configuration\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName - - class: \SelfDoc\Configuration\Twig\CustomFunction\PrintClassCollectionAsGroupedTable - - class: \SelfDoc\Configuration\Twig\CustomFunction\GetConfigParametersDescription + - class: \SelfDocConfig\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName + - class: \SelfDocConfig\Twig\CustomFunction\PrintClassCollectionAsGroupedTable + - class: \SelfDocConfig\Twig\CustomFunction\GetConfigParametersDescription ``` It is important to remember that when a template is inherited, custom functions are not overridden and augmented. diff --git a/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig b/selfdoc/templates/tech/4.pluginSystem/readme.md.twig similarity index 91% rename from SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig rename to selfdoc/templates/tech/4.pluginSystem/readme.md.twig index d94c3299..40436636 100644 --- a/SelfDoc/Configuration/templates/tech/4.pluginSystem/readme.md.twig +++ b/selfdoc/templates/tech/4.pluginSystem/readme.md.twig @@ -13,9 +13,9 @@ You can add your plugins to the configuration like this: ```yaml plugins: - - class: \SelfDoc\Configuration\Plugin\RoaveStubber\BetterReflectionStubberPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin + - class: \SelfDocConfig\Plugin\RoaveStubber\BetterReflectionStubberPlugin + - class: \SelfDocConfig\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin + - class: \SelfDocConfig\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin ``` {{ "Default plugins" | textToHeading('H2') }} diff --git a/SelfDoc/Configuration/templates/tech/map.md.twig b/selfdoc/templates/tech/map.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/map.md.twig rename to selfdoc/templates/tech/map.md.twig diff --git a/SelfDoc/Configuration/templates/tech/readme.md.twig b/selfdoc/templates/tech/readme.md.twig similarity index 100% rename from SelfDoc/Configuration/templates/tech/readme.md.twig rename to selfdoc/templates/tech/readme.md.twig diff --git a/src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php b/src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php index 7f114eeb..46e6da0a 100644 --- a/src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php +++ b/src/LanguageHandler/Php/Parser/Entity/ClassEntityCollection.php @@ -294,13 +294,13 @@ public function getOnlyInterfaces(): ClassEntityCollection * * @example * $classEntityCollection->findEntity('App'); // class name - * $classEntityCollection->findEntity('SelfDoc\Console\App'); // class with namespace - * $classEntityCollection->findEntity('\SelfDoc\Console\App'); // class with namespace - * $classEntityCollection->findEntity('\SelfDoc\Console\App::test()'); // class with namespace and optional part + * $classEntityCollection->findEntity('BumbleDocGen\Console\App'); // class with namespace + * $classEntityCollection->findEntity('\BumbleDocGen\Console\App'); // class with namespace + * $classEntityCollection->findEntity('\BumbleDocGen\Console\App::test()'); // class with namespace and optional part * $classEntityCollection->findEntity('App.php'); // filename - * $classEntityCollection->findEntity('/SelfDoc/Console/App.php'); // relative path - * $classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/SelfDoc/Console/App.php'); // absolute path - * $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/SelfDoc/Console/App.php'); // source link + * $classEntityCollection->findEntity('/BumbleDocGen/Console/App.php'); // relative path + * $classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/BumbleDocGen/Console/App.php'); // absolute path + * $classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/BumbleDocGen/Console/App.php'); // source link */ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): ?ClassEntity { From 4eef0014ed170385468304e8ef602179a5c5d953 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 21:03:11 +0300 Subject: [PATCH 10/34] Updating doc --- docs/readme.md | 4 +-- docs/shared_c.cache | 2 +- docs/tech/1.configuration/readme.md | 26 ++++++++++--------- .../2.parser/classes/ClassEntityCollection.md | 12 ++++----- docs/tech/2.parser/entity.md | 2 +- docs/tech/2.parser/entityFilterCondition.md | 2 +- docs/tech/2.parser/readme.md | 2 +- docs/tech/2.parser/sourceLocator.md | 2 +- docs/tech/3.renderer/breadcrumbs.md | 2 +- .../classes/ClassEntityCollection.md | 12 ++++----- .../classes/ClassEntityCollection_2.md | 12 ++++----- docs/tech/3.renderer/readme.md | 2 +- docs/tech/3.renderer/templates.md | 2 +- .../tech/3.renderer/templatesDynamicBlocks.md | 2 +- docs/tech/3.renderer/templatesLinking.md | 2 +- docs/tech/3.renderer/templatesVariables.md | 2 +- docs/tech/3.renderer/twigCustomFilters.md | 2 +- docs/tech/3.renderer/twigCustomFunctions.md | 8 +++--- docs/tech/4.pluginSystem/readme.md | 8 +++--- docs/tech/classes/ClassEntityCollection.md | 12 ++++----- docs/tech/map.md | 2 +- docs/tech/readme.md | 2 +- 22 files changed, 62 insertions(+), 60 deletions(-) diff --git a/docs/readme.md b/docs/readme.md index 3a8e5cd3..ee252b39 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -71,11 +71,11 @@ $docgen->generate(); To update this documentation, run the following command: ```console - php SelfDoc/docGen.php generate + ./bin/bumbleDocGen generate ``` \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/shared_c.cache b/docs/shared_c.cache index 950e84f9..40cfad2b 100644 --- a/docs/shared_c.cache +++ b/docs/shared_c.cache @@ -1 +1 @@ -eJzsvXmPG0eaJ7wfZWCgMfYuYMd9qLFY6LBs4ZXbGknd88dq0IizxOkqskCyZKt7/d3fCB4lkkUGM5nJVBbz8fSomDwiMp/4xXPFc5gnHOsn/5o9ofzJN5PbMDXz0WQ8+/v15OrvP8yD+/jDNBh/E76/8d/PfxtdffNn8wTn7xP25Jvbj7fPr81s9uN4Ppp/fj65vg4u//ybP//6RKbxnt3d2OvwYuJ+CuMPzyfT8OGNmc7C9MPyBx++/OL15OrX9eQf7l/NNoZczorR5l3mm0FP/vXHH3+k+9dPvomj6zD7uw+3YezD2I3SxaFnoE/+NXqC0n0KtO8+3+YRpulOn0/G8/D7/MOL9aCfP7xMs3y5/OYJW9yYWE7/Kn19OjbXr0fjf3zz53Rb8sk3//rTPNzcXpt5vrnR9E9/7L+pNIh68o3LE47naZI00NtwFX7/5s9/+fPyyW/M3H18leZdvZeW4KOZfVzMQ558g7xDBmEsGNKWGMKicVojob0yWGH3zZ//GD3BHTwz2ffM1R939oSnEX749l9/+u7bf/s/3307C/P04rtvE2auw3ff/t9/+9//9b/Sn3//5r+++/b7//ndt//+/75Jn//pj+9++GYPoUZP1ENSeR4NkpFFTjF1XAfhE8UYU4JKjphckIpkUu2FcYlUL0bTBNnJ9PMmvUiml0oT/4/Gg/2PRM5diuN9KMsfSNzKlFukc5S6oDFWhjMbtAuGKSyl8IE641Ai3R/Lb+5lJzfmtre8BKeJ8u0karrryTjc/1iwSAWlXlAtUb4joU++o+dbI6+2ktq/TicM+D/uZuYqPJ/cjecZ+zitmqKtDR7vxovv/MXchAXw6IIFJDQ++/zGzD/OFqDjrc1nplezFUwyu75/sdjQP8ymbok23R75JvsA0yUG89ssIXA0z2+HxdBJkkVEovPcE26VQ9ohhBEjCBFskBBeLO7xdFS+2p5tA58L1tWEwIeG3odUfYZpwuqdBXUFWzOcnWnGs8l1+PD09jbfywJgh77zfHJzY8b+Q3pvMePqev0MjO5bhOfGfQyrJ1i8Trd782Yyuc4/I+lnQh3+2euJM9erEX534XaJKvvfiQp/mcxfJgr6+/fzeDSLUFxpvMXL5VCLN/LPWf65PPzzdx/NNPj02LfTMJsFn75xd7MU4uF+EJ4H2atnrAaZ3E1dyNMnWfOAIiITcu+OS6sQR1d36827eZV/KA/f++EfJnwlfpaZmLlaKwxq/71vDfJlMV6NP5nrkd8/6tba6LzW+yGyNfbfzPVdeBsS4j4l6D+dXn3aemeBtgxTUeFht8daKw8Px8vwFaTueG9DfDhUAdKFobauFveZVNgFnHDGtKx6b++nZjyLk+nNesz3k4VysfH+YtCMdPlwn1cd9Msb2/fK97OP5bALHvJmOrnKm+eZmb40C21r8cMi7Bc/fDf/fD36Z/AbAyx+KVda8zHm+czMwkMVKw2QMS/34nKH+y527+Lf/y98vn+xYoaTHUrolQ5ac9QXIZq76/mDwRfMMqO+kqTbHnOt865U3v1jH94BB8c26YvLd7ceneQdwPfugApDJWiNFlKR0IN7vMIw/zk1t0kObkCMZMjvN2qqj/fl7hZcvh5q8mi/hPnHyUJiElGL4hsC9F16pKQ//Byub5e7meQ90J5inkdUVaFWU6nKY+uqG+6IUrmFOopW+nebqmoed6GdVVmm/eO+G42v1iB6F8zUfdwiBs2bhVVA+Z6NRhc7ZK+03v5tuqGrDL63k8l8HwukrCIPPTgAr7jl9w0w+2k6uVson1QcVN8ODbNNkLwPZImYS29LYoR+tFKGbm4m4913X5rrWbi/XIy8UIxKD1hx5KQovs88OLFiM8pY25wkbwxVevxqkyxUy+BfjbdGZ4sNIhqP/n56t00blncIL+28hwOvXt2vPCMHlcNKY7z/fJv22N3NYqyFEVDiXQfH2kITy7uCltY8qSLZfFheLX6y2AclGm8p/wudZOudxSDiGC22B1m7rRKffTjWQjLsVcj2jpXxueTdk+nDwdRBTXTvYG+Du5vORp9C8Q71MTG4PeiSn+b7fDAUX1gFpf2zM9Tm1dbSc1xvCbaudgQIJ4c1weu7q9Hy9erlazNLcLpaWNajebqjh+8sxqSHn/TBmPnX2V0alnj7crkYiR3Wskoj5Zc/z2+ul5fLzxfj5R0g9u+AY+O9nc0fDCcOWlOrMX78lOzv9ar8mmSv8cXVkMcotxzw3k/8LCQ7JzyfhiSyx1fp+xl6i5FUzZF+Hf8U5nmQbOYt7nDhw04j6WoPuTFSfsylAEzfXn7p+fI8YeFDWHhx9nPA5YC/jq8/rzST39MuzdRZzLH49cKXU1rC5Z/FD16MZrf5yGGJJrHQZvZrJJs/3dpsIoOZ7ecAmz/aWUnBDvLaL4uXj17cNH1htvn6i+Ys+EGj4Ngg738bXf04/jSaTsY3a8qJ46NVPDfJo8mD6l2NA6s8kDrIgUoDrT/78taGNSUOK/H1xtyCgkQ17nTle7v3RRwwRyU+qJseHDP4LatvMQw5aGNVHWYHwJIedBQ+GHHHhF/8nB2n1T2LOPzONq348VWtMObug4qDMuF+jLUoSCqVC7PZZFtW3b+7GO6wtVsY7qfR/OOdze/PHo5YYYM8HPHBO9ukzBuElnnB+sXC87rg2eV7WL/4wr8UPo6h+5Ve6XUbu1iR4zw087mVxvzhqff5bHk8fzmd3LwOcQFEddgM3TvI87vZfHKzvNgimWIHVcGjA+1ATvGDEnDvUC9Hv7+bT9+N/rm8kYU3sswyNn/9ZhqufslScPFjWY+m6ce3ZrrWZlcqgVL17uA/7ibzcBPmZvFjfdAg2/vjt+Fm8ilPHZ5NzT/ycdHoiUYHTfG9YyTqZRvs/eSv08Uxhl4Ac6/hsff32Sh+P3k+8eHZ9cQtaKDJQa9EYYifk4BOis1iAHrQ+NkZYHW2u0bU6nILnJodZ2KlwXYAqnlVrK+HezE1v60Fy8J99EsY3y2GqqB1HB5qLaPWyNOV4bseLSscSbNd6Z9L9Ki6lF8fKWamuqFkLQbT9Qebb1EqD7rCJUbooGl3fLQ1se4HwwddDQcGy4r7vTp7r7BjdPjU6MBAb6aj8QNX2tMk22arEenBE5XtEX8xSZX/Pd3JbH0ggljFvZ9/ukcNxiiDm+zOvfzz5cgBI7EKrDn4tc0TIiT3edxfm/HVXbZFzdhfL8zlrevtMxmk9jHGI0PsbFyM9L6D1t1B3ny8PXj+tDxxXKi6uyt+fJid84T0heUHm6TCe1XeCmN/CUNajrMXlbXG2SEe3uu4qDBiYqBzswb8cqi9+m/doXbvb6/74vigLz6Pzc3ILU93Nm9S7HO6Hh/vy/n62xBXN7h1mI6X5567rOf4yA9vUe1Tp+sNtEvFvQ6NekNu71yy17V3fMSkmydNef5543kXJ50n4GZ7qJ0nXpx5PjhPPz7ol9Vdv5xMN4xOvDgETby8+sAPfNt5L64xv/vhq1kSI58WkTwbDn28OCpNXPyMsyZ11c1zKM3WvHwx765EaHHeO3s9cjuTisWkNdau1qR/G81GdnS9gMzWtLKVaStM98vEj+JoDai823UNhrQ7wXKPVgVSZgS6BiOoPtteAC0OgXUD3B6cbw9wFifDSS1pe7bsm8329fO76TRpVGt0bc6cuY1ufeJDUF2cMzdZxTXrrIgaumQ/ux6FlibcDxzekKKFGfdBZ8lzagjdqvNVAE9mPPoMUx+Ej9pnxxcmXP754uTCi4PxBwePhRG2T+eezj6P3YPTQrw4EH8Q2VF51KV5f/gMEbO9kSOVx18HKy51fb/n/jMXUDUwe2D8d59n83BziEgLM7KS/vHxdnW5/OFeI7L8w3fL87HZcoC8JVUlSfXgYHHhO/54+25+Z22Y7lx+OV3Ei6P2aiQ8NkcOCp4kKu+ZZLHhKuHg2CTp5doVMdk3k2qNZOnlX8ej+Z45FkEqldjH0Tlm0wV/CrOH0/DqkvzYNO8+38TJ+PNigcaJcnsmW+eKNJ8su0P2TEAqs4LNA9+VkfDr+PnH4P7xarZpV5vxs5CdScvxac2F3zo1fxoTJ8hjpb132HRfRAo8iE6qOsev46febwyefb3bw/Oqa1DnJGpDiPDqen5hhjerZK33k1/8/cX6032+sEXAQSWFu+6s+WLjS8vZVFXLu+AaXoz+i7ldjriQvVX2+2H36XLAhc45ezbxn7ObfzH4IlDhgWv3/Sqb794N+OH5RzP/6Xb+4ZfRbLaMwlicEsy2/Ylirzf28GhvF3mZ68+TOrOWXYswhgdeoMMDrT9JfGx65+Z307BzY/TPf/yxyNXNatBVmOfNFvyv00VYSfhL+I06HAkJ0UnkFGEiGkS1DURSwyk2POc4nSkIdZmGp9np+UeF0fdkOp1rpkWy0+d1el45z2m5I89xF7tpggTtX/D8WY4nPcc97KQOHiNGCZfGs+iZUIYYKrhWJkiGAiGWOE0jiYDLmrisn1s3MKzWJ1AJv1p4aYnVOtcEYBprTpXzTBtjnJUiAH7r4rdujufQ4FuXPmXuG4QI2BhkvRSRKqMxMx4lDSG9AO5bG73tpRoPDNbtEa6Ed25kVnkJlsE7YpWh0UVPoqKIUZ1tXcB7LbyfnAo/MHifTKcSmkXkTEWCOScCYSOidAExIyzC2EQLaK6N5maVGYaG6WbUKiEbYeQwUVIJhrjxGidd2npHBQvcKEkA2XWRfWK5kKFB+kQyFS1EjIzUCCutI8XUWmSRCsGqYLnUQgGW61qI9YvXDAzGJ1CohGAXUWCG8SA1l0YgjxnXTBjphI9OCkBwO3pG1SpKA0NzQ2qVkO2NcTzZgUgTjHkMVHrvk74hksbhiYdTkbrIPk9pr4EB/jxELO0DQo2LjElLWIyII64kFd4pToKKCCzJ+n7ANsrQDQz2rdCsiHIdvEES46iIoTJaTkxEBBNBESXeAMrrorytAolDQ3pbdCvanShpMtITx7ymWnIihWOCSKyZc5yC1l4b7S2U7xwa0FsgWdFPKBELQmjGEhNHyHMRvYlUeSQ19hr0lpbOL0+oKzs0pLdGuCJPVxpRE73nKkojhXEUM80FQdxorDDgvSbe2y17PDDMt0u8Eu6DUzra4DWynDJKCGXcBhMcNcbaCD702rhvuTL30JDfMvlK2LchcmOUSfpMjJZpK7iJURvNCZJca8B+TezXLx8/MHTXJ1DRx65dxIRIKpQQgluCkLbSM8URCSaC16W188/ZwS4GQwNwfQodiRokQquImONSUOuxDkYTFR12jMhL0T5Yd+efJ3fTGBiQTydU0Q/OpU9mZGBOc53BLKkKSbsOVvEoEb0QPHeoTbfb3GVgIG+ZemVOLoxAVHksMFYyCKotw0mp1oI5xMB/Uhv5bTYgGhru26Rd0YJUyWQMWkpPeAiJ8SPEuBIoSoNlgCyf+qg/R4usoaH/HDQs5rpJYm1g1DqKI1YG44ApEkwZhazgcFbUznnowRXcWz1/YKBvg2RFP3ngTtmglfTYMIYIETIqKqxNBqwngPHalmrDLoMDw3dTchWj0FVYaOnWRksI4igghrxgMuk0CCPItK/Nv9tqfTkwkLdGt+JJv6aIeoScoRRrFwwlWnruucCIuIvxOXaI9nYasw4N6+1QrYh0TnTkiGtmE9KjMEZwKWKyU6UmMYJ1WltnOb1p8MDQ3YBSJUQzFBVDNHrHcERUMKIY48LiYJUJDCJvz2dpLi/2NbEeGLTbIFnRp0gwFpIr6q3kQkcZTFCYSOako9KBNl4b4+11Vx8a1NujXBHxVESa7M9AbQI7ZxLrkLQUn/6TQTqoSXEWL/r+SZadBpezjMJsuNg/Cw1LuyDywLxEyiKOpCTUMcKDiFZaxgl3kDF9ltiB/ZPcvxquQ71l6hX9j4YKK2xAIunw6d/E/ZGnkmrlbFCg8dRHfhXfwpG12+qdNzTst02/ok0rCLVEoWAodUGwdB2sEITRtA8k1A+vjf4zEWtom+BcZDxSDwlFFpLEkFII52M0XEqEqcVWYwHxk3X3AqtworL8M1xN5yQaFWMhKfGcSOs1x5aqiIVn0XrnjXPMaLBna3tw9pbt2Z4kDX2V3chvJ5M9/WEHBunmBCvGwkhpsDMEJTbNtJIEMZTwjZgXEjN7Kfo66VXWBuC6EaGK1Z5zSS5igyPGG6tlQNEIabzWhHorgF/XxnOFYKV9yzT7aTq5G16Pn6bkKsYAUOalccwrSpMKHSXGMkYvCTXK+QA5zrWxXSG34MtiDVerPplOJTRLLJziLniGpDXeeswYYsEFpFgCOsRu1fYUlmyfB13LJzc3k/Huuy/N9WyzC/TAcH4GCpZ2gMLYJXVbcWYT4C1mGhmECeVSKOwN5PzX9haWhG/F9Rtdh/c5bWYynpvReDbczXBeYha96B47HCS1lDOsVbow3EtNpPeWUw96Tu19UZLf1ZZy0dEh+FfjAW+I81Cx2I9WRu6pp1TwSCTn2RUpmPfORKMNZbAT6upIu92E66/h++ndkFWk1glY9E6iZOYiLAWJjNoQpDcMacZJpFJaD5l6tS3e0mn4w+VbvRqoK6cJrYo51oFp7JOmjzlXOGpJTQhKM4qNlQYqDdQ/UyrFN5VX6v3n2zTF3c3g0N0KzcpVeAli2BEbmJWB82CMikR4RTGLAoEnvjbvLkWxHlyxAXstm9KrWK+RS6wJJ8FbFoNDlgehiXPYBhQFBnTXRTctuRveTCe52+vyanBArkOaYh8AGhSlCduCO0IDlRQLHa0TWtCEZfCr1ObIJWNoqxPmov7g1juDQ3EzYpU7FjESgsNBSGq1JgGFnP6vFfOeBAKRhq3q09tL9WI0DblQwyjMhg3vVmhW9AViShLH5oFHnpRqTqlhSCFCmaLWcogtr43yvQW8965YPshYZoJNpgOHeStEK2opwmtFiUMJ6ho75DhyyXS0FhslnQLvSG2fd4lY20v2Nri76Wz0KQBbL3ZvOZV4JdxjrC1lgRCOeVSRYOWs1c466gPxGvh7bf5efemWg2aGNWy0t0Gyog7jdKCOcWq4YUYQjLKzBEWtMI7cAG+vjfHSmfTOgm1eDdcr2ALFyvVzadQRaYmjDyJYmeuL0mSPIqmsh3yhc9qiW1dDznluhWZF77fRXmEnY3REcUa1xySnOOeIRselBZTX1dH3c6Xru6vR8vXq5Wszm79Z3OLNzWieONLDdwaH9lZpV0R9FApF4g1TQpKkuiCsnczpzC4m2F9KrtxX114erFxeo9ej8T/C0jX85XJwWG+BYsWcfSm9Z4SgEJLeQln6R0WDXO5GhxGDE6LaCN+fUVBar/zy5/nN9fJy+fnwcN4W3co9QyUy3JuIDRFWIakJjYRkvwvHDOKw6qN9/xHfsVV7O5sPG+wtka14RhoE90whRRFShHiWUK+jx05ZjKMCzl4b6/uDMpYr9eOn9OX1jL+O82qAcbpGe2uEK9Zt4RbnlgBecZu7nzsrfcK6yKl2gkvoYdeqrr5ctnXnqQ/PQkwfLtYijZ++n93EwwN6c4oVz0mZZg4ngEtJqbTIekuQi5pRbrkRcF50ToT/Ov4pzPNSvQ2zJX9KkhgQXp9iRX+LioGKnCJNCbfCM09FArwn0sjAKORHn0Fn2VivvB7LUdO3l19a9BQcD7DBS2uEK+Y9M6aiMjZabRFikerAkh5DDMo1RYUDvNfEO9ufAbBctl/H159XQ/0e3F3++WIlBwfuE6lU1k1sEJJ5LXxA2X3oEppDZFoIl7QV6O1SG8klF8Hyz2JZXoxmt2buPg7QNX4KiYrxWNwZbYlzUSrMdPoQc4U8jpFJJQJYkLUxvL+Q5eYCDTcspR5xihUQhcOWK2KMQgZxjjjySYG2WNkgoXrKCbjdT6zNpRmyP68ueYo14Zixgucyy4EmEBvkDWJKJZMvezu8BOzWxO7+pKsvbqdEeO+m6QuzzdcD7QbXjFhFfdiqGDV1GJukOTgpTcSOYWkYYYRg4Mm1PRl7a3McW6r3v42ufhx/Gk0n45shWnotUa2sNUfOfAgmQd3ZgFjMfX8iS2afRoJD/GvLSF84ln6ff3gRbvNbY/f5Pr3w85f3AOmnUa0YK2UpMQEhbYyTKFieVBRnvSReUc4VeOtqI32vCVRas3xINmSQNyZYufOJIel/jjqTeLfUXGiBuKJER6sw5KPVxvf+OOXScq0/+/LWS7PgUYODequ0K3J1HqgOxGCNCQ9OJoWd+MTOBVIMOwpev9qo35uLUm/lhusWbJl6Rb+hd55nV0vSaxTFyGKvo2NSo4B04KDPnIvfT9xdtqveT814FifTm9zIaTn+gHHfJu2KnZqp1t4oIWSwwbtAifPWMR2E0lRCTaz6Hse9oRIHVy6sIiX+c2puB+lzbEiucvyUNEhSiQU1lBEVY8AW8eB9zMeaED9V20LdGylRdbGGfEjUIuWK9SU0k4JHG6jh3qrcFytGTKKzDCc7FnSY2ty8moth/cbqenDwPpVMxew0hZDCLp/jR6UQ5jGwqBFRisZAFHDvlvXx5RDpo8PvgD7eCu2KVcMxQ45aoannUSHGqEUEM8oip0Zz8L+07H+psHJD1ltapl5RW/fMah4jUzwQxBwnUmOe/s8hFzn42+tr6+VwjnU27ZvpxIXZbLJdKeH+3cFBvi2yHclGjsg6z4gRWAgWSfqXBGIp10nhgfpBLVumDxftp9H8453N788GDvf2KFfs9UkFQ0l/1yJwIYzCInvb0xZIb2LmoJNby9r8w3V78A5o863Qruhd90IxZqlwNAeBKcup0iL9CZIiYSEarC7qaTmuaf1icIiuTJdyTx+GkhpClMRGMh6loBxpjhAihssIaK2LVlbmM+sXAw03r0mdot8bMWSQkkmbEEJxwWXSN5C33NIYlECA3JrIPeLQvXdqrdobDDUs61QyFXUGG7SmQtogsY8ee8N9tCZaJSzWDnKHa2O5bNDn8P5VO7wPT71/lYOG5i+nk5vXIQ7wJKcRsYqZEcomFq2RdYZ4JVwUKCBCmOZJOaaQA1Tf51FmPptL9fxuNp/cLC+Ga/Y1J1gxdxPlImuYaR0sJw5FF0gy8azB2NFo4LyyNr73Euvocg35uKYNkhVzIpAy3FApQjBIa50bGlvDnWLMeQt6dn0Lsex93Vywl6Pf382n70b/HB7jPpFKRYuRRBWdxZiYSAknmjrLaaSBcBOSpgJIrovkciDn5hq9mYarX3IJmuEB+SQilU/NYw6JQkFpRzCPwglilMLGcCWEg1PzM1qLaYluzXTd/2uIBTCbEavoBQkKC0qpItggHDiyWFFPrZHCOBY94Pp8/Pk/7ibzcBPmZnB4Po1IxUgPzFlUXGAXhefIMcEQNYEKEXjSpiGerzZ/Lp90bS7R23Az+ZR5TXg2Nf8Is8HBuRGtirmSTtOIVPZUcxUlMklvVkI7nLTnpFNDnkFtVJfPwjZXKpk37z/fhveTv06vh4foU+lU9GoEJYjXhkbPMRGCCWWFw8wIiz1j4NWojea9TdL3rtL78Pv8/eT5xIdn1xM3QA26AamKFdcCdp55kvRnFWzi1ExJ7bSQXirNCejPtTFd3bW6XKifg/Fp9OEh+mRCFeNHOWcyIOcEJdolNh0Q11oxIjCWgYC/rvbpShXGs8LX+rBgdTngE8RWiFbk254KGbTSLDFrFYkkHltHVZDMUkSgAmxtnFdxUe1fskGfJLZEtqLvWmukg8ZKOyUV4dpKzSKL0ebWCRGwfpYT8/WivZia316s6g0sBvsljO+Gh/MWSFbWWwLW0TKDRaBEWB9jdIIEx2REigHGa2O8ik9r34Kta2oM8qCmJaqVKwdiIYQiBEkegrQxKey5h0hARAUUIMPrLCeR6zXLlU1/CvNVn60BurobEatYh0QS4WI0XAXPTdQ0YhfcokFD4umKAq7PaXmmz/MoiwTrjZrsg8N3O0QraiqOYOR4Lv6HmeHpNTUEC0nSFXYGcH5mnM+3NMu8dEM84GmHaMUKOzSwYAxyiYcnWHPHnaXMSJlepL9wdlkb5+UaMQeXbK1aDhLmbdCseEJvtLFSMhWYICQm/RsjLjjiliAmZASU19XGq8Qgr1csL8d9669htgxuTK9iVBXNHFx6yhhhNOY6ItQ5poSUlHEMUVW1eXiVwLf1ar2Zjsbz5ahfJn46ez2aDQ/m7RGuGKGiUQK5YgIz6QhhJBCJOONKioioBm5eF++sgj/sFzMa//h7Ykaz0QAPgE6gUDH7VyMTEHdaOW8Yj0w5ibxHWurIHYKs9tr6SIVIuLw+Q+/5dzKdimiOChvMJYk8YMc9xiLmHDJNCI4YfCW10Ux2uc3yT/7yAGvyHaFGuf+kUZEji7ghIunHUjBlZAJl8Ex5OIWpjUy6S6zNtRhq3ZtqRCnGOSGdG10jjYkxziFiiAtYWKIxtcZANZDa+sCuR+m1GV/dpXv52Yz9dZpo53q4QXwNKFWub6OQxFa7jGGToMyCUk5ogryQjAGiayN6VwoeWachh+s1olU508siSQOKTiOOJZNYEIeRQTQpGEFCperaqJZHVurNx9udOXOB8eXL4eG6GbWKFUC4FozkFC9pvBc8se6kNkshZJTCQg322siWu67Q42v13LiPYflv7lyYvrD8YKh69TlIWNTCk5pCPUeLaI+gFY5aMUypJ55wyyCrpjZ3P2EBr81sNlT23pBcxTiPGL02ETkTnYgGWemTXZl0F84oIkQBtmti+8FRV63FGrBy3h7hivpM0tC9c4mZE8oYU45qyZFEMjChDNSfrI/33ZODCss2Gc/mZn3GOzygN6dYsSaUIZRIIowXMZmhkeKILY7OcMGF1BC5V1tjb7peA2bqrdKuWFdYeeyFEAFHipDUFgssfVJrcpdIjKArR22+vpsqcnzlXnwem5uR+yXMP078UJl7S2Qr5pBRZ4yMERvvhMJcOZ/wroXHTGkKWK/P4esv2o+/u3C7mOZtiKvZ798bHOrbJ2BRh7daJZtVUipVfu0M89I6zFjEMX0X8F/XH7MbhXx8+QbN5BvTq1xz21kUSAjKMYowsVIozaUiMTF7oiEXvrYm02y1Bqy9t0i5Yu6woswIGSTRGAejvQzRJWWeKOqIk1CduwMf5Oa6DTfopT3Clc9UY0j6i/AmskhoYuwmUpPwzxjRLkKUdwc+yDfTSRps/nmgGkwLFCshPBmmCkmOncZIS8tF4u8mas6tZdQ6iPzuwAe5vV4D1mJapV0R9YJGJQULTvPoNZOECm8VIgYFoShUk62N+t0yB8dX7oszYf1yMv3Pqbm9HWDr4LbJV9bhLfGOeBIsQzxKa2iMmEnvEPZUAvbrYh+jYwHYG6u3rBT8fDL2o8U0i4Px9UHK7oevZm+mo09p2e7fGtzO6Ja4xX2TFCTChOfeMWSY4WnTcGdJNDaZAtBN/oR9cyzIu8nSTubp5oIf8s7plrzFfH9ihA4yapErKHLhA+ZRU2OFitYp2Dv1984utVpc3Dt7PXJD3jgd0rYcAReMN5KopLIZTiXRHCchlKM9OQseNLX6u6aGnl1rZf82mo3s6Hphgg5333RK3aKuxiINiMncCMkQg0PaL0QTz4OhWFA4d+5+51RY018mfhRHAzT/O6ZuUeYIg5TC1CmDFUWKqIgE1iI44hXXkPVbd+foGgE3u6u4PLECr8CDDdMNUUv7hCGvmEaRaiKYlDTZN85Izlzk0sQIEqb2PqlxoFt9SQfvBeiKrMW94lAkhkrhvRKGMEecI0rIpInZiDhkrtXeKw08OwcXdeBWfyc0LVamIIqL6JFnBhOcrJXojYuUsmT3a4VB86pvs9QotlBtSX8dX39+OZ3cPL+bTtNka6N1oFumewIX+z1YnWx9olTSy5wiRuNoLGNORh4cDbB/akuZ1lcXvGSdUbVYbVyEZL1gk1QxIgzF0gdJcbRSSYQk7JRObZd1ABNY+a3aLnXIWszgE8boGCTWGinjPQ86sJisfEap5BxyPOprZeg8qzp4U79Dyhbr1JCY2yYyEqxjXqkQjAyKcCsEkc7AWX+XelhhWYdu73dD1eIppUZeOp/se8ucF8hZGVwUTCf5QlGELhj1ZUuNNLiqiwo2/7aQ6Z7ExRo6AYnIhdNRKu2oSluIICyw01IpZyBDq7a0OcP6gt3fIV2LNb2xxywiQ4zXXgRDVeROYp5jYphUkL9bd7fwGqGCyz8/h+vbAYa4nE6oYlyxDcIgI3JeLnFOIyKjtektySkRDLIX6+JZ1limd5O7qQuvJy43yfjwdPZ57LbeGhzG2yVe8awwaI2dY5jE4AnF1FLPhHUIRa2UBdzXxf0DYlVeuud3s/nkZuu94VZlOBcZi6cZzDFirTeKhYg1p1ww7mPS/rURnoIV3d1eWKzY2Fwvy7f7YUuDc5GxaA1r7wJhOsGeC6q5N0hLhBkSGDlCoI9w7b1Qw0t4YBHffZ7Nww2oR+elZfEMT1NrkoWAAveICiVERIhHQzU1xEkEu6LmrmCVcrI/3q4uB4f02vQp8nTuIvFWYB500meMID5E6TijMnjloA5+bZ9NpSoz96vzLsznaezZ4FB8Mp2KvBgLgixRBklnnBNCqUhd7jksjQkeeHFtDaVSKsz13dVoOf/qZe4qlj55N7+zNn1p+3L5ncEB/pykLHatUgwRTILklnHmaOCRYmwJcV6ZgEBrP4/Wfmwhn09ubifptga+Kc5Jy3K9neApC17ERbUQTx1K5i0lIkiTZAXsitonu5UcEsdWMr1MP7+7SWNPBr41zk/QotSwyjqksU36E6LaIk0UkgFxpCJO/w/746toUunlX8ej+bB3xjlJWbSVlZTEWcG9RVFpES2m3ESa1ClpGAfrovaeqBS1cnQhZ9NFTFeYDXxbnJeaxa5bmIlkcjPFiSGU6aipFTZqxGPAyEN36NraVKV84WNr+e7zTZyMPy/U43GaYNj7oxOaFnUqQzQngVGiolQ4KVfJIo/BY++SUc6gI2Nt+VHJE35sRd//Nroa9s44Gx2L2hQz3nkijdeKW+qDkkEHLbA11HoPu+E8kRXLpfvxU/rteuZfx88/BvePV7PNPspm/CzkNRveZjgTGYsdA6iyKiqsWGAiEJfMjGRjW61MjAwZqGFzTmt7uYirG3ga52Ga1ydNBf3Y61rbdUlZtCksIdg6QSMV1iedKW0PaXN19MgdC2Bt194TlU5c9yzkr+On3m+s4PvJkLfDeahYjkElMbhkIwRiHHNJUkRGEVc0Sp8D8GAnnMNueBvGPkzvZ03fPPzOQNNuzkbH4m6gDgutqeNcWY980pRcTsp0gWLOEdSXqbsbqtUHLixj+njB195PfvH3F+tPs1X44/jTaDoZ50Oowe2Rjqlb2jlecu5z2bJIkUYEUSKDFGkvIaq1YVBtpraXtopqXHdp88XGlwa3YbohajHv0yiRtohXUiMlFVeMkEiilDlKBENF2dr7pFI73fsFzDztw8sVND+8mJrfFkv4i7kd3F5oj3DFWCgTMVOBMZz+U4JKSTVVNuBoYhDQh7g23mWVk9gDy/ZTWFYoWVZjnD2b+M/PJ354yZ5noWGxeoWWXMXcch5RL6WKlgtBKZKBBR4xZELU5vq7iu/7cHN7nYidXudf5Lzcj2b+0+38wy+j2SyNm7737Hri/jG7/8bgYN8O0YoV9LzNjfIkDhpJK7wi3ARGpc0FwiP05K6Nc77LqQ4v2dtg/E1Yf/5ydD3E/LXG9Cp7hzQJkmEXVFJrLEsQjzxBPDJuRFDQOaU2F981xw6v1vqT2bv59M7N76ZhwHy8JbKVsB6kiyZgRoMjQmjPBBKMCiG5wEIEqLdVD+t/GRpGGX7yzSqc7cN9PNuH3CZxch3yOzdJ1V7/PdKEJ4e1KcmSDo2ya94EJISwxDGpiRMQAApQLEKRyhIUn97eXo/ccrnLHu4YBaJSOEGDp1EoyhCjCCOFQ/AIslbqSn+GNtdlPJ8aN599eBemn0YuJPVsFubDrUdVjzjFWJeAfaCIJXPMMM6lFMGi9F8yyQzxFxMZTIF9nunM5Mk3P/7uwu1xDkkEp1onTRF5zoOUyHGHqHKGESoxhrMNQNoxpL3/OJ38ZtJMR5AWsSXSS2I85REZGanHihMdsMDWw2kzIO1I4ESSrvNp+slxrAmGuVKCKGNsMIIggpP9S4m0VnAhLqUrCOlM76N6n2qziGd8MZrdmrn7mGfL14NT+2rRpqj1UUu0Q5FRQmySvYZ7KjnWlHjlNIe4TuCQZftD7zOa9wLxy/WRAlqMCWYVzxnthiHMvDM2XSUzWicT+lIMEYDkuc521AmQrGgkR6GIskmjlNakvxpbxgKTnDvnfRSgUNY+uFSVBdnexRo0tuuT64/8X1IfEs3i6DrM/u7DbY5fGbtRuvhhHtzHH27M7fc3/vv5b6OrPDddzv3rE7HbfG/xjPfhL/l2wu/zDy/WI37OXV7Cl8sVgvFq7nXJ29ej8T8W6l7C27/+NF8fRP3dj6Z/+mPPHaUREhFcnm08X/aLeRuuwu9LTpc19pv82K/SpKv30sAfzezjYpK0N4VVxGCKVGC5rYDgMnJvNEeeBclZplLeAed/YLLvgaeL4+Yqj7vkUj98+68/ffftv/2f776dhXl68d23CUjX4btv/++//e//+l/pz79/81/fffv9//zu23//f9+kz//0x3c/fLOHUKMn6iGpPI8Gycgip5g6roPwlhjGcoAeRzla+49sEZyfVPIgNnpFL5sEg8PYosCojjgSmsuQYO89Dojk09CFcElDTdZ7fPb368nVauex728XSVvLItAPHm3BBxIjSpPermKKl2xjM4nr1ydyt8ZEdV50/2q2MeRyVrx104ubEYu7SUvjrpOMvf+tYJEKSr1SLiwi1sRusEX1G3q+NfIKJTn97VRuuz3gHrGX84laGnxXgmC6QHdC5LPPb8z846Lgbl6tlubbkRbmCdnwmP0wm7of8tDrB83ybPHmTlDjEqO6PRpP9oGqS5weganmEQFMN2CqvsD0XnU4O1a3TrT2zLHMZl3+2VHWh4RVSwlgdQOreqGU5/aar8azuUljLT21ZwErevKvC4QbS3AbzfPbSyskWQI8SKQRC1E4HQhxnFokKSXUROeJXeS3PgiOr36Pr7Zn2wAjWdi4DQh8aOh9sNRnmCas3llQF+WnkbvJ+pv8LL9evXxtZvM3i3u8uRnN0/gP38l3vgjs261YfGDI/OOsQudMhSzg5zfXy8t1baQlIR7ECVYb7u1svjtaPhw4Z43x5fH9WQs2j56wP3dR+Hb0hLdGrP1lREdPxJ/PXpFx9ET+uaOydkuL62x1wkZP9NI98sfKSXIwwMtor7CTMTqieDL0PE52XogKY+e4hDjDuj7AVjnkwByCrdKueCojpfeMEBQCY4iy9I+KBjmCkMaIQcmLuqhvTYgPDPGt0a2YjpwUYMO9idgQYRWSmtBIiHLWcswIBPHWRntLOubQwN4S2aBhVU8LP9a1gAaGf2hYdSl7AhpWtbcpoGHVhewKaFjVdmoANKy6pP0BDat6pklBw6qvvyegYVWb2wIaVl3MzoCGVWdQqKBh1YXtEmhY1ZLkOGfDqkIImFFCQQgYRNX2IXSsAFOLPAeYbvAstgnTaeLJC40xf9xdbG3ttOEhAVYgBoCF0Nozh9Yi5xU1MYfVWoWwoZ5Imoy+IHT0dNlSDEJrj4XWyvwwDyrTbx6O7/S9yrriu8nd1IXXE5fLWm7BYnXYXoqlWo53n9H2LMT04ULzXNY/zvls9wG1NQb6dfxTmOcx3obZ8v4WOW/LWNoKT7gxUH7GJW3Tt5dfer7Mg7uPnD1TX8ll0Ow5u/StwmXP0/gsR8pWCv3E3BltiXPZFGU6fYi5Qh7HyKQSAQ7A6hqj9ZJ9BmZh1s+EOthNhltMsU6ih1tjrHVWepc0HmYpE1xeCm67qu3XiqgYGJhboFjRTcg0czgBXEpKpUXWW4Jc1Ixyy424lDrUspcIP6DDAMLrUgx61S9ylqBX/SOC/fl61S9VcVYoVXO0YEZXxWv43louVe6xcTkbI6yk2DCCkZZJ0gkdtcQhMYXAMVYYytlAOZvzlrPRB8rZ0O+nK4r9kB/m+d1sPrlZN0ib9beuDT/iKY5GQMGQUR9O4DJI74/gfljvzx/yoeoPa6CtCZB9sftO5n5I8ungT4d1BqIRZRaQ3ZtSOA8a8W2Loe2Gk9vsdbAlchKGrQQMwzneuc/xkurIREBSKMmF9CZQnN6Q3HCnKVFwjle9RI7Y67Yo9JReZ2csBvwljO/uj/D2oqLCSGF1crY+fctPz/cm3x4YLBsAuefvUlOf3Z/g1WHhPy177oWcwvssWwJumn46W7u2a44136JSHvOv0+v1WZ3YjV6rONaaTquh8qHcg16apaGybb90Bsw2zibFwbPOA8O8mY7G810j4ens9Wh27yZtr2/50jY6SzPo6kVntEY6aKy0U1IRrq3ULFmy0UrmdYTC07X92y3wnIF5+togWQnjigeso2UGi0CJsD7G6AQJjsmIFAOM18Z4O9JwaDBvh2rF/ueUeWkc84pSq3GUGMsYvSTUKOfDpRRTYp0hne8/e9ua5O1kslIZhhtScjKdigVkOBZCKEKQ5CHkZudM5kipgIgKKLALQXOHTTEaGR5Dg3QjYhXLXUgiXIyGq+C5iZpG7ILDydC3SUNRFHBdVx9pxRgeGL7bIVpR73YEI8etYxozw9NraggWkqQr7Azg/Mw4P+CoAZyfQLSy1h1YMAa5xMMTrLnjzlJmpEwv0t9LiaDqEOdtOBGHBvM2aFZCeZAyc22CXJBMK0kQQ9F6xLyQmNlwISjv0LasQKwvNtPmKdXAoH06oYp9lY02VkqmAhOExGRPYsQFR9wmZAsJRbVq47npec3QYN2UXsUO9TRrJNJTxgijUVnnqXNMCSkp4/hSMnM61ElaO0YcGMzbI1wxE80oESnySmqkpOKKJZ5OopS5mCjmCvDeFO8nH3MPHe8nE65oc8botYnImehENMhKb4x2SYVhFBFyKXgn/cL7zpz7I8oB7ycSrugzNxFnVZ3h9F/Oq5BUU2UDjiYGEcWF4L3D5kjnCDsaGPTPQsNyJAtnMiDnBCXacUwC4lonXUdgLAMxsAvqcv1WIuEHBvu20gcWgYmCFvIwq2d6sY4SMnMy9oEUu6o32zgzEymFBHUxmfeKGWM45za6XLoUW0NygV/IzPwzZGaeKTMzx4yfnV5MVdlmvSIdkpYgE7REiKmY+xcSL7mIRBrnEt5Wkl3WSmpdPEOPU1qPJU2xRAFImupFSisqpLQu7ug+oZVXT2hd/XBgqYAcKUgFHPUnnbUsi5b66OL2Pmyy1eGmsnIUPOAXUlnPnMrKImaGYccsD5owbRnmwitPNWYWOwyprFVSWXV+mErByEsW99T7rKYmBXg6uXkd4nydw8qqnDcvx3g5+v3dfPpu9M/70rOsyine8sdvpuHql6wtrx34NW4+/fbWTMO7rYq1tN78/3E3SYZDmJt1OA+vkniz/O3bcDP5lCcOz6bmH2F2n4u6N79h7xCJcO8/34b3k1Uqa85B5VU8Jsufv09mU64i68Oz64n7xzrrdH8MTGGEn8Oi7O3SWKmUChpt0JoKaYPEPnrsDffRmmiVsFg7cLHXDohptGkH5lRsRqxiaABShhsqRQgGaa1VJMIa7hRjzlsBneLq4vpEQTIwQJ9IpRKSKYkqOosxMZESTjR1ltNIA+EmKAvHP7WRfJJWMzQgn0SkYtEJHxFRCgWlHcE8CieIUQobw5UQ7lKKKvdS09ijYQ8Mz82IVdSgg8KCUqoINggHjixW1FNrpDCORQ+4Ph9/3rD6Bobn04hUDB7HnEXFBXZReI4cEwxRE6gQgSdtGoLHa/PnJh6IgcG5Ea2KCT9O04hU9nJwFSUySW9WQjuctOekU0OaZm1Un+oUGxqiT6UTpGN2GAAO6ZhV4XyWdEwelCBeGxo9x0QIJpQVDjMjLPaMgZeuNp4bnDkMDdENSFVsHhWw88yTZA+qYJPmwZTUTgvppdKcgD3YDo+ucgo2NESfTKh1WDauHZb9MFaxq6DsnEldKyh791Ybh2RLpmIymXXIJoXXOFKqlCcaM8SxcBRCsiEkG0KyexqSrSqEZK8f+29muogN629M9iL46aBGgrTgVCGNiUk0QMQQF7CwiVNRa8ylFIjtUCPZLbu0mwK4cz3crLEGlIJE+L4VfoBE+PMmwi91cFJRBy8KJ95VZiSqpIQX7rWxFp4Em7GRhxCDc5YojWgS+FjQGJUwEVpWghYOWngftfAcp31+L0G11O315z2hHk8au9QBe6k4izoTMihqraFIW+HRSjsSNWyYTJAk2HprwdCSBeOk9J4RgkJgDFGW/lGJlWVYaYwYWDC19T25l1jLxtr59eplLoWckZMVmazUzG+ul5fLz4en7rVFNygtDaWl+430c5eWhkYBX7OsETQKaLdRwNJ2RzVt9z1KWVeWO69kUxy+0+Z2u7CK85D2O7VeG+6iJ54K4xRK1rxkYLeD3Q52O9jtl2e3ZxdvZbv9xeexuRm5ReBRf88fc3mLxaOJmhLw4ON15sFmtYB24H4bS8MkC73hzBOGOJWGKGYiCpYKrYNxK5YF0hCkIUhDkIYXJQ1zynxladh7AcirVrbd90Sd2X7tw6mimFOaaKkIIjkXi0bidLBaxOCCMZgrAWIOxByIuf6KuXKa5h7SvRhNE+ecTD9v0m8RrZh9u3tcfDUH+x+JvLsrgPchNn8g91eHqzvl1i51lLqgMVZJe7dBJ0bGFJZS+ECdcWsZV+GkdhcRfRVwFX2cDx+nq8SAtjdgRdHGBVNcUaakNx5hZ5kMWOnEvqMkToE/E0Tb+UUb8OeT+HNWiI/xZ/ulA3pvmXQxDUAyY3MeQMSBYssN8iaJe+U9QUwzL+HAtW4aQLmm0LMvgNl8/XO4vs3l0wd20NqMWMUuYZIIF6PhKnhuEmOM2AW3ADkWQUEgwZkDCcZ5lJDPwjcWbnD4bodo62q9vJqSfUAmdZaCS6to2ntvsrG6HUkIylnHnORSWx+SQpREG9XpP6c0AnUb1G3wJPXQk1RSt8n3twvG/MNsWXxx4kzS7XurbtNyyw1rFI3QcqM/LWP2luRazfFuE3HbV4PtGWNNXDZRBwB/pU5e99jNMuJLJ6/l2AOEozYAR2hhdOYWRsoj4Q2XSX67qLBBHiHurRXMMi9ogBZGh6YJq3dWRuihLJK9InftyU0/3/pg3clov4G9d6isZS/vcTJ9MFZ+eFlyB22P9Ta4u+ls9CmU7o/8eRnVWVW7WDgW8l0+GIlut+0pMEOLESiXoFz2nL2WACwxAwD3QbmkuND8daC6ppUM2r2CrnluXZNHyjBmmlosqZCcGWQJ8dT64IRFFnTNKrrmgroPlLpCKaZtgfx09nns9iidlTooUqcDdYxTww0zgmCEoki6mVYYR24iHD8enWnn+LG5JjW0s8c2dM/jB4/HvfM9OHg8dpONDx5NoNiToF0MQnjmmWYBMal1TK8IJXDwCAePj/3gURzfXr0inDaKGou8QDF46aj0mijnLEUeW2FWtjVjx44dex6DjUvhfZ5LrAknwVsWg0OWB6GJc9iGrJAQ0ENq6iF0b4u11SRvppP/TqOvjeOBKRx1SLPSLJiqoll8xayBVnle1Q4CnkSJAxfSihgYkdEjEoNh0mNseABdAnQJyBnoac7Aobzle3axFCfLhU+34Uf5m71VLkjZIepI9AQcor05b+KlZdjB3If7V4M9bXK5shjAF/z5HXHLpJRQgFsfDjf1RuDcZXK9PcdKRCFMKVJWJaUvRK6cEpbxgCliyhEJx0pVjpX44lhpf8nnQ4L25mYy3n33pbmehfvLdUCTKhnRFQdOBkpu5ZeVXDPKiNmYY0Gi0slAtTkWHvTgX423Bs8RT3JvSl+twd9P77YJQ/98qBn4MdXmp+nk7jYPwf58NHjKUS0hsLkX7DkzryOxJz/srPlguDjSwRJutfAycoOMYiJQ5FEyQ4XX+vEHB5BOggOW/hx0rBXZRnjAAyaTjfN0udCTdz98NXszHX1Kt/GAw2O0C6A255zME0WCf8DzMaoRCFF31jt7PXIPJAFGu8G5bU35t9FsZEfXC6/IjpjQu+Knxpy/hPnHia+2kizPVaPNV/W59q0gz7M1gM3B2R6unFis3K5603iubFK+nE5unt9Np2kfrpf3y7wyP2Lr0x5Aimq4emmVEld54MY7gBW9IOmuB7ql6fZueNSQmIUJHyIGL/nLrshpYbqjoMGZz+gzzHwAN5hWC//SiiCGHbGBWRk4D8aoSIRXFLMoEBy71j12bezYHNhZbAuO4GXp7lLl0upnGl2d14rDNUyr3mzj49ukllPJiJNIGyoDsdw6roiz3giBoIUFHN9CKNhjDQVb8o7entYmCpcPIKSTHjxcG7KabXq47nXM/HGHh7YVFMG3k8n8IbIu0eNVQK8i0QJ64bT2zA5WYzCVQjtMjNaYcuIjxc7iEKmPmvtH72DtLvtK1PCxrOfcL0Q3M68KdneMXpuInIlOJN3SSm9MWknEGUWEqAuxu2lndnd7CzgwA7w9wh05tFRGQ8WHx6jSPTOzMHiVTiMFAXig0p1bpYuRaRcjRpoTq62kAgnqec7H5lFYDCpd9eJNrap0y1D9uuOtjoX3DZkJ8YCZHB9yeXq4b0By2j2uD5b2DUkraLIIC5sRumiBHrTCCaoMJ5ZJPOGWmQvRZDs8QWqE28Hpr03JVcJ2NIQSSYTxImJBknUdscXRGS64kNpdCLZZZ9hulYcODOit0q6Eem4S5LWKiDkuBbUe62A0UdFhx4gE30Rtjn6ykTUwiDezRg/62oJkhnHhDQ2RBOPSK5IgTawUVkfAcz08/2VoqMzJu+t6rE+vrqbhKt1EGXIk68GG8MCQRUQnhSFQgzjSiAan2aVU1QLInQtySda/n5pPYTpbelWOlHBD3rlkghHKGFM5PYQjiWRgQhkDFljts4SmmtbgBHcLFCsinDiLwqJlEqMIZ8GtNJeKRCcU0ZfS+493h/D2HE9DQ3p7lFtEcuVeYKPx6lOibWRSW0koDTYGSVDQlGHheECSXoq/oUNOXt85tLlaXyUsG6NNSHQO7g/t0OvIYbBFGCKkRr0px9LePrnEY+E953SSGCu1Dy5iFQRSJloUjcgl0LARGME5XZVzusXDiBqJkKs5X3wem5uR24Tg+pTuQT5JPSQvH/3IkZdUHnshRMCRIpTkNRZYeuQMtUJjSJqqL6ZbgsDQdNGWyFY0vaxW2kRJqVT5tTPMS+swYxHH9F3Aek2sN2ZQAwN5Y3qV0G28U0hy7BLb1tJywYwwUXNuLaPWXUrz9V4f8B4OQBkY0lulXZGn8xgSTxfeRBYJJdGZSI0MkjGiXRQXgvpeO4y3V25wWG+BYiWEBykNdoYgl0CtlSSIoWg9Yl5IzCxoLecIYdif+jcwYDfLkTyEZxcRiiyYBGcphPMxGi4lwtRiq7G4FD2lOzyzUlnE1SRf0QfcCyifRKNa/RKWa9LXfgm7d9e44Ibj1mgRsGRBYCEtCYwp40SSSIwzzKHgBhTcgIIbfSy4wfGBghv4+3TfcXR1t/zowbP1rO4GKfZg0hgZqRFWWse07axFFqkQrAqWSy0uJVCyQy1j77I+30TM9tXwdIz6FCrpyd4zq3mMTPFAcvw6kRrz9H8Oucg1BwQ3PZnZFhdv0l1l1p9scxdms8l0EZ794N3BwbotshWxrjXSQSdu7ZRUhGsrNUsaU7SSeR0vJSiuQ6zvJdb9or1PAv3DyxXaPryYmt/S1+5u0hiLwX4J47vh4bwFkpUwntg41tEyg0WgRFgfY3SCBMdkRIoBxmtjvNwu7fCChdV52lrRHxbM26FaCelWEuGyW08Fz02y3SJ2weFAsU3YV+Dhq4303ZrupTVLny/ClbIIfpZtODdNP50ND+itEK2YjEcDC8Ygl7DtDOWOJ1ubGSnTi/QXQpxr43y3MUR5yea7rOmv0+vhwbwNmpVQLow2VkqmAhOERBQYRlxwxG2ySoW8lPy/r11W/cCK5eV4c313tWwplb2Kg0N4Y3oVs1tp5uDSU8YIo1FZ56lzTAkpKeMYA7rr8vC9vdQOrNab6ehhRYens9ej2fBg3h7hilaoIxg5bh3TmJlFoSNDsJAkXeGkxADez6ub38vfxVhZ3Ryk0tIK0YpRJhwLIRQhSPIQpI2cScydCYiokHQYwHldraXsBt5esnzOmpZtJYGHZ3s2I1axjJcNWlMhbZDYR4+94T5aE60SFmsH8a5nwfXiIP/DU+/z8ft4nttjvQ5xeDpKM2IVC3UhZbihUoRgkNY6d+6yhjvFmPNWIMB1TVyzKlbTcqlejn5/N5++G/1zgHGBp1GpfG4fk46hUFA66do8CieIUQobw5UQDs7tz8ih30zDrZmGd5O7qQuDPN5pRqyi5hEUFpRSRbBBOHBksaKeWiOFcSx6wHVdDl3F4F8u1X/cTebhJszN4PB8GpGKHj/MWVRcYBeF58gxwRA1gQoReNJCwONXmz9XOVFeLtHbcDP5lHlNeDY1/wgDNAyb0Kp4SuM0jUhl65CrKJGhgahFPyVuLMZwFlkb1btZfYdXKqmF7z/fhveTIbryTqZT0RoMShCvDY2eYyIEE8oKh5kRFnvGwBqsjeYqDtflKr0Pv8/fT55PfHh2PXED1KAbkKrYXCJg55knSX9WwSZOzZTUTgvppdKcgP5cG9NVAjY3F+rnYHwafXiIPplQ5UKmUUWXdAtiIiWcaOospzHpHdwEZaFU7xntwWS6X/2S08EGh+XTiFQ8KZTSe0YICiFpFrnqNFLRIEcQ0hgxDTiuiWOxP9d6EZSzeL16uc4RCcskkp/nN9fLy+Xng4N2a3QreqeN9go7GaMjijOqPSZUh6iSjei4tID2mmh/UOnowKq9NrP5m8Ut3tyM5pk/PXhncIhvlXbrQpe8UK3heIoz7ahoA6cHk8uP3WTj2g3YaxGCllwqiZzMLcCcskQm0ccsz558qN3wZ6jdcKbaDWmPUvSwBEHfqw2Uig3gJD4N5pJEnox87jEWMRtEmhAc8cUEVZLOhCrZXdXln/zlAWZgH6FGSd3D3KjIkUXcEOEpk4IpIxMog2fKX0wYZHfIpLvE2lyLl8alf4dXAbEaUVYKGmX7FbS9AqATXaypHlJR7ZJOShI0Etgrpn1SuWIu16MYNzhSK1ddVPaU50myL8xnP/iJ+/tsPr1z87tpIN/fjvsnJnNz88VTHNDCjz1JNwXT9urehVtrvPTCYSqD1tYhRIghXjJprMPOGqspIaul36MW7burfq/8ge195EG6Wfi9G/3wnTVedyKppZI6nUSucyQiSrBlkie10Ghn1EodVsV1D7+bdMM9X3VydNUfPkY3a46OrPnWfTVecWalI0FIx0Ji7ZiKiIlTyRBwxoqAV7FJ2ZzbXfG/X5vPk7t8UyGau+v59x/nN9f9XXC8f8FLT9GNMNf71vvAbTVeboO1xYwihn3i8Mgob7SlWniso0eKfGke9WC5l06e7z/3eJHpoUV+cO+dLC3Zv7SbN9N4QWnkUnsWfCBMMuWQy8WJkRM615U3aLmg4qGkfvjcxcpvPVtxXPRvDKWYIpfdHfZCOcVuyym6XLnCMB6k5tII5DHjmgkjnfDRyUtJnOvOE8L3HlcW1ifNn36a2wKaAcbgNKNWMVjSyJAMDYJl8I5YZWh00ZOoklpCtbmUwLIOkb33WPK5cR/Dh9cTZ643Xv5q/zvNtXhjeJg+lU7lAAXjeEIx0gRjHgOV3nvjtdDYeeIvJn2uuz5Waq9Wvs16fvzdhdvFq1fjT+Z65PfzovuvDQ7r5yFi8ehGKSSx1c4SjQ0WlgWlkh1CkBeSXUxcWodsfVeh3O3TtHO91aZ3YHBvRKuisqKD4c4xx4113GISkznpscKcsKjdpaBadHdUnoj14tWGT2W4PLpEimJGKCNWcmUkl0TYwLXHXDvlkhYdOKKAydqYRIuF+Mtk/jJN7geMyIOEKNZoo4KhxA21CFwIo7BwnufKhOlNzBwEbdTF4/4400ILgwfvDLdzWqu0K2YwC4ctV8QYhQziHHHkESUWKxsk9ZfChbtDPdtPrFUSwbpG6mBV3LrkKfbeljTqiPIxvw8i2GSfIUIDRkgq6zUB7NbE7v6q1qtJVhVrJi6Hl21fDRnQrdCshHKJrLMSM62D5cSh6ELSl4k1GDsazaVkfHaI8uqJuc/vZvPJzfJi0CBvgWTFLH1PhQxaaea0UJFI4rF1VAXJLEXkUrr0dIjxOqVQV0u2uhw0zlsi2yroWvPaASv1vdl9i2kphbTIgH2giFnhDeNcyqS1ofSf4sIQzy6lXpJWHW30vwxtg+on32y5cxbbLEuno9ts+16WfzZs5J7tomJgmIsIRRbSfacNJJzPTb+kRJhabDUWl5L4JnR3RvspjeoHtvVOolFJ6Uvozc0vCEo4ZlpJghiK1iPmRTJ3bLgQGHd41FqBWG8nkwcdTAYH5dMJtZY4D0PLTxuvZ2KHlcTOQPYr6y4cGTZsBxu2GMJJhFYxt3mXglqPdTCaqOiwY0ReSoA97e4Iuso65UblAOiTCVVsjZoYc7Krk3FNQyTJQEivSMI0sVJYHS8F0F3ZBYOzrnFSa17N88eT6dOrq2m4SjdxrBsv89I45hWlyfiMEmMZo5eEGuV8uJTz4w51gv3VuQ6IuuGaoyfTaa3CiwYqfH8dRxQcR+A46tdObd1xNBCZIxAInZ5BuYHQGbxfBfyg/YNzUz+oZNWVqGVIyPPJ2I8Wd3r/qr/KVLk8g0obFTtiA7MycB6Mye0zk1DCLAp0KdGH3elSfG9XyBroGdrubUqvI4UbhmAqdBgXDpbCuSyFZQVyWl0UvZlOcl788qp3UkeUpI7nEmvCSfCWxeCQ5UFo4hy2AUWBL0Xq4K4iqJZ1AKsiZWD7sQ5pigb7MCpZdShMoI5Vt3WshKTCJ1XfEeON1TIxWyOk8VoT6q24FLbbXXkUXmItBdNz9tN0cnc7ODg3JRcUh+iwOREUh2hcHGIo9ag6wySUo2oBzd2XoxpIkZQOeTMUSTleJGXp268RIFHIc+6vd7+YqUadDtQxTg03zAiCUXavoKgVxpGbeCEbrzvvvigdnVbDz8B2aAsUW21lVWkrn9YAsmebuuw8HUYbVtJd4Aj0YT19f7fch7UAexEwESQaGiTCufcVjSxBflGZXUh0IbCHsPAzOp/efb6Jk3Ee7+Z2Mk7k+PDjp/Tvi9HsNrf2yBPm63d3duamIxuq1h+jmknBow1J0fJW5Qi+GDGJzjJMnbmUigAdBj9V6wazfmN1PTjmeyqZ4JgLjrl6BOOWj7k4t5hi7bzi1hibC4/ljpmCWcoElxgQ3I7Vu1TsFhLzC895FmL6cLEWafz0/dyma3CIboFicLAABwuPC/TnOlhYen8qlUd6YHauKwqHZXHhn+c318vL5ee98/ykd0qunygUisQbpoQkCEWUxJzMwawuOscvJsmiO9dPkVHvx1HOaP9yObhd3gLFwM0Dbp7H6OaRzFjBqYo4UGy5Qd4gppT3BDHNPBR4re3mKVcqfZYI7900fWG2+frncH07QMbbjFgQF9olriEutC9xoZoGFoxBzuHgDOWOO0uZkTK9SH/BNV9bY97bKuBAdemfwjx96+4mDRH8cvS/Tq8HB/BWaAYuT3B59hnj53V5QgwpxJB2H0MK+SaQb/J48k0cdcbIGHEy/kRConJeW6yFx0xpejHFPLrDpNw1uXdbGb/5eLub2X9/wPE2xNXsw0Vy+wSEY1E4Fn1ce+Csx6K8SnOmrcaUjzSVZSDnQrirzQ0HQ7UPhpYJZbjChqvqlO/ZBpTFrmfDOPzCqDvxCsdfvTj+gohniHh+5BHPRgYiKcEyeJcMIEOji55ERRGj2nhAcF3OvNeZ/dwkHeFDTlC93nj5q80VxBZvDA7HJ9Op2EfZqhg1dRibpPQ7KU3EjmFpGGGE4EtxrXZ4mLWX2xwTnflU8sfxp9F0Ms5nkYPDdktUg0OtDvvOwKEWHGr1Co9wqAVF1HoVEA5O/f479WWVKuAPsrx3g8b+c2pu++hlLLbnjVRrb5QQMthkywZKnLeO6SCUppJfigRSHXZF2htcWx09A9vYTclVjLP3zvPsMbeUKIqRxV5Hx6RGAenALyUWubv6y/uLDx1crPdTM57FyfTG2PX4wy3M1irtwDkJzsneIfwszslkiCCFHcl9spRC2SJJpjEiStEYiDKA5nZ5+HKI9NHhd4CHt0K7daGFKt3wqupDm/ZA3+yQYrSDV9IgSSUW1FBGVIwBW8SD95E4Fy9lm9Pugh3E3kZvJwFpYLu8RcoVHW2UkhA8slYTR1GSZ5QbHqLmRDKj2YVAHiovnAmmCaULImcD4UjATZCLqE1vaIgkGJdeER0MsVJYHS8l4AaQdiakYfnkm1fz/PFk+vTqahqu0k1AhVao0No/qJ6jQis4VMChcjkOFU2Zl8Yxryi1GkeJsYzRS5J5tA+XcuLztdG8PcmXairDdZ6cTKcSmgdyfvm1SynB8eXZji8XTkBRJa3wuBbTM48fLfbKGoaFILoLfgMT4auZCI4HqgMxWGPCg5PYCOI5VwIphh2FelC1T6nKFbzu+ep9dOP9Z1/eGq6q1TL1QAH76j3OQQE7rwKmaqWZr4trv5lOXJjNJtslt+/ffVwKmffMah4jUzwQxBwnUmOe/s8hF7m+lMDvzio+JK2+nEJdGUUD29Jtka0kthQVDLGotQhcCKOwyKGi1vn0JmbuUg5fuzM+joTGPFy0B+8MWF1rk3ZQeQEqL/QI2ydVXjih8s+ypvPoOne6fer9q2zEzF9OJzevQ+yfZ4wUc3Js0JoKaYPEPnrsDffRmmiVsFg7cSG7FNPubKqyRnEEOwPbsc2IVRI/WFmDlEbWGeKVcFGggAhhmjsa6MUUmsDdOQtE2Ze5uVbP72bzyc3yYriqVnOCrU9saoVtb477cvT7u/n03eif/asIWRRLHCnDDZUiBIO01ioSYQ13ijHnrbiYipDdiSVWDjQ+BJqBbdkTqQSCCARRj1HdniCqVbxgc9w303D1S67D+rjkECVRRWcxJiZSwommznIaaSDchLSxL2XzdiiHymcoBzAzsA17GpFACoEU6jGoW5NCpzvr0ma5NdPwbnI3dQun9uOSRt7HnIyOgtKOYB6FE8QohY3hSgh3MaemvXTW7cHOwDZwM2KBdALp1GNw98BG+o+7yTzchLl5XFIpBoUFpVQRbBAOHFmsqKfWSGEci5eSstZPG2kDMwPbsKcRCaQQSKEeg7o9GwmdKoXehpvJp6yzhWdT848we1zCKJlFLCoucNq9niPHBEPUBCpE4BypS0mO6NJEKpfKL0NnYNu3Ea1ANIFo6jG22zOQxKmi6d18+v7zbXg/+ev0undiKb1TkEuaBhaMQc7h4AzljjtLmZEyvUh/LyUDtTuxJMppZ0vYrPbRh5/CfDcpZwGhoW3hNmhWLILtNI1I5ZhSrqJEhgaihHaYcGMxvhSUk69d8KMCdxwYtE+mE2hdoHX1GNdtaF2FA0XOkBCEKImNZDxKQTnSHCFEDJeRXAjAO8zRKbOh9YuBtvmtSZ0ScqUKRGgudRSMUOEXaWXIS6QZZhRdSmBWd8jFaZZfJuNJMsc+pCGuBgjPfSQoYTBIaXBSDZALkmklCWIoWo+YFxIzGwCDdZXdCsT6UrVt08wfGFJPJxR0LH3SXU0G6FjaqGOpo84YGSM23gmFuXJeW6yFx0xpii5FO+0Oj3I3gOu1GV/dpXv52Yz9dQ7b+ni7M+eXPodvQ1zNPlwct09A6NjbJT+Gjr3QsbdnmISOvS2g+awde3OLntPOK9+H3+fvJ88nPjy7nrhHlmzAgxLEa0Oj55gIwYSywmFmhMWeMUjBrm/essq+3AfIGdiGbkIqONGBE50eQ7u9OBrZTC79HIxPN/64pBIKSc9kniiCVbDKBqZkMoWE9FJpTiDZoCWnaxXcDGzjnk4okEggkXoM7PaSDk6wlNbhZquRV5cbY/dMOuGSdFKcMxmQc4IS7ZLZFBDXWjEiMJaBXMqpNFbdbeYqhsBRDA1tQ7dCtPWmPkHNXI/9Ymp+WweRLn7/Sxjf9W9LQ+R2lx5PiNw+YUefO3Lba4100Fhpp6QiXFupWWQxWsm8jvJCUN5h5LaoYi4cYZRDQ3kLJCs2YhiIetahrQXq2ddTz6D3Qndx3dB74Vhs9ym9Fwrx3cxYwamKOFBsuUHeIKaU9wQxzfzF6CPduXnLxbueJcJ7N01fmG2+HmiiQjNilXA9kE60HeIaGtFWQvQZGtFyakj6Xw7TlVRLzYUWiKukW0er8MU08esOy0d6c1VqpfrSuPlk+nlwAG+VdpAlAVkSjyVLAqLEIUr8bIiEKPF+YBKixPseJa5OKLi4z5W9PrHpZXV6VQ5+CDhp/sxgEWhSjXyM0QkSHJMRKXYxLpsOj5CqlBM8DqKBbfOWqAYHSXCQ1Hekn/8gaRjBLx2ydAh+qQ/zcwe/aMq8NI55RanVOMrExWP0kmT3vA+XYkJ/7aqF25N8qU8yXAZ+Mp3AQQkOysfioIQyLm0fE0EZl2Y4hjIujxr/4KAHB33fMAkO+r476E/pGrs2Kl+OrkMyLBdBBON5/1oi0ZJf3nEshFCEIMlDkDZyJjF3JiCiAgrsQvZ6l0X5qzRCPYidgW3qZsQCLzx44XsO8PN74V1MbNowHqTm0giULGeumTDSCR+dFBcC9A4ZuKyZrHCvVzwzAyx80oxaLRSHSJ/nH4Y3CS4bAfe908NESQ+zkggXo+EqeG6iphG74Bb5LVgERS9lF3d4mFaH8x7E0MB2cztEA70M9LJLAvpJehkkKUKSYm8Na0hS7BGuIUmxEqIhSbH/WIYkxUeQpAjne3C+1z/4n/d8r5F/6T5odDXNVehjj/mif0k5gpHj1jGNmeHpdZJ7WEiSrrAzF+NfEv00uw9iaGCbvB2igX8J/EuXBHTwL/XBdgH/Ui/8SxARCxGx50ItRMT2BJNgMffYYobsse54M2SPHc8eW3pwVCsenK203545cHAxUjtSrb1RQshgg3eBEuezOycIpanksPdq6/uqmr99Bzn/OTW3g9T4G5KrqF8paZCkEgtqKCMqxoAt4sH7SJJwuRSnTXd9+3Jb4tMXa5NZDQ3mLVIOoii65OYQRVGJi58himIodYA6PFuCQkD1Gfe5CwHByRKcLPUB52c/WfKcISEIURIbyXiUgnKkOUKIGC7jpdRk6e5kiZUju9YvBnqUVJM60NoKWlv1Cb0tt7ZSgQidwBoFI1T4BXSRl0gzzCi6FCWjOwTjNMsvk/HkenL1IQ1xNUAGu48EJQwGKXNMIEEuSKaVJIihaD1iXkjMbAAM1vVNVCDWl0qOA3a+nU4oiCiBiBKIKBkwJiGiBCJKYB9ARAnUI+4XHqEecUMcn6Me8TKiip0eUZVJ8ub67mqUA5sW5fh6F03FSsFUwmhjpWQqMEFIrqCGERcccZuMXSHjhWzzLsteluMmjsNnYNu6Mb3gqBKOKnuO8fMfVSJmg5As2c0+IOQIcizSEJkWwklKofhl7QOfvXldS96z+vPjp/STF6PZrZm7jwN0p59CImgwBQ2megfkBg2mll1t6ekGxJvpaPzAjf909no0658lwUuWBKE59FF6yhhhNCrrPHWOKSElZRzjS9m9HRZuLSca1MDRwPZze4QD2wJsi76DHdrbPja9DKLaT4D5uaPaIdgHgn0uKdgHAisgsKJ/WD9rcUuGynb48k/+fDLtnXGNScm6xlFhg7kkkQfsuMdYRE401YTgiC+mbKVQ3cWH7K7rNjoGti+PUANyTSDXpEdobTnXxHOJNeEkeMticMjyIDRJ5q4NKAp8KbFO3SGY7nXArSZ5M538dxp9eTU46NYhTQmzGHvMIjIkqfReBENV5E5ijgUNTKpLUe+/orlaCC9b/hlomurphCrhOXqhGLNUOBpUZMpyqpLykFixpEhY4MG1efBeGfkgm3hw8K1MlxJahaTCExtcYr/Gapn0BCNkYsWaUG/FpaC1u6Of/UXVjvvAZj9NJ3e3gwNxU3JB5jVkXneJ17qZ1wPJhuqOv0I2VKNsqIFkTneIR8icbpo5PZAMve5qxUKGXkMknyNDb/AH3N3xZDjg7vEBd0FX9ko6b5iOXESvHSbeUiW4ZoxKKy7FXutODlD85Jv3aYS0Mi6f4Y+fjj48vx6lLw0X1pVosg7DkNXDMO779PYsGqOYNI25UZEji7ghwlMmBUumKo44eKZ8YBey44jsbsvtUmsvRoa25yoRpXhIOIyooe5ceRA01FLQ0EAcKlCK7hE5VAbidIYSXL1yOi9UZnGkqduuI2XneiORq2d6dDFlGCGdGzcjjYkxziFiiAtYWKIxtcZcyoZjHQYx7WZJVQfOwLZkA0pBO6suA0OgnVUlOJ+hnZVE1lmJmdbBcuJQdCHpRcQajB2N5lIcix3m/e4l1k4O6+h6nhdsmai9uBh0F8IWSFasm+WpkEErzZwWKhJJPLaOqiCZpYhIwHhdjO8tClWpHMGgcd4S2SDDHTLc+4fuJhnuyxK9RypsHQ802LCEe2ckk2K/c+EskjQk9UsjjiWTWBCHkUGUGxKkvZBtizXqbuPK2oEqz8wsrOEztN3bjFpF9QsLSz1PuEaOJjUMR62SoUw98YRbdikmBkcd9n/eTQ2oyRuHBu6G5Cqh20hibWA0GRQ4YpXs5oApysECClnB/YWgu7swgf3W4M4kxn0My3+NXQ87XD9nGySDor1PcHc9z6Fqb0XOfXrV3kJQfUQospC+J6UQzsdouJQIU4sTusWlRMzQDquZ7GqPeyYZOpRPolHR1RO4UzYp1NJjwxgiRMioqLCWCJ2U6wuBMe6uXFSVjNu9cvT91IwGeB7VkFxQcAoKTvUIzi0XnIrcReKtwDxo4akRxIcoHWdUBq/cpbg9OowS2NUF91rxH29Xl+/CfJ7Gng0OxyfTqejmEDQqKVhwmkevmVxWjUDEoCAUvRRlozs0y92S7sd9Ul+yJ9cvJ9P/nJrb2wEWm2ibfEVdJCbEm4iciU5Eg6z0xmiHUeLlSeu+FF2kwx4QjfyxAz5jbY9wUHYQyg72D9/nKTvIjQxEUoKT4u2IVYZGFz2JiiJGtbkU3aVDPO/1yi5N/dcTZ643Xv5qc7XTxRvDg/OpdIKSME9Yd24/qAnTVBnvtCbMUNJKuwuVgrxSyCvtHyghsbRJNcOBVM7iUDrrUYG5+9JZ1GnkneOIE8oYU45qyZFEMjChDGS41ffeVTpf2JlzPJubdQvewYG+BYoVTxoNoSSpHcaLiEVSh3HEFkdnuOBC6kvJR+4O4bLpeg3YRd0q7UqoT6oNUtgRY1RUCmUdJ5l/iChFYyAK+Hpj1G+nJy6HSB8dfme4wX2t0q6ozVittImSUqnya2eYl9ZhxiKO6buA+pqo57o2v/olzD9O/EB1mcb0KqKbOIsCCUE5RhEmVgqluVQkOqGIhkz92rp6s9UasB7TIuWKiE9qS+LnwpvIYlLjk9YeqZFBMka0iwIQf37r9M10kgabfx4oR2+BYsXIQe8Ukhw7jZGWlgtmhImac2sXWZOA8PNbp9vrNWCu3irtVnUrVJt1KzbH71sFC1SqYMEp8ZxI6zXHlqqIhWfReueNc8zoSwlLoN21KBB7XeXbk6Shr3JeDVSgaYVgEAX8BHeJcIgDPhHpncQBD6SWGO2utgUUE6vqZWpQTKwYCEyEVhExx6Wg1mMdkmqiosOOEXkpLJx2mJNXgVpf6kQBoE8gVFEnSYzZMC68oSGSYFx6RRKms+PU6ngpgNYd4fkvQ0Mllk++eTXPH0+mT6+upuEq3QQk5kNifq9QCon5/UYwJOZX1AHOkZgPyZrnVmkhWbOiSttKsiZiNgjJfGLNASFHkGMxKbdMC+EkpZdyINqdicb2Vp1/c313NRqv/vz4Kf3kxWh2a+bu4wCRfAqJyof6WjAiLPbSeC84tjppyVIIGZNdZi6lmneHR54n+Du3C4+lLyw/GGqj2XOQ8EhCXAzOBR6IccxZFSOjiCsapdcSYdgDNfeAOtbMLC9gnYjTgaotZ6MjlKCAEhS9Q/tZSlDYELkxymCvY7RMW8FNjNpoTpDk+lKSnTv0Ae5WM1t7uGaT65AjkK6mYTZ7ZqZD1V7qEwg6kjz5ioWToR9JkSmfsR/JQPL+u8M2pP0/yrT/gZTJgipZj2YPdFslayA9ezqM3YOWPQ0szgp0KnJzQ4UVNiBhAkv/6hCRp5Jq5WxQ7lJCUTv0qLecNDI0lLdOP6h42CH6oeAhFDzsHSah3uHxeofLRuGiccLlTnWtnmVaYugVnnuFdxX2Db3Ca2r45+sVDt2UW0Y2dFOuDe9zd1MeSEFSTHF3KIeSpOcv+lKnJOlAWiyT7nLlocVyhSgBaLF8GquGFss9RTS0WH5EHhzI5Ow4k3MgcVwC4rj6CedzxnFBXmfb2Ia8zoqohiacjwLPkAFRDc7nyIAYSJQt7s5RDWG2EGbb443QnaMP4mwfVZwtVBM6t14D1YSq6TVtVBMaSJHj7tAMJY5PPaBsscTxskx/y1Fjm1P0LX4Ml+LHBtIuknXXqhr6RTbQ1rrqFzmU4s8dnhZA8ecTPaqVCQXFn6H487lQeULx54EcuHZo7MKBa18OXMGRA46cy3HkQAnStm08KEHa2NTruATpQBItujP4IM2iZ2kWkITdMsIhCbtCEjYUqugOj1CoommhioFEqHSoCUOASkM9uNMAlYGEKnaHf4hU7HGk4vKoHzc96n/xeWxuRu6XMP848WtNvG+n/Kh0yi+Vx14IEXCkCMkk8gSWHjlDbdr5FyP2kjzvzvytz7f34mhgW70tskG9gSe0u5gWqDfwFeoNWEWZETJIojEORnsZoktcnCjqiJOXoqup7rrfnRBGuMl1hovt9ggHNQigBkGPgN1yDQLI0z53VCHkae8H8pn67w4jxAtqavQV1dAbqSm2ObhCHxPiu0/aplYrbaKkVKr82hnmpXWYsYhj+u6F7IMOdRbdyFgaHOQb0wsOfJ9ARYJHA/duD3yDlAY7Q5ALkmklCWIoWo+YFxIzC9y9sUW6Z5IvHa0gz+0EQq0ObnXjg9sj+6ZvR7jFE9yAfaCIWeEN41xKESxK/ykuDPHsUvK0dVcHuINL8EtK1p7mOazpFut3UISA1jlPsO7unBha59SSkOdrnTMUo151Z/iAWd8jsx5aQ7UdGgGtoWoHRZy5NdRA4n9Ih52hIP7nRKh3Ev8zkLhN6BPVK2xDn6gT7UroE9VTREOfqEd0ngAxmh3HaEJMG8S09Yo7Q5+o/nJniD+uimroE/Uo8Ax9oqrBGfpEnR6LBtUXHhXWoU/U2U4nISrzsWyCbqMyB1KqD3d3tAO1+qBWX78ACcX6mhbrgyLs57b+oAh7NesPuun1EM3QTa+7aI4j3fRaDSPfnKBvAeWkFFBOibMokBCUS1sa59ZLSnOpSNrwimh5ITtcdLjFm8WQDnmPt0c56KMHffR6iHDoo9cA0NBH70yohD56X98wgICU3gSkgAsHXDiX48KBPnptH1tCH73GB5cd99EbSlZan92YkJTWXVLaQDLpuyvCDnn0PcqjH0okFgRiPRa4dxuINZC4l+7wD2EvjcNeBhIc2CEmITawSWzgQNIWIGvhUWH5rD0jsxLSLKDlzTT/fv55rYT3LZCFQ2XEJ1h36LeHyoh1bN7zVUaEynFt+y+hclxtz+WZK8fRpKVpE4U3kUVCSXQmUiODZIxoF8WFYDxJpu5QXuk8sagCDA3kzSkGxeKgWFy/QA3F4k5k1VAsrqeIhmJxj8hzBMXijjJoKBZ3AoKhWFxP4QzF4h4Rd4ZicVVRDcXiHgWeoVhcNThDsbjT0dxdRRY4du3xsevgQxRxdyc2EKP4qGIUBxIPxiEe7HHEgw0kZrZDPELMLJSK67vtB3nG1Ww/KBXXQzRDqbhTgzhaLxXXcmTt5hR9i7HFpRjbZM0qJDl2GiMtLRfMCBM159YughMvZI+z7pqPy6YBRwPe563SDgrGQcG4HmIcCsY1ADQUjDsTKqFg3Nc3DyAopTdBKeDIAUfO5ThyoGBc2zYeFIxrbOp1XDBuIMlo3Rl8kIrWs1S0gRyIQhGhR3QgOpTwQYgefExo7j56cCDBU1BM65EETw0kmrVDixCCWRvag2cIZl0c9Wv+5Js4ug6zv/u19jJKF3ue6fruajRe/bnPm//7D/PgPv7Avr9dvP/u82webn5IJPI34fsb//38t9FVfhC6fJBfn4i9wuVtnnma7j2JkXn4fb6hSn14me7uy+Vqg2CxvO3FjYzN9evR+B95QWjalf/6U7qH2+u0SumhRtM//fHgftLv08K5PNd4nsZPY7wNV+H39UndD9/+60/ffftv/+e7b2dhnl58922i6HX47tv/+2//+7/+V/rz79/813fffv8/v/v23//fN+nzP/3x3Q+LUdPD3Zi5+/gq3ezveYvljPq0wz6a2cf17XkeDZLJzOYUU5fMEuEtMYwpQSVHTKalGT3BHZBK7iPVYjl7RS/rpXQYWxQY1RFHkv7VFCdNGQdEAl/Qi5yfXnwvtKrA/6uSj2IlkxTjycZlyfjVRuvAUKYgsdrKuJSEmKiKfOCenu/Ts314uWKWH57fzeaTm/XlLn+g309XP/shk2T7y7NNRsGAUQCjeNyMgqmD9NrYB70iHZKWIBO0RIip6AhCxEsuIpHGOZXrNCXS0fOTLvsAj5OuyEK+Kh2l4QgzSiwylDMTmI4eIyupsc4xsgoZwOvHLzHbXQVv57rEYdfk+5uZjvJRwBaD5cBggcECgx0og+XVGOz6855QjyMtpA7YS8VZ1JmQQVFrDUXaCo8W1GMdiCdUi3p7+O9XJSNGDlNGPHHUpb1sJI9UGSedQEZHglbSieL60qlihgEIKxBWIKxAWIGwAmHVjrCq7Lda+a/z67UrO8mvTKwsvrIom99cLy+XnxdkVf7aaHwFkgokFUgqkFQgqRpSrxLwDnPfr3u+YrQzNsFQSa0Q4V4wJWMMSlLlOFNrOcWana/8FObpW3c36QnDqmnoX6fXIKNARoGMAhkFMgpkVAsyqmos0HEZtQoDvQogpEBIgZACIQVCCoRUK0IKk7pC6lneaW6avjDbfL2sVv9QONkvX4HANJBLIJdALqUHpVVIt5d1fGWm6mwIQgoniKQmSMQ0JxxxyRUVdB2QlnMcmmn+45y6ELLGv8FigbkCcwXmCsx12Mw1Fw+rdkS9DKB6N7mbupAb0cwnO1e7Ub/k+9vFb36YbX4LOCtw1kvirOIgve7x3yvCaaOoscgLFIOXjkqviXLOUuSxFSb0gK8eYxxfd6NirxPwotU0yuiUwz5GSXREJJcIWKWsqZps9c10krt6La92+SdkrALjBMb5tQlXgXEurFVab+cvHyNR04+WuarrVwfVqWX1gp3fgVoF3AG4Q6+5w9dOUq3KQL5uZHUim2QBc0010o4ZbSQWxCItmMDY1DBbm6UB7VAL+CvwV+CvwF+rEG6XY3xVwkXkCCFSOBktIlg6hqi1lLvIDRZyrbaithkqsFFgo8BGgY0Oi43iCmfVFdjoZDybm/EcOClwUuCkwEmHyEmrRP3U5aRg5ANPBZ4KPHWoPBVXyKE6zlNffB6bm5H7Jcw/TjyoqMBOgZ0COx0kO61Q3uc4O93ko6CgAkcFjgocdagcFbXOUYGPAh8FPgp8dFh8tJ1jqO0OpsBJgZMCJwVOOixO2s4x1DYnBSsfeCrwVOCpQ+WpqEIPjz2tSt9OJnCODwwUGCgw0GEzUF2hQ98e/rn8cyStFFgnsE5gncA6L5R1Vtc9EwHj6Opu2fN++2rFOfH3bvNdKNMBDPTyGGihTM8x/H9V+kkeFFWKyiCcllgzQr2TllDlIzNGrN17pG5tyXVjrjfTiQuz2WT64ZmZhQfvAo8AHgE84iJ4RJUwv1L92RdT89tW64lfwvgO+APwB+APF8EfSFWTogJ/WLdPy6QDFgEsAljEZbCIClEEp5ewBw4BHAI4xOPmEFifsQUrMAhgEMAgHjmDaNj/8vXE+DfXd1ej8ez58kGBOQBzAOZwEcyhaQP3N9PRwxo5T2evRzPgEsAlgEtcCJdo7IUotdAGDgEcAjjE4+YQ9fsXb3OITMvEJVYGBvgngTMAZxg2Z1g8zYen3ud7SE83ndy8DhGsCuAMwBkugzOgEx2TS87wcvT7u/n03eifAVgCsARgCRfBEpopC2+m4dZMw6q3NARCAWcAznApnAGdeFCx5Az/cTdJlAlzAxwBOAJwhIvgCPjE6OklR3gbbiafspIQnk3NPwJ4HIExAGO4DMZQpSPlYcbwbj59//k2vJ/AASUwBWAKl8IUqhS2PcwU3ifKvp88n/jw7HriwK8AfAH4wmXwhSqNA47xhZ/Tc4/GV8AVgCsAV7gMrtDI2/hmGq5+yXcCHAE4AnCEi+AIhFYtnblIlVq8Xr1cl3ha1YD6eX5zvbxcfg5MApgEMInLYBJVPY8PmcRrM5tn7vB8cnMzmmct4sE7wCiAUQCjuARGISo4I5d/cvGWXBPy4SbHsMlrbPJM9ArMeZPoL41L/34G2rdAe8yqqs/Pt6on//i7C7eLV6/Gn8z1yG99/MZMzU1Ij3v/tZWIpN9PV0vwwz3x/mamI5Mmm20uJIeFBEn5uCUlUwfptbENekU6lAQiMkFLhJiKjiBEvOQiEmmcS3jrqlQ9x1VId/95T6jHkRZSB+yl4izqTMikc1hrKNJWeLSgHjs/9fLwNai3h/9+VTJi5DBlxBNHXdrLRvJIlXHSCWR0JGgluGiF8lrH2/h9kWNvQ1xVyQChBUILhBYILRBaILRaFlr1a0Le03WnFOR/Ts3t7b3rcR+JMmVH4ysQUCCgQECBgAIB1ZB6lYB3mPt+VSJSo52xCYZKaoUI94IpGWNQkirHmVrbVLVjcY+Ip9mDvr4gqUBSgaQCSQWSCiRVA0lVP8d0TdX1G6trEEsglkAsgVgCsQRiqblYYqf1om4xmgKEFggtEFo9IB0ILRBaj0No0Qrxl+eLpACBBQILBFYPSAcCCwTWIxFY4itZWfZLo95NecVAXoG8Ank1VHl1OCPuGOv4yszW2RCEFE4QSU2QiGlOOOKSKypoWKfOVg1Za4XZku9vF1YFJM8Cl71ALisO0usg8L8q4bRR1FjkBYrBS0el10Q5Zyny2ArzlXlEWHgeQBMDHgE8otc8ohM9rArhdjnGVyVcRI4QkvQvGS0iWDqGqLWUu8gNFvKeuVboxtSOexYYKzBWYKy9IRww1vMyVlQ12n2bk76dTObLlwtCReMC8E/gn8A/gX8Oi392ewwD1fWAx148j73s6np4wVw6MWWBWwC3AG7xuLkFrl3rv1qxDOANwBuANzxu3lDFKd6wUgGwCWATwCYeN5tAVV0UFdPEgScATwCe8Lh5QpXSEY2dEFCavhljWCxUVR2vqX8ZFqv5YqUbXJxh5BWahusFrWcLUtIFARIPXrKQG3O7lesn8sfpRhbfFQtqEfaA6OPZ5Dp8eHp7m79GFiPi1Yyf/z5OK5pvt/y79BOeqXiv5m/+7Pbj7fNrM5std/cXWyA9XaLIoXFzB6DEIT6sWlOE1XXpHuuP1eC+6T7wPjfuY1ixscXrVwl/byaT6+Jt1x3q9LsW6vBUryfOXK9mvd/mv9r/Tj//y2T+cnI39vfvlx6nvTlOf86c51bhHhYvl9Mv3ig91slDNngKeXjKdx/NNCT2e3M7DbNZ8GvTO7PI48/SbOAGT7SX5a8mntxNXcj0m0+mlTfPqSM22Pl874xbcnLrqrj36w/WOp4OT3Yv0J+ZqxPwVHXg059I7V/9RjpL6UHPM18Dfr5fdGzdz9/M9V14G5Ig/JS0qqfTq09b7xRZeRvDN3i6CrDann6tA1Z/wramaPCUpO4tJKuo+gO2MHrr+kZh9q2r+yDAE/SNE+Y4/TllVSq/n5rxLE6mN+vbeD9ZjLrxfulZ252nwfM+1LSr3seXNyqtbtsztWqpLO9kYWK8mU6ussL0zKx76NW0VI6MdQZ9ZTHXu/nn69E/g9+Y8yR95fBgDfSVvWjf9hU9M7Pw8McFVeXkMRvslr1idHvOpca6+Pf/C5/vX/y0bsxYbbO0O1GDJ95rLBVv5EWI5u56/uB+is/b5jQNnlbXvo2dI5B6T32O6drWXw7eTu4ssxPiX19/qTd6Aw60V7eoMHsSPqN5kQ81HLltrbrCzKvT/ArirbUpGjzlXkFV/RaOLmBLEzTAZj1mn2/glzD/OCm6UBsM2gUH2XCHvksIyadI4fr2FAuo3ugNnq0Ks77/yevJ1a+3Ye0xuZ6Mw/1l8RHbm+TMUnD/TbyaL9zyP64OOSo981mmO7OOt/927l+1p+NVn6jBE1dhgEduZLY5ZuGZ256qgcexCjfZfyvvRuOrtRB4F8zUfawE9HPN2MCirCDea6h4Jw3XgCPv9eFuT5eoeJVl25d81GpAbT72ea3lus9z+pjn1bn3zTn7aTq5K55hNx257fPIo7nP9c8jKwzZgOOXNuoydiIZmH60Ou+5uZmMd999aa5n4f6yyPPbn6wB1y8hp+LNjK7D+2x7JxPcjLI4qkCE887bgB4l8FW7r8WxbPCvxtUIcZ4JG+wF0fiG3k/vKm6F1udqwMlKqtjDe1m9Os6amwzb9vlppWnff75NmtXdTf3z05rDN1irkol0cPpq0qfp0Kc/FS3xxDfTSQ69WV6VHqDOKA1WoLRzt8JTFocOW+8Uyd9o3DPtl+15X4ymIXvxkoFd+bFaGb7B0+09lds7fZaqSzfCZFr98VoZv+1T6r3zvw3ubjobfQqnLGO785zJr7h9H0tLOVO9+mq2MHqDZyspRDuzb15VO3RpPngnPGbrqqIvqZXhWz8Zvb67Gi1fr16+NrMkf64WocqjeSLrw3dOOBk9bZrWUfrgNvKEOW4/LOXVl8sTUFpn8NZP0UqT55c/z2+ul5fLz084Ras/RYOn3K9nHLuFt7N55YdsaYa2Y9RW0/74Kd3vmjv8On49Mf4kptPaHGfai8t7uM+9eRZi+vD5NJh5El3p+1l2nbwXqw3ezZP9Ov4pzPO8Of5vQeRFulA7T3Zg8LNic2PyjJzlMOnbyy89XyY2NcRmxTkanCjsNyeX9/Dr+Prz6iTj96Qu5h8tbqt4pnDagA2eoMTHln8Wc7wYzW5zWlhZtJ0yWoN7339qsTlbtYOcWuM0uN/9mvfmPBX5ct2R2vYEfOGJX1qYbL4+Ht3QbNy242uOzfv+t9HVj+NPo+lkfHOMLbUzwdmecE966tqG/byRo3r6E1adoO2T0BoJuLVPQuuM3baNVZp7/dmXtypEubU6TduRJ/Vuo0HkyckTnX99V5mL94kANUNPW52m7fPwqrWX6p+HVx+57ai4E+pJ1Y+KO2mSBqtXjQ/uBGjXz3g9PuLZ9tu9OXD4nTb2W71pzsZPK9xG1ai2didq28tzP+3a9fJmOnFhNptsu9Hu363v5ak/w9k4zsM7+Gk0/3hn8/uz6o/Z3iRn260Pb+LBO23s1nrTNDgNLivR6xfFo+CqQzSwWMvEWr84bu7VHOhscuue467OKCuoy6eOeDabO9uKq1iFD0+9z4V6xvOX08nN6xDLErjRuGez1zbnfX43m09ulhfVjvwaj932Oe3RuauqgS2M3rZnc+/sL0e/v5tP343+WXaynTZggycoWwmbE76Zhqtfsj+y+AAnjdcJF0jz3Zrp+pD+yMFAs3E7WY//uJvMw02Ym5bWY2O8tiMI9873NtxMPmWChWdT848wqx9BWHHYtiO7906b9mKO6ns/+eu0XNLo1CEbPMXeyKS9U+ZY4veT5xMfnl1PXHmHNBi17TyIwqw/B+NH43KBo5PHbDsabWfOu7FbhlguJdfqsprEb2X8s1mdpfmrSv6WZjizZrO+gxdT89vaGbXI0foljO8aazZHRj/b+cjh2deOtqMn7+1McGbNYX0D+fjipzBfHYaXRVWjcTviKD+tamVms33jgK01jnJw/M6eb761HfJ9HBHM7YzfdmTk8fnX++HY47UxfNvZCgemz2Eo9+fzR0NcGg/ddgTPganfTEfjB9mHT2evR7MTInhOmaOBVVKBWf9iRuMff08UnR0Ly6g/2Hk1+DxZjdiFk4c8/SnILsmWf45XEzrywwae2V3tZHPgCv7Car9vsO677G63MP3OdbW8qNMHbdGiPjJpRfW50bANnmY37Pl4w4AvBdtqVamtN3CDE5ld/nx84p0aO+kLyw+qhKWcYbYWoxcq3M2XwWpFL9QcuUWZXmvmEyPGT56jxbjqCveQTOe5WSsYteKq6w/e4hlp3ckrnvC3OU2Lnpbjt/Hicxp95Ja1vSosZkszNFjR+ndQbDNTKx+/8VwtWk3H76XqojYeusVojXpTnxgfdvokncqSzZs4rUL2yXN0KkveTCe3YTr/fBZZsjt4p7Jke/KzyZLD0zR42l0f2PHb+MLx1i8n0wrRqW3PdPozY3TMqtu4lQfFL/Kwa6m+++Gr2Zvp6NOiI1GFOjDd3kcTeh2zHJvc52SepsodaipRrNs7aUKzXXdHi3d6Z69HriLBOryNJtSqwRxq3ebfRrORHV0vpqxEr05v5GtSrMIN/jLxozgqs/WOb+R0iukaWv7uLS3Vp2bcvpv5G9CnhlZZ/f7qcPeu7qABjRqIn4N3WJ2bdzJ9E55UwyNb7f5yancOtX1+N50mYqw5bBVG3vW9NEBV67daU+p1dANfhzetraaG3LujO2iy+3ZDvlu6xXoKemc38XX2W+Eea/Dxbm6gCZZq+NKq3mEDXt793TRA1xluti4/7+oWWozqLdzi8k+F2hknj9nAf1Zjzu1qdE9nn8fu9BqMjeY5/XkfdC+ofB/LgNz6xQvPNePXoMG62ejybN5XXv1zzdiABjVE2IE7evd5Ng839bbBWadtEC1XyZH78XZ1WYyVqztUi5Fy5aneLWuhlUOhTx2yARIr+VUeFCBcZKR/vH03v7M2THcuj9c5POes596Vx+4qN4ufpB1UnRjnnLaBJlaJax67rfRyHRk9qU6S88/9tXdMevnX8Wje8Y7ZP2sDWlRSlY/e1Wy6mCLMqpPjvBOf28d57Mbefb6Jk/HnxZ4ep0evvnG6mL4BXiqJ52O3lwPFqyPlXFOeWwPeLDm6OtH/dfz8Y3D/eDXbHNuMn4WcpdFcA64/YzdcdKsk8NOYNNE8e9J8aseRnnPWBrSopPbtLY/81PuNcXPOcCUynGfCM/OF+4yR5RAvSrWgjrs7zjbluU+lC/f0ZjX6+8kv/v5i/WmNjJ2Ob+TMp9J17zNfbHyp8al04/nPHE9ZyCFejPyLKTaram+OBn7EKurg4dzN5S0sjuJmzyb+c668UHQnnmO6Bqu8u1vfh5vbazMP9wliH55/NPOfbucffhnNZssy84vKErNKSXHtjN9iVPfh+d8G42/C+vOXo+sj/qLGQ7eYh3B46vUnyUyZ3rn53TRUW7eWZjj1Gfe59ha5nw8ajL+ah5s3k8kiIRvnp1F7C3A9n4zj6Opu1c/3SxbBq/Encz3yWx8njSXdZdLaKiUxnGe+BoTbnzS7JFx2uV5vvPzV5v5sizfuCbg/C/rB778803KQv0zmLyd3Y1+JaO3N0YRQe/vCLGd+99FM86n3ze00JCvfr71BuYrENrkAb/tvaEnGTUc/7Nf9jG5vkv72DW1dAemO7ODDpLuf/5m5AjKuydhGJ/cFJS+hPffBymfH+5tfGh3O1p0att0ftRvwAs3+aL/tIxD1j1a7Sw41exwg1HIbTwDSUIHUbqdUwNFQcdRix8+lTn+BZRVP7rcJetMfLfSiBCr+0WZ/SCDnYWdOiZwPm1ECJQ/bmiVKrj/b2/4SiPrHCX2mTvKO16uHWxwMVLDTVYvy/nkYcAU75PB52gOy7ekYBvQ7fP69o03v7yRDF+ffF10dHgzigW6LFluoXPYOAaS02pAGGM5QYdRSlxzQak6g5sGePEDNP9rrAMQXjuFy15h7N8HOEBUqtzYduUGEcdkjfWTmqm3l2pukQYR4NXfZ+o3VdXHVThwRRA3YNHXZWItNsUAwHA7G3abog/ZbQLqqfpcD/b+AgH9Ubj02TGYH8Gipn9ewyTjU7XO25mnAuf9orznbMLEJ+Gm1ER6FHTncnXQhiUftNUyEjTDEjXCmzpTDJObQN1H7jT+HTc+h7qMWm4wCgAYKoPb7uQ6TlEPfQq02kh02KYe6hc7UsRfANFQwtd4QGXzTe4vZ1G34M0xEAnLO2G4HdubeCpcVm9cMm3BDZUjN+gbBjvujg2Lxw0QmAKv9aumApIEi6Zz16AFUAwVVq2X+AUUDRVFbzRSGTcihbqD2+1YMk45D3z/rIkI/zIP7+AP7/nZRo27ZXPiH6YLvfH/jv58nzeg+RTM9wMIIVgvYtFtC+CBi2pymQSZny4VZ9+VxtjVFg6dst2polY44J87QYNtDv+UvtIB+yxvUgH7L0G8Z+i3X3jXQbxn6Ldftgrkp9Xf62+bCzFsnnVXLYLQ2R4PnLCmrO9Wyn4WYPnyeVO350lGU68cWH7D54N082a/jn5ZHZm/DbEnkzUJWDZ/swOBnxWblCucNsFlxjgacCHqeQ8/zTVpUOgW/5J7nbH+/ts2a/ZVS++qN02agaDOXCwQzQMsdcKeeL7utmfMMcDRUHEHLnWrHF4ytjy/o99PVlD/kA4vnd7P55GY972zzHAPjzYMMtijD3F5F532qfwujNzBuWq1BvO/x2plg2KUajrZA2iZjtuVzjNJyD82Kj9Jo3Aa4a6lo8UHYtTJ+Z893sIxwS893YPwGz3fRpembNKY+uNNOHrPBc1ygYG+3Gms9h9wpc7T4nE2Dnas858lznPk5K1blavScleZoEI92xpDjfTbbOabrSCJuK+iVlLJ2xm9ilkHjFzDgqyEFGr+AH+gM2QYn2lDg5ofGL9D45ZSRG2hD0Phl+ybWbzyHxi99285DVTEaOoKWRysX4H2GBjjnEJCQyQ5mQHdIqug+g6L2g5V2FyOroLIDMNn2U2EZKceSLBrdb0WS0I1AEr3QBauctS/G+fDU+1fp7fH85XRy8zrEsj3UaNwG4bFVjgCX874c/f5uPn03+mc5Tva0ARs8QRW1djnhm2m4+sXM3cfiA5w03pmjQu7nuzXT8K5SvkWzcTtZj/+4m8xD2uCmpfXYGK/BelRx7C/nextuJp8ywcKzqflHKAfpNBm2bX1g77RpL77/fBveT46cPJ08ZIOnqOLXXU75Pvw+z7kDPixq8hQfpMGobcelFGb9OSxyQ+rHpVQZs4lf5XRo0cs/IAUtc5BaJpyawKnJPaeHU5NHvp2HysbXFbcfGsvrUmN/M9NR7nO7ZS2TDWt58Zofq1Kwc13NH3X6oBDfCJ5o4CDgia7FB3GJD2ZvSTKkNrkg2+CCS0NnGGXlLtqcu+xcIMiQB/sX7F+wf8H+he0M2iuEkp+hCrXYo0XbLzkMhw7dSYVD941UiM3XO/2G6h+RHhkXEucPHw01XDDYNJAbdEYWRL6/XUiRH2ab5UG3KshssCBx+LByb0PHF6NpyN1VR2H2oJljPeu25vBtM6S90+f6Ia/my+4S1R+vlfEbaDGlFIDt+d8GdzedjT6FU5ax3XkarGf1+3g3Gl9d564zofpqtjB6i2tZudPq09nnsTt9LRvN02AtS07PHWpvXlVLuG8+eBOWTPQDlvywK8nmqdKCL9P9tdNWbZmnk/9OcyyvSo9eZ5QGQrzezYKo3in6do+L5T0v44nS3H6Uv37w8BEtXJD7XZpL0u+M9CEXTZ2Md999aa5n4f6yyC7an6yB16IEuoo3k3h2jhXLPhSzrPlznAjnnbcBPUpsrtp9LRhf8K/G1Qhxnglb9OPUv6H307uKW6H1udqO5j14L6tXP00nd8WSS42GPf1pMKrU9uHAbeRh0+Vsbsbz3Q9fzd5MR58S4CqtcLf30YRelRqHnHifkySh0g6tSLFu76QJzWoovnXv9M5ej1xFgnV4G02otWvatnWbfxvNRnZ0vZiyEr06vZHTKaZrePl3b2WZ0teMd3UzfwP61AjAqn5/dXhVV3fQgEYNmOnBO6zOmzqZvglPqtR6r879/Tq+/pzTDZ/fTaeJGGt+UYUtdX0vDVDV+q3W5OEd3cDX4U2JA9yG6QMTvi737ugOmuy+XXdKS7dYT93s7Ca+zn4r3GMNPt7NDTTBUqWGkPXusAEv7/5uGqDrDDdbl593dQsN/CN7A8WOOTKqRWs3HbqB1/1sDj9w0B86uFne8+E2LIuLYaTR7AkvrXUPtQJXa47c4kFkhZlXLoXjj9XC4A2c400nrwbMVqdpsI71wyxffE6jj9zSxqiwmC3N0GKQ9fE72Jz6xCDr0ydpUYDXu4laArzu0J3ymrXCdBZeszt4p7xme/Kz8ZrD0zRA54U04WGl0/3VnMs/1ZrJnjJck0hSSOqFtAhI6r3fDy2p50NFwbB3f6um0LBJOdQtdCabc5jEHPomat+kHzY9h7qPzuI2GSYph76FWvRLDZuQQ91ArboAAUIDhdA5fK0ApoGCCdqIPcijx9+7TaDtyd3cCgEgiwu2N3VmG9BbV0VHev3BWjw43a7HsK6MlliIC7PZZPrhmZmFB+/WOjg9cYYGz9heA+zKmeP1Rm/wbFVaMFRu2bzv8dqZoMETXnRhmUuvMbk/YO7A9K8nxi9LLuZwyXm6i/qxeDWGbrBmLbadrBzydfIcne29R1YhtGI/ofX8OYs792FbwqfcGKfRuGd+HujkVXvATlYEOmFVHq/BekAnLOiEBZ2wLr4D4TDq0z9wBh64hddmNs9z56yQ0TwT+cE7tQIvm0zTwF11kpsFslv+aNcHctkGKyClVY/SMF3rACMo9AsNKGqP3GJuVK2ZoQHFKSMCc4Tz5rpsrEW/OQgGaOnReoDf6f40aP99oWwLtgX00QMgnSl4sZm/EoTWIngt/3JPnNpW8fj8mux6dpZ/ln1JSo985Ienbwi665XcHPilyS1EilUPqv2+AWCrkQz42TC33h/Lu1wGjP79o5l9XIMyEhM14ZRHRg0SUQkmrRROM+GRxWzxvfTTUQ5fHZvrvzvjPo7GV3+ffZ7Nw83fP4XpbDHL6AnJN4jTrcTRdZj93YfbrO+N3ShdnBAn+/fDfZ//ZqYjk8bbalzHn/xr9AT9+dcnopqb4MX6/j4vAlu+XH6zbCKNxfJJXq2efB2QkKn2rz/d38vf/Wj6pz8ecLX0e7UgeA6VWWrib8NV+H19TPrDt//603ff/tv/+e7bWZinF999mx7+Onz37f/9t//9X/8r/fn3b/7ru2+//5/fffvv/++b9Pmf/vjuh8Wo6eFu8pljjl35PZNd5UPLJ99sLqrn0SAZWeQUU8d1EN4Sw5gSVHLEZMLE6AnugFRyH6kWy9orelkvpcPYosCojjiS9K+m2HuPAyKBL+hFzk+vfPZ8gF4b26BXpEPSEmSClggxFR1BiHjJRSTSOJfwtiAdPT/pskF8nHT3n/eEehxpIXXAXirOos6EDIpaayjSNjHgBfXY+amXh69BvT3896uSESOHKSOeOOrSXjaSR6qMk04goyNBq2ZQ+sk3Ob9oIV9nf7+eXO2KpfFsch0+PL29vdfZy5L11yey1IpkJdu+/OL15OrX9Q18uH+16W9fzpof+sud5ptZrF6m41WY5wjh4H+dPk+MYB7+En6jLrEsEqKTyCnCRGL+VNtAJDVJABieb1RVSKA5cKPLNnLL77wLZuo+3n+2gpVOVPof7Y/+P+5mC0PqLsdA531wvpmW+ttfNvSpw9BYdjE4x13ElUvs/j7Q/gVfqJjqPPdgplfr48ysTh0jxjo5a99tMpLkqZJMJ6VDJz3EBCSEsMQxqYkT9kJwybnuCJl/GRr2sgL57vNNnIzzeDe3k3EixyYAr0fObHjFDwDRxygQTVaNoMHTKBRliFGEkcIheBQvBIiEdMYhGdpcmPF8atx89uFdmH4auayXJCG/lfA4KNTWI04JuAmqRFmZzBNr0l+NLWOBSc6d8z4KeSnA7Qy3OfDj4dL8+Cl968VodpsVzTzb9vVwkdyUXH8sfU+5msRxp9A9U195fm7M7aZ/h4J/B/w7j9u/Q9lBem2B/euCy1oSsHWCJwVJk0BoJJF5TLgwwmn3pcJQFWM6H4OZsb8PnFxd987AJiUDO0gXTcCMBkeE0J4JJBgVQnKBhQiXYmBzAobMuVRCXDJk1pvkfnOUdMK0HUUQMZpIWEQueGMD9mmPOm+Z4ZcCRgxQPA8U0zyjJFCy//ZeQVM1FLQDHB2UNlDaQGnrudKmjiltOUrBJCNuxXAWr1+lZ38zmVz3TmfjJZ1NCy8tsVqbJCaZxppT5TzTxhhnpQgXIiY56s7ntzeotwCXgQnW2vQpaXkyIs2k18pZIR0PwnJnaGQG06CQuBSXNaag553r7CSh481sugLgFvQqep81RkZqhJXWMeks1iKLVAhWBculFupCMNjhqckpBRMHBdoTKFQ8+EvCnhOrkkqEMY+ByqQ+Gq+Fxs4TD7ZyXQSfK7B1UCA/DxHBZwQ+o059RqhipPdBDRhcRuAyApdRv11GilZ2GeWe7derzX4vvX61/52Yz18m85eJSfut5Jle+ZJoyZckk7AMFDErvGGcSymCRek/lUhFPHOXIj4ZBQF6HgGqn3xTUVUjglOtmUDIcx6kRI47RJUzjFCJ8aUY3aCqnQ9p7z9OJ7+tdbUC0iK2RHpJjKc8IiMj9VhxogMWOIlSQBogrYS0LETfzafpJ1t2AUa8lmFQR20AiwEsBrAY+m0x5DY69S2Gxcvlrl+80TsDoRggyI3M6XYEy+AdscrQ6KInUSWjgWrjL0SUdhYfeKjAVQXYDEwIn0ynkmaYLoUI2BiU+KPIubQaM+ORIiy9IBdz+NwZmveXEzzFbTIweLdHuLXXWp2qnO5uIdBFQRcFXbTfuqgklXXRdx/NNPgcmz8Ns1nwL1YlKTPp+qmRFl3WInKmIsGcE4GwEVG6gJgRFmFsor0UjVSp7jTSvbUlK4NnYIK7IbUgLA3C0nqEZghL6zeCISytx2FpC7tLV60LWVFEgPUF1hdYX/22vnKDrqrW17Ln68TlcsWPOOsM5VKEREklGOJJomNnpfWOCha4UZJciGTvMOtsf9Of46gZmPA+lUyQgwY5aJCD9tUxCMZ+f0ALxn6/D1PB2O+xsQ85aKBLdJiDJut5lQ4qwuBOAncSuJP67U7KwqHaZj+sqsE+h30O+7zf+7xa0M7hPX6vmD4zV4/Le+xigpFhPEjNpRHIY8Y1E0Y64aOT4kJUZCK6yjM9GIdSFT0D07EbUqvoyFMaURO95ypKI4VxFDPNBUHcaKzwpWC7M2TLvcTaXqu/meu78H5qxrM4md6kyZdvTBZscOP9wQG9XeKB+++JAPffY8J/9+4/woiVXBnJJRE2cO0x1045F33giOoL2Qfd8f+MoxevPkCO0GFClPCYTFvDnWOOG+u4xSRSa31SRDhhUTvAY208ksUyfLFYB4zIAilqx0NWU77BsQWOLXBs9duxhXHl46pGihjwAuAFwAv6zQtkpVYcD/0Rb8Nscv0p0fLp9OrT1ju9c3UX81MJNS4yJm3StiPiiCtJhXeKk6Aiupj81O56lov93SfqIWhgenorNCsZmUgiFoTQjGGyqOgoojeRKo+kxl5fCspxhzDfXxCksGRbV8Nt5dse4UqAH8oJJpxf9hLkjc8vVxUsK5e2ryMqwCwDswzMsn6bZap+7NH2rl/T5jGbZjr4tA8xjooYKqPlxEREkgZLESXeXIgMx7I7pbWCWKoEo4GJ89boBjbaE9ydzgo2GthoXx/wYKP1E+Rt2WinHaBXEBdgp4GdBnZav+00KRvaaW9DfMQmmkbeeOmJY15TLTmRwjFBJNbMOU4vRYR3eKxQNR68AKCByfE2SAZ2GdhljwHqYJeBXXbpIG/HLtO6BbNsV1CARQYWGVhk/bbIqjWKPkFk9swuK/aBG4rO2l3+PuisoLN+fcCDztpPkLd1llC5Y3Ht7QOqK6iuoLr2XHU98TChUm2QnqmvxfpTA6nRQ7tTX6FIz6Mo0hOc0tEGr5HllFFCKOM2mOCoMdbGS6kyj3l3wGcnr92XN4ZrvbVNviNtPmJgQUaighYeBU0DsVRpSZAzyF0I+Luz4fCy/EfWsMxoPEDG/ZAAUImnwwYJUImnYiWewVcr6xCTUK3seLWylTeqwRFqBU0YPFLgkQKPVM89Urotj9Rea6BnPilc8kkNxDQnCkzzxyHA2zfNl2If4zbF/p6pQPCD4AfB32/BzysK/tnkOvG26eRqGmazZ2b60rj5ZPq5d6K9GC1lQ+TGKIO9jtEybQU3MWqjOUGS60sxsml3zbLZIdl0EC8DE971CVTs7aBdxIRIKpQQgluCkLbSM8UT+zPxUipldOc5P9h6d7E87+afr0f/DH5jmYYH4PoUWvfKrKFfHtgNoEGCBgkaZL81SIFqaJB7+cVjUiEHIoEx6VCHBBl8DhkMjdE7QjA0Rq/ZK/kQakHbA20PtL2ea3tVQte3Wc4zMwsP9bmeKX2spPRxI4nQKiLmuBTUeqyD0URFhx0j8lKOBEV35W94BWrtx83AZO3phCr2Rg4yJ1EKb2iIyW5x6RVJmCZWCqsv5owba1ABzxRwm8TAq6wDzifTp1dJgbtKN3EkwlErHA3hgSGLiHaGB2oQRxrR4DSLF4K5rvoSDw9y+Mk376fmU5jO1pZHMU0cRZYYW5BSCOeTsculRJhabDUW9ELA1uFByd7E5+1Jln+GG6hzEo3W9nPVGNzjoh/MaDCjwYzutxmtqnRj3OFQxn0My3//v/D5/kX69lIN62+4bfFAhXDpETWBOZ2TXpJlQlWwwQereJToUiR1l5mwe5sMngymgQnxlqlXUlKNJNYmnmodxRErg3HAFAmmjEJW8Esp3tWdkrq/QvDBtctmxNB11jZIdh9QXrWL3Ym7CRRbUGxBse25YiuaKrYvQjR31/MHbKB3am2xYQI3iSqIKo8FxkoGQbVl2DKtBXOIXUplo+5OjCSurZcdRtLAhHyrtCv6+AdizHWn0oIxB8Zcn6APxlyP4d6mMYdUG8bcITECphyYcmDK9duUy2y+mSm3puqKqI/cpLNKcBO0lJ7wEJKWixDjSqAoDZaBXEoAS4cmna6tnR1H1MBE/lloCCYemHiPZgOAiQcm3nDg3up5nWjDxDsmTsDUA1MPTL1+m3qVupvXYzI9s+yKJR8HItgx6i4IDUT71xTtlZvi1hkdBDkIchDkPRfkVZriVtj076dmNH9cQjwE7pQNWkmP06ZDhAgZFRWJbkJ7cilCnHdXt5nv7ehaHT0Dk99NybWW3VV7g1YdGeQ2yG2Q2/2W21kwtSG3/3NqbtMwj7I6s8vd4JhD1kZLCOIoIIa8YJKHkGgXLkSAd1idWVRISK4Eo4FJ8tboVuxCZ2QgkhIsg3fEKkOji54klRUltmouRV/t7jSJ741yXq7T64kz1xsvf7X/neZavDE4dJ9Mp/vQQNaehrq9Y0BVBVUVVNWeq6pV6j1X3/n99DQVFdWBeJpEd4oqeJo69jQVSgNqiqhHyBlKsXbBUKKl554LjIi7mFqXHdbjEFV41nEOOTCMt0S1e521an3qmjOAxgoaK2is/dZYRaNiW3nf/xLmHye+d1pq8TxUc6IjR1wzmwR5FMYILkUM1EhNYryUdBUuu9NS64WabwJnYMK7AaXWp6CNawl9GRRkNMhokNH9ltEnRyCv5G9+/W4+mSbR8HO4TgP1TlgXXUoMRcUQjd4xHBEVjCjGuLA4WGUCExcirDHqqilTnXDawxAamNhug2RF35Lw0hKrtSEsMo01p8p5po0xzkpxKSf83R15sr161oMlepVExJvJ5HpwgK5Nnzbi5w/tDVBDQQ0FNbTfaqg6oebJfj71/HoyDl/kT9+00WK/M0swFpIr6q3kQkcZTFCYSOako9JdipzmtDtltEqZjmpAGpgIb5FyJdU08sC8RMoijqQk1DHCg4hWWsYJd5fSE5d2Z39VKsxxhJMNNxm0ZeoVe2UZKqywAQkTWPpXh4g8lVQrZ4O6GG7fYV2rlmX44LDfNv1K6A9SGuwMQS5IppUkiKFoPWJeSMwsoL/2KVkFYr2dTOYPtd+Bwfx0Qt0HtZxYwKeKugTeCvBWgLei396KUyq07t/7y16+S86VWEh//RblCq1URMocCtTKYDiTOOmygSaIeRmkIxciy0VXPYYrlhetC6mByfmz0BB8GU9Id5Ff4Mt4JL6MgVhzHSbVgjXXlTV3ajnWeqID7Dqw68Cu67ddd0p38Orys2cWXTGJYSiqbIcWHaiyfVJlm3VOrjoTCH0Q+iD0+y309Ql1NeocgvZM7PNiKbhhhCRIDTEJj0XwdxmToINkhnHhDQ2RBOPSK6KDIVYKq+Ol1OAgXRWY+cvQ0IqTGrF0AE2mT6+upuEq3cSRvm5a4WiSdcWQRUQ7wwM1yerSiAan2aWki3dlaA0PcvjJN++n5lOYznLmNZxQdeqmB6u+V1Y9HFDBAVXfQN7CAdWJNbSqq8XgpwI/Ffipeu6nOqFSR31h1Td3VTFfkglCLVEoGEpdECxdBysESZgLUZpLUWcx7i5h8kzkGprQPxcZwbiDVMrHsgc6tO40Tcg3jnlFqdU4SoxljD5tAqOcD/pCoN9hMtneXhWHjJbhYvxkOoGvAnwVPYRzc1/FiRWcat88uCzAZQEui367LNRpDat2hCXsdNjpsNP7vdOzO7CmczIJ+qt8Yr1fn+iZG1KW3JCcEs+JtF5zbKmKWHiW9HXnjXPM6ItJf+6whvDejVcHPwNT3JsTDAzSxEzAIu0bsJtYpBDo2dW50fCi7iDQ8wDmugqtHx7k6gR6ciOJ0Coi5rgU1HqcuJsmKjrsGLmYbpIdqqRVBNEzMwsgsU8mFJzwPemwqRqc8H29E76B5Nl1GIcPaXaNUH6GNLs/1kGLJ5wAlFwVcBwAxwFwHNDv4wB1WhQAbHfY7rDdH992z5GeNU//9m312U/Tyd1t787+iikIQlLhiQ2OGG+slgFFI6TxWhPqrbiUsz+MVHeWqTrN5b+Gz8BU96bkgnOSJ6QrN+LwnNZwTvKVPX3Dg1ydc5KBRDZAF6LewbRxqL3mrdnYS1UALG2wtMHS7relndlTo00PUfWw22G3f3ViVSz5Qar71ZZPkIjnRwtl5Pnk5mYy3n33pbmehfvL3rnail3GtEraOXbEBmZl4DwYoyIRXlHMokCX4mrrMASk1CDrIZ5WrwYcCtKUXiVLVGLhFHfBMySt8dZjxhALLiDFKPMX42rrDN1S1lqtKtxyYHg/AwWLQVERochC2ilSCuF8jIZLiTC12GosKOyAmjuAldZvNcmOVTA4jJ9Eo/tiBzXzm0/ZM2CngZ0Gdlq/7TSMagRAVGQCiWLvE3kzlc0oG0+P0mZTGDvEkOLMJiXWYqaRQZhQLoXC3pgLkem4uzwUVTrub4ytgUn/8xKzGFkBzgxwZlysMwNMOTDlHpcpR2qepjcUDmDVgVUHVl2/rbrMPNs16l5PXCKKfzXurzVXbA+ZSORwkNRSzrBW6cJwLzWR3ltO/aUkYePuYt1VKbv4dFANTPKfiYpF+w0jIzXCSuuYJJS1yCIVglXBcqkFHNfV1nD3Mri0GnF0dbcabetqcCg/gUJHbLSQkzuC1FwagTxmXDNhpBM+OikAwXU9EHvtj8L6pPnTTxMbemauBofmhtQC7wN4H3qF5xO9D4dR7I1xnFiVDBSMeQw0adneeC00dp74S2nn0+HJyV7Ld5vj/Pi7C7eLV6/Gn8z1yO9nQfdfGxzMz0PE+4CKmuHtp+r24H4D9xu433rufsNtu9/eT+8g9r3XygAcF/dV7p/1uJjKyD31lAoeieQ8d1MQzHtnotGGsgtBd4ex76KxQ3SHWQ4M7u0TEBwW4LDoFcSbRb7TcxhqW1sGbDSw0cBG67eNJlETG231qp9V/4rmWEAaR4SlSDShNgTpDUOacRKplNb7CxHYHYa189KyHoPOwCR3I1pBUHpnLWrAy9ArLwNYWWBlPSorK5d/aWZkbbJ+sKfAngJ7quf2lGrLnnr/+TaxqLub3tlVuGRXmcA09ggTzLnCUUtqQlCaUWysNORSav92F18u6MmmwhcEDUxkt0KztaMUoTZl+Hp8kOUgy0GW91uWa9HSzoeSrbDrYdd/dWJV1OBr5pG/mU7+OyksyyvY4LDBYYP3fIPXCEt9N7mburAIP59MF02vt97pnW1OSrY5okFRmvQQwR2hgUqKhY6JXFpQTfjFJH93eDpUCjI7ip2BWeXNiFWMPnU6UMc4NdwwI0iy2aPAKGqFceTmUpxOmHfndSrl42+v1dbVcI+JWqDY+tCoZmTeka0DKimopKCS9lwlrXFqtL3dX4ymiXNNpolD9FszLUbjDUQzBcW0l6IbFNNHk/QHeulX0UtLvX4ZCcHhICS1Ogk4FDAiTivmfZZ2F4Lw7kLyimfXVWX/0DDeBs1OPe+vNj5YYWCFgRXWcytMn2qFZYq9mudfTqZghvVdmIMZ1kspDmYYmGEXC+4zm2FJZyKJW/PAIyc2cEoNQwoRyhS1ll9KqcEOzTBWeb0Kwn9oIG+FaPeGGG5iiB2cACwxsMTAEuu3JabkqZbY2+DuprPRpwAHY49IroNF1kt5DhYZWGQXC+4zW2RIeK0ocSgZZRo75DhyxihrsVHSqUtBeHcWmSwRq7YSMDCwt0u8ewtNN7HQjk4ElhpYamCp9dtSkydbakv+lekG9lnfpTzYZ72U6mCfgX12seA+s32GsbaUBUI45lFFgpWzVjvrqA/Eazgxq43w6ibGQdE/NIi3QLJ10lgjU+zA6GCAgQEGBli/DTBds+FeFckJ+x72Pez7fu/701NGt642PSB987ywYqFRSaOOSEscfRDBSsYQoSEZqlJZry+l0j2n3Snw1bNoDkNoaBp8GzQrNnQIkhnGhTc0RBKMS6+IDoZYKayO6kJgjrsqqPuXoSEUJxVhHQf59OpqGq7STRzL6VQ4GsIDQxYR7QwP1CCONKLBaXYpzj8GkDsT5PCTb95PzacwnZk0GXiaOwQbeJq/kqe5jeThQyoC2ONgj4M93m97HKPKjrjru6vR8vXq5Wszm79ZSIubm9E8PdzDd4AFAAsAFtBvFpBbjh93yT3Y/XmfZ2qEZZTGl8veOeRwsfWPj0KhSLxJe06SpMYjrJ3MrflcdI6HC9HkaYceuf2KaR0EgSpfl2LFoBHujLbEuSgVZjp9iLlCHsfIpBIBXwjEuwsaYXuFy3qRFn+Ga5fWI04Jtz5hkwgSDQ0SJZmvGI0MYxcWvmWJLgS3nRXIHpxLj6eJ3n2+iZNxHu/mdjJO5Pjw46f074vR7DbrT3nCfP3uzs7cdGRD1Ug8yYwVnKqIA8WWG+QNYkp5TxDTzMsLAWd3THV/WPC9xv4s2yFumr4w23z9c7i+HaDG0IxYJVwLSYUnNjhivLFaBhSNkMZrTai34lJOqDvEtTpOrLeTyXzXRJotOi8OD9kNyVU8lqaBBWOQczg4Q7njzlJmpEwv0l8H2K5r6u0NJLhnQ+9/G119eLlC2Yefwjx96+4mDRH8cvS/Tq8HB/BWaFZCOecWU6ydV9waY62z0jtlBUtYF1yCudeqQ2OhPW5I3hDTh4u1SOOn72e34vAw3pxixVAPRqzkykguibCBa4+5dsq56ANH9FLyF3FnCM+gefHqw18m85dpcv/j7y7cLh53aMA9TIgix9XBcOeY48a6xH1JpNZ6rDAnLGoHeKyNR7JYhi/HMQNGZIEUJUw66oyRMeJk/ImEROW8tlgLj5nSFF2KHdcdJuWuyf3ajK/u0r38bMb+Ok305uPtzpz3S5WkXVzNPlwkt0/AovPYGMeJVUgTjHkMVHrvjddCY+eJv5RM2e7wr/b69Z9PxnF0dbca7ct6vRp/Mtcjv/VxuqE01jxMh7sHzkPEdTbt6bE8B08WIYIHIngggqffETwYsTY2fn758/zmenm5/By2P2x/2P793v4KNw3gyy/fzuabG79/UXwIoviSDtsPpzdE8XUfxTeQaKiuivZBMBQEQ/X3yBGCoSAY6iJxDcFQEAx1odiGYKgTdGYIhnpsKIdgKAiGuuiDTgiGgmCoXuERgqEgGKpnmIRgKAiGGjL+IRiq78FQGNG2giJ2jkYhJgJiIiAmoucxEbR6TMTSBF+xt1/HmSdeRrFxEgT3TCFFEVKEeGYi1tFjpyzGUV2MJdZVFebZE7HfH38CjgYm6tsjXNEVRpKe61TipZRTG2Wy+CSNwRpvBKPOXgjgIUTiTChlSWq8mU0fBEW8m09ub3NR6MUHFWMiBMNcKUGUMTYYQRDBInBKpLWCi4s5O8bdFZajejOCZTyfGjef7Y9gGRyDrUWbEmwH0qGkw8rm0KCkvrrQToOSlSOA13ME1FBHwBUArgBwBfTbFVCnvnG10/jH5AMYSPwLFRAA019pfuYAGLD6weoHqx+sfrD6T7b6qWZS8GgDNdxbRY1yMWISnWVJb7+YYPDurH5eTT9fv7G6HhyATyXTiRVPqigbYNODTQ82/cXa9L+OfwrzvN3fhtnSq7cgT89selqy6XNOrcPJpJeSUmmRTfsPuagZ5ZYbcSnRfD216Q8AaGCCuwWKgU0PNj3Y9P0BI9j0vYBuTZu+DTtoL4MGOwjsILCD+m0H1Q9z3tjzmc0teVL69vJLz5cP2ztziJfMIWG0sVIyFZggJCZ4YcQT3XiyipiQ8VLEc3e+S12jKENejiV4ZvfoGZjEbkyvYuqeioEKhxiihFvhmaci2f6eSCMTIzUXgm7eYUDe8Vj0ilxyYDhvj3Bg+oPpD6Z/f8AIpn8voNvacb6mzEvjmFeUWo2jxDixUS9JPtj34VIy/zo8zt/v7j5QiG+4zd9PplOzYP1Kagc4tMChBQ6tfju0BKvu0Pp1fP15xZx+D+4u/2IlGnvmvcIl7xVL+ysqY6PVFiEWqQ6M87TvkCUKiUuJvMO8M1nN9rpjjoJmYJL6RCqt5LQS9cT0oQFBJoNMBpncc5lco7/Q8s+Oxdo7gazL0XU2CMm8Fj4g5AhySSiHyLQQTlIqLkUgd1c1h+3tz1BGzNCk8QkkKjZkoZZohyKjhFiMleE+yQusKfHKaX4xaZ9dHYoOz4uuK3cLqopJx5hgVnGMpTEMYeadsemKIaZxCBdj6aCunOmDA2WNFlZfriue9EShiLIyqY/WpL8aW8YCk5w7530UF9PCinTnM1eVTzP2rtagwV2fXMUzdeekldRLH6OzTlMlsfRICuqQ1hfTnw3O1M+lDbD9Z+qnoVFjZKRGWGkdKabWIotUCFYFy6UW6kLQ2B2nZXvt5u1C2ltXg2OuJ1AIepxAj5PH1OME+kC1jUnoA9WkDxT0HGkZj9BzpAUsn7XniKrZcmSvYxeOROFIFI5E+30kKuUpG/3ePIYtDlsctni/tziXdaMeHm2fICEctlwRYxQyiHPEkUeUWKxskNRfiuXIu0tyYfupdRAtA1PC65Kn6EwOkhnGhTc0RBKMS6+IDoZYKayOl+JM7ixcZ3BnGzgx+lfz/PFk+vTqahqu0k0ccbVphaMhPDBkEdHO8EAT40Qa0eA0u5SKA12lVw0PcvjJN++n5lOYznJCahlsmDujLXEuSoWZTh9irpDHMTKpRLiUUK7uiv2xvTrwfktteKK5FnFWfi+pTzGHoY8OGMRgEPeAWNUMYl3Vuf2lvHaGhJumL8w2X/8crm/BzQ1bHrZ837e8QhV8YMe2ey5/9eP402g6Gd+Ex5adi6yKCUUJVyap2k5KE7FjWBpGGCH4UlxjpKvIydkTsXdZa4NoYGp5S1S7r7JBWpLlOzOAUAehDkL9koT6HsK9GE0TO5tMP29Qr29CvXjehXnkzIdgklR3NiAW078qMiepRoJfSlE31l3JjSPiqSqIQKifQrViziUPVAdisE5cIDiZ1FjiOVcCKYYdvRTncXdBmHJvZ/LSmq0/+/LWcL3LLVOvGH7MGRKCEJUwLxmPUlCONEcIEcNlvBgm392xyd7Sfvdrt36x9O4NDtk1qQOB8x2mx0HgfN8D509wSFTTjsAhAQ4JcEj02yGRfQKNHBI7hHtUvghnKTEBIZ2EvkTBpj2nXQIZ8YomO+1SiuLIDn0RTTfe0CR7c4KBB+JJd7Hl4IEAD0SfkA8eiH4gGzwQ4IG4aICf1QOhq2b0VteLwPcAvgfwPfTb95D7GDTyPTzUDl+ahQ+yd26IYg9dTg1J/3PUGUm11FxogbiiREersL4Uic86NNPK6lg9KA1M0rdKOzDRuqxECSZaNybaQGLYukMuhLD1NIQNnBHgjOgf8M/ljBj8SWGHHB8OCrs/KFyF+6gWvG0HdX5wvIHjDRxvPXe8qdYdbxvHsj1zvZFiBNAwAiQ6bAAMERIQIdEn6IP7rR/Iru1+WyqrmZ+fQVmFatCgroK6+tWJddZz4om7y2Ux3k/NeBYn05tc7XHJrPqrrNJiqWjvPFfeE0uJohhZ7HV0TGoUkA78UpxQGHWorVY87KyEpYFJ9FZpV9JUrUJIYZdLpEelUD6HYFEjohSNgShzIbjvTlM9snLLIdJHh98B1LdCuxLqg5QGO0OQC5JpJQliKFqPmBcSMxsA9TVRzysQ6+1kMn8o/wcG8dMJ1cIRQwVpATYb2Gxgs/XbZtO8KQcIfrnt/3Nqbm+hZDFsetj0fd/0GImWdz20KQAGAAygB8Sq6Kk9OZFv/cbqGjY7bHbY7D3f7LWOZeo5xh7TscxA3NMCgX/6ETjvOvNPR6q1N0oIGWzwLlDivHUsSSKlkwy6mO4c3fmnVa3ztB1LaXBAb0quYl9byrw0jnlFqdU4SoxljF4SapTzAbBdG9t7udKhI4Xhcu+T6XT6yUsdiQBmGZhlYJb13CyrldxRYfdvdYPvmWFWrKuiMUOOWqFp2pYKMUYtIpjRvDuN5peS3EG76958JD2hLpgGJtxbpl5RgQ2SGcaFNzREEoxLr4gOhlgprI7qQqCPZUfQ/8vQsIqTAvFqnj+eTJ9eXU3DVbqJMuaIVjgawgNDic9qZ3igBnGkEQ1Os3ghmOuqitXwIJdsn/dT8ymxuRz0BTHBndb3BZ/rI/C5gl8K/FKP0y9VP4+znjoMninwTIFnqt+eKYxoXSbwJomFTIk304kLs9lk+uGZmYUH78Luh90Pu7/fu1+xOn7phxv/p9H8453N78+2PuidT7oYLESCiMg6z4gRWAgWSfo3kcxSrpMxay9Eg8e6MxVe6OIOrAOkgSn1LVKuZLQqKhhiUWsRuBBGYZHLGKQ9kN7EzLFLgXxvyts/XLgH7wzXkm2VdkVfDUZGaoSV1jEpXdYii1QIVgXLpRaXcgTTna+G7ZXf21V/t64Gh+0TKHQfN1Q7c6u6eADrDKwzsM56bp3VSuaoJyV7Zp/hkn0Gyiooq/0R6C0rq6eGCNeZB4Q9CHsQ9v0W9hzVEfbrF/0T5EVJPhD7u8MO4GB/n8P+LmRYeqEYs1Q4mrvLKcupSsC1PEiKhL2UCu0UdwZhWu6Y9oXTDQy4lelSgquQVHhigyPGG6tlQNEIabzWhHorLgWuXzsh+HgdxtlP08nd7eBA3JRcJWwjZoOQzGvhA0KOIMciDZFpIZykVAC26yoTYi+xru+uRuPVnx8/pZ+8GM1us9I7QKZ8ColKGKaaScGjDdRwb1UOGY4Rk+gsS4aouZTy8R3y52oG505pq8Hh+FQyFTswa2QC4k4r5w3jSTl2EnmPtNSROwT8uJ1A+PtFev/b6OrDL2Y0zi9+HH8aTSfjXFVjeGA+lU5FzowYMkhJj5gQigsuFRXIW25pDEogQHO7nPk+62aV4LhqXTo8MJ9IpqIVGDlTkWDOiUDYiChdQMwIizA20XrAcl0sy71OJZMUvg/vPppp8M8nN7fTMJsF/2JV7Cg7thffGB6km1GrhGyug+HOMceNddwmzZla67HCnLCo3aUk33XnjSOJWC9ebRzIDLejfYkUxZx7RqzkykguibCBa4+5dsq56ANHFDBZG5NosRB/mcxfpsn9gBF5kBDFprLGOE6sQprgnJNPpffeeC00dp54DnisiUe1V0XbPlK6X5sPr8afzPXIb32cbiiNlVS44WL5PERcxdNIUjecZv0CQmUgVAZCZXoeKlMrLna3i3XPAmZYKV5mIP3guerujAsawpeOt+o2hIfTWTid7RF8Wz6dHUi4IqQL9gjC7YYrDsT27w7BYPv33vavnUqzrdaABwA8AOAB6LcHQPBTPAAPzsx75grAxSpFAwlI4V2VD4eIlKrH92eISIG4V4h77SGWT4p7hRwbyLG51Bwbr2TS9anEghrKiIoxKWeIB+8jcS5eSkn/7rB9pL7fkQ6JQ+7U0yLlwOcLPt8eIbtln6+LKORGU0FqLk0yETHjmgkjnfDRSTh5q62P7I9fPrw+997JZ+ZqcGhuSC3IY/j6yIY8hjrIbiOPYSCBPh1qHRDn002cD6eGpP856oykOqkcQgvEFSU6WoU1nDDXRe6R+oJ7ToHWn315a6iu6lZpV0S9kYFISrAM3hGrDI0uehIVRYxqA5pIbU1k78otZevriTPXGy9/tf+d5hqoDnIqnYqNO0PkxiiDvY7RMm0FNzFqozlBkutLyVjrUPtgB2yg2eQ6TTadXGUt8ZkZ7JlifQKV8CtVIEJzqaNghAq/cNYhL5FmmFEEXuq6+MVpll8m48n15CqxkqurAarI+0gAkZadddqGSMtWUHzWSEslT4203IkVgZBLCLmEkMt+h1zq2n1iF3W3lg/z4an3+RbSw00nN69DnMOWhy0PW77fW17WirLe3O7P72bzyc3y4pE2HcLKGqQ0ss4Qr4SLAiUcEaa5o4Hii/GJiO5Cn8obrwJ+Bqa8NyfYSlHXtRX1o2OD/Ab5DfK75/JbtiG/tyIneybBi8VTZJLdVmKmdbCcOBRdIMISazB2NJpL8QqL7oqniL3UqoegocnwFkhWDFcOMsd6Cm9oiCQYl14RHQyxUlgdLyVcGeuOQP6XoQEUJyGxdsc+vbqahqt0E0cKnGqFoyE8MGQR0c7wQA3iSCManGbxQjDHAXJnghx+8s37qfmU2JxJkx3pKjEMOxzM8N7CtT0zXLdlhm+oB2CIgyEOhni/DXElmmz8l6Pf382n70b/BKcb7HXY633f67zJXn+T7K9f8o3AVoetDlu931u9WUhM2uq3ZhreTe6mLmTqwJaHLQ9bvt9bvpl0/4+7SaJCmBvY6rDVYav3e6vr2j2ENrf623Az+ZTFeng2Nf9Iv4MdDzsednyvd7yqXTl8c8e/m0/ff74N7yd/nV7DbofdDru937td4ya7/X2i4vvJ84kPz64nDmx32PCw4Xu+4VWj4/flhv85YWQ0voLtDtsdtnu/tztGJwr4VQzSOuBmdQmZL7D3Ye9/dWJVFPW4fubL/m3/aLNfkKdCBq00c1qoSCTxiWxUBcksRUReSNys6q4gjdjbXbQ+ioYWPtsS2SALJq1nR2AfXkoCZMF85cSE4UGuThaM4pzJgJwTNEGNYxIQ11oxIjCWgVxMLmt3wnxvAcp6luDwRHkrRFtlw2B0YvjcUV0BLHSw0MFC77eFfmou3Hrzv5ia316semwsuNUvYXwHGx82Pmz8fm98jE6Mq9u389dN/iB8HjY/bP7+b/5TM2bWez/T7acwf758RgiqhS0PW77nW77xMXz6PDskwhtzFZ5ltLhp+insfdj7sPcvf+/Pt4z8zAMgvB72Puz9R7D3UWt7f23mw9aHrQ9bv/dbX59Y7mq98/Mh55vru6tRPtRbPCfsetj1sOv7vesxOrE2xnrbv5mOxvPdeNqns9ejGex/2P+w/3u+/wWqHXP/ixmNf/w9PdKsj+H1shRezzWKyiomMJOOEJaoIhFnXEkRUQLThQTkqe4i8tjeZS0CZmDhdydQqNix2BOjrEU8KmSk8to6FZSRUmMSpL+UmFIMEcxnwmOWDQvQ3QPuw1M7m0+Nm1eEIBZMeUmJwiJYxziPwlkbhcCSO/P/t3duy20kSZp+l32A6jgfaq8klVQts1JJK6qmb3QTRwnTJEADQHVpzebdJxIAKRIEUwkgkUxk/mM2XQBPEBweX7j/7uHhhnJptqJwwRO5IH/kgnePHrQcP+2D3AqtZPaJOxm94c6EnCnLwYsSSrswEB9knW3kslnIfPuFzfPR7eaHmqn2HBwtO7kl1FibSyJYNndPTEreJC+1VYM5B/fMQWn5LPLky83mrz14Njo3PsBCtUGpc0Eyb0qeSanMieuSk7tolaUhsjiUiEB05sFmJ2Yefj6v/w7pevXo7fSbu5zEB98u/6Dyt8peevdjo3Py0xix/torQzT1NnhmqaPKi2RMUJaRqLQQQ7n2qsOoZJtTf7jpl5vyb/mnm8bL8kJbz8d8ZP8oW22O95nD2vwf6BeQ/SH7Q/bvueyvDpL9qwevp98m89m06vDpnfhfO1uHWuISkcGaEJ2QWZigSYzEaptlIGoom3N3N0tL2kzafuQ2Y9uZD7UTVAOoBj3y45ZVg5FUY5/bg1GMPV0xdhy6V1eFMOhevda9/ueI6zZ2hDfQCaATQCfouU7QQA9c/6ei0WyONY01jTXd8zXdYIjX/TX9xoXyv9+xtLG0sbT7vbRtg9O7P6kK4sYMrHes92c3VrP1rn9yemefDoCzKuWNo89GdndNBhptOmu0Gf2FGLSrCvXoDlbgQoznbt0dn8vtcyEGIVZJboilzLkQCHMspLJ9l12ce+eGsm93d/xW8v22ovHegnGEpTaVL9tAC28eCSC9RnqN9Lrn6TXbL73+8PV6i1wv3WIDqN4l2JTVZdgqeKJ5IjlYIqkWmioWKHGES8eS9gPZqbnu6nK+Ymr9kx2o3n3Gtl8fZ626KNRp5n2hpA+cZmocpYlyooRxhngl40B8m8nOXFs1sZYLX9P6f6tEYf3V8cajbZiszslDJiSLVH5Oa6VCzNlJrUnJs6i3VPGBOHmH/BbbRNrxImP36oNsVOfGKclgfLJGR1qCf8KY0tlwVeI3ZSMbCqt5h2GIORA8n+ZuMsKzO0eaC+3jv+rOfBvt4z1uH6+JVXhwTudMXQzKUGlCtJ5aFakwlhM2kHXQXTVXq72Tpx+f6MeUN68+3jXQvgFryyJUeR4lkZQEnqqCnDWCcl72ACa9GMpMx+4Owj3atH/+8d3T40bn7ceaq3ZQn7fGuqw516Z6HJyI2gcqRKa5/Cx8e1/ftnt/WO/S8ussjtW5j7VXrXeXqL14t4oui8w4y8Fl7nTSQjAb8mBmSnSnJG6PSvj5p/VhXhU2lt9H6t8tWKzWw4MlMYQSnDAuhDCBWy2JJjoJZZxDbNKBh5fkarF0t9dswMP3t1idh2cZMoteUZlKysmdYjFlHaTgOsUSr8DD941QGn1eX683Ty/Scln+9mJ0fn2wnWp7iHOOJSIhJRAJKjvidXTOBkqKPxPGhtJD3CGvj0qORtwm357hbhvwxP4NeHVdAmjBQwseWvD63YJn+bEteFvFufID629sjrX3ry9P1vXlcWmVYMrTqF2MSlJviSdaKZ218m4ofXmUdVc01AfsUz/zqZFt9acwYW3B0JRUTQTiffaMEUkSESQqoWVKhSYQlfcOchv07ezscvjX3F2XvzlWx2/NbrX9qopno5VIwcqS3AnNeAnEDGGOJGX4UHqguvN2LfbG1Y+a7u3D2XzzGY7O6ds2H6YcP/uMWEw5Pt2UY6cT05xRnWJg3jieQ44sG05KluhA76Pl5fXns9pl/5gFd3nv4Xv/3+W1Vl8YnR8fbKc6b9aZ5CSSzqwKwSNJlifmubGakeAI7l3c15tpMdZvb1eSj5tMRxhNPDYAyhu/dneHB8obPShvjL41tLPrvtEb2qPeUGmTkyGIIJ0P0lOWS4IXqaGSiWzDUMbBdAdztt5LfxSKxtvBX2eK2nlYgnktjdNSM+WTtJFKG0woOVuShMMn9/ZJsvog/pwt35QXjyP2yCcNgTOCHSZcOCN4lmcE0YeMPuTnzvhO24esTaRRKZVo5oRo66miOpLguC+wH8wp2A49fP9DnL99n7qrSRj1gam2zIZTgTgV2Fsnx6nAc/JunAp8llOBq677knW20Xb/k34/9OKjFx+9+D3vxW8HBD+qA1j0WPRY9P1e9JS0vep/hDdY/1j/WP/9Xv+2wX3v++qgWPdY91j3/V73lJxg4WPrBwKAgOc3VlME8DYQsKM4hNWP1Y/V3/PVT1tZ/bVjkcEBcAAc6DcHrGoDA9j9seqx6vtgrKaxf+vLHsk/AAAAPL+xmgHAHD147/7av3fbW8/G7Ym6aXsjuUTR2v+LSxT707vX+iWK3nDhlE6aWUqTs1GnHKJSzPDAgh7MGTLe3dDIA07/P8HDkTl3e4bD2ATcqNVXLz/l1IQSizgaHCMlKhHWaEYEyT4SEZWmwuPszN6+3cBYH2ezRzXs8Xn1wYa6PUvQTjPhzg0BogJEBYgK/RYV2mkmfHhQCese6x7rvt/rvqVmwocLH/UEIAAIeH5jNawn2GPrCbUz5HtWVShfqSkrjORChw7LCrjR4ajEvssbHUJhRfSCKCqL88eYnWOKemsyC8bGPBDnpx35/p9j81VRfOPjzH1Ln1+m5Wqje+yIPx7hdhHcLtIv9233dhFcXt12MQCXVzerBZzi8moifFJaxOLKiZDASBCZpyysUkFzjsFZe/N4e5bf+kUub75Mppv/vP5WfuW3yeK6yvNGGPseYqL61gMSKDPaKEGki5YGr30MvKR70hmNMZ57E3n3rOHVPLGL2c08pOoKoxLrrb70dpmuPsxml6Pz40PNVDvIMDOVVM4uM5FJSNH5RGNmOZQMzsmhNI5x5Gqn8cnyOpOSolUD/3ATSHG07m65wU0gR98EMpKbF7rzSdy8cJY3L4zkRpwO2YwbcX5+I85m9jBto2+gplaB1gG0DqB1oN+tA7T6Fx7YO7B+R8WYcbKW1qvOgNuhZNvffLv4MJ98K+a6+1LvGgt4XV+BN57FwCJLXhCZtXc8Zyp0DITGEr4OZKemXdVWNyOwOvO1kW3/3Rq3tg5sGBE0MJ+E10nK5JzJTEXDqchqMFcvdXc88tH1Kvdf5NFHeftovKcij7ZXbcfNOE6xd1hVwyH2Ux1iX6d9ghyV9h25VyAnRE6InLDnOSEj3eWEs2KiZYrnmhVWZhQqyhgEccLJkhLK4Fl23oachxLcdpoVbn+up/W2kYUOXZsXmSEyw94uBmSGyAyH5dHHZYas28xwe7dAbojcELlhz3NDqjvLDW/85SScaWIomVM26WwVlcFJFROVxfecVyb7YIYS23aaGG6b64SuNrKwoVPbIiVEStjblYCUECnhsDz6qJSQ205TwodbBfJB5IPIB/ueDx4+e2ovOvzXZDHxk8tVtneWGSEPZSk4zYw33kmumZW0GJYTxqRIEQ2kB2SEe4xWOt7ZRhY3dGxdZIXICnu7FpAVIisclkcfVyg87uTgsZsF8kLkhcgLR5YXNuDCu1mc5EkfJxbXtpBWY9jKokxGMcccTSUbZJbFEuXysvsP5coh2t0MgOMzl72cbWSRQ8fWPWXMscc/BDEHYg7EHH2POWhrMcf6GrShDTHgyhFjyvo0jhpODDOZKGpVCiwaaYcybqhDDdpuTzg9iY+NLMToxqhQnKE493YJQHGG4jwsjz6uD4m3mv013SSQ9SHrQ9bX96yPd5D1nfeYAkGiEZZkbpkSWnOnbHBaipCldjkPRmPuMO8zp0hRRj+eoCuzIvdD7tfbRYDcD7nfsDz6uNxPdpT7YR4Bsj9kf+eW/bU3q+5JMpzzIAIRSGaOaxWjUY6JwEJgRumy1ftM5FCu4e0y9TtiglpjFxtZgNCJTZH0Ienr7QpA0oekb1gefVzS1+4suoZ7BDI+ZHzI+Hqe8VV3jp4043s/vfz+Zj67enUznxcz3B5PO8fsD2EtwtrhhrWKGalyJFE4yiizLEcXMudCM2sNHUo7c3dhLSXbMdupYTqy5dC9gZEWIi3s1RI4bvKA6CAtrF1RSBGRIiJF7HmKSE+dIp79NDrjLXOMGWOEDYY5S7PzQgSdZQo8DSV07rIs2Hpkhyl0nVkVpUFoKL1dAygNIgcclkcfVxrsIgfE2Dlkfsj8zjDza+8w4Id59YeW34c2BIapRKKhzjHBlONUx6Q5zV4bTYhG6ndA6nfEqbV9vGxkUUJXZkXyh+Svt4sAyR+Sv2F5dJ8OAzbfJpD9IftD9tf37E92kv2d9zCYoJyzOWlqLTEuRplsEjlkKXhZqVIPZNPv9CKq7SV6MkcbWazQoWWRBSIL7O06QBaILHBYHn1cFqg7ywIxFAZ5IPLAc8sD2+v/rGHDOY+FsSwrZZhgyQcRjUnJ6WSY9EoxHdxQItoz6f/cw8lGFiZ0ZFUkf0j+ersGkPwh+RuWR/ep/7PxLoHMD5kfMr+eZ35V8nXizA/jYc5t80do29dA4KShrbck6hA1s16EqEgoPh6yEjaHzEnOA/Hu7kLbAt72s3EMiHlY8O7exEgPkR72ahEcNyJGdZIeYkgMUkWkiuecKtLTp4pnPyYmJ6KyLEbL2tjATYmgGaGKBquNCU4NZPvvskx4gvgOg2I6tCtKhdBTersKUCpELjgsjz6uVNhNLohhMcgAkQGeXQao9MEJ4Po//0yX5dd7l9GZuoyO0lhiUeKYizaq5LjJMmgqy/6dhDZyIJs4taS7IHXbXI0dZ2R7+eGGqk26KHHaEmqszWUv8Z54YlLyJnmprRrKDZcdhqU7OVU2jjz5crP5aw+ejc6RD7BQnQc7xbPRSqRgZY5WaMZLNGQIcyQpwyM8eE8P1qI5aDav+THlzWvePpzN/zV312PkdNvmq/N96XRimjOqUwzMG8dzyJFlw0kJdB18f+9ohO5kkwtf0+c/ZsFd3nv43v93ea3VF0bn5Afbqc6btUlM2RJ2ZCXWEC9BCImaWEEFJw7evKc3V0W6d7PprCRn5aP48mWENN5lgjofJFR5HiWRlASerKHZGkE5jywy6cVQfNB0R9Q95lDevuYPDWB0/nqsuWpLEDw4p3OmLgZlqDQhWk+tilQYywdTYBPdRcpq7w/r9d8hXd+P9MrDu6+NztvbN2Cd/0fngixRMrGMUpkT1zFGF62yNBS+D0W9k535v9mplj/M5H98Xm+n39zlJD74dvkHlb+1TPPxroHTGHFTxDP2qBrefR0RRTkU5VCU63dRzhxelLuY3cxDqhL25Wz++cXi+zQ8+FLvCnW1rZfSJ+WIUzm4zEKwhOnsffmSlpwpMZhum+7qdHqP8tPPfWlke3y7xqu91T3ZEs0GQVlOkVUVPR6F8oGQbI3xQ3H87pooHxmr8Uf36maxnF09+Np4O9FOZUZUR1Ad6Z2zH1EdWbdekuPStp9tIUjlkMohlet3KmfbSuXq98+eJXW0LqkbSWxLOYLb89rvTxfcrsMB2mY4UPeSCAwQGCAwGElgcGujdWIS+632ytpLeUUQzPvojEiZWsmlEjJmY4J1KvKhzKri5xAY1HsVAoNWzFinepmKGImpEJQnntOyKyliUgjRWy/IULocaFdtDn+OzWllQfrHmfuWPr9My9UGeNed/tBHP32/Tp/38EycNcJZo/M+a1TiskCZ0UYVkLpoafDax8CVSNIZPZQOyg4rCrubn1by+AOyrL70tgTwH2azy9G58aFmQjfkr90Np0I3ZN+7IdsV0upCdAhpENIgpPVbSKPk8IvuniDBxfdFMc0ZNE+K2rmVNobEhI08S8WtjI5YTaggqoS/jNGBRAa8u4NCZo+L2PZ2rbFFCKe0ZV3AnJKWIZPss9amCpG1KozRJVT2lKtsB7IsWFfLYnTCmuL7CGsv/GI5d2EJ6fcRuLvSJ0bnoSeTftGKi1bc82zFZcddmLhnBALdALoBdIN+6wbViI69ZYOv15unvZMCKKvTAoLl3gWXSZKRcGWUyoSUNcgtdyxoMpCNW3VXJhC8Sf56z19GtmPvbZ/agi2xSnJDLGXOhUBYcdpElWeWFr92Q8nZO2uGKZb+2cez9Xy8XeFHWKq2iybnaAuQC5SDKsGQ17E4cqBECk4YQxfNvh6tjhq5dX/THpmDt2e4On/PMmQWvaIyWRW5UyymrEPxdp2iCUOZyPeM0kH9BnuRlsvytxejc++D7VTnzdwKrWT2iTsZveHOhJwpy8GLks+6MBBv7q60trs16lHeevuFzfPxOfOBZqqd10t88JoKa5OXLJAcEiuhtXeUBp4dyLx3JLLTWHcf0qf/TL5srlXanOJbP1mMOQZpwWS1hQubnAxBBOl8kL6QmnsfqaGSiWzDUBLI7k4WsWKs397e0xHH2+tYZwp07nbok+jc7XHnbt2xT+a1NE5LXeKOJG2k0gYTQo5JEg42781msgLSn7Plm/Licby+/LQhasXmyJVO1lgRrDKZaRapD9wkLTwnTA/EHzuMh7fHg+8K7jb+cxvebZ6OOiZuyWy1zZBaOxocI6F4tzWaEUGyj0REVTJCn+Dr++oYDYz1cTZbjl51PtxQuBujw9NwuBvjSD8/xd0Y6zsByIEdbXdSN7rU0KWGLrV+d6lVQeDhXWo/ill961YjtSfXxlErpsKiWtyz7fok1eKQCxGdkElbqZ0iJRqVViing4o5aDUQf+4wy9o+PPizeTB3muRL92V8Pn2ctXAgCAeC+ufTp7i5eCQVue6iDlTkzrIiZw0jghaeJ+F1kjI5ZzJT0XAqshqMitbh7cm2xljrxLN8YHFyuxWvH4245/5Ye6EXqMO7tdALdHQv0Eh6IDr0SfRAHNMDgZ5g9AQ/t+eeuicYfT7o8+mFn3fQ52OpIIF7ZXmU2RAhuCeMCl6VNp2VQ5kF2J2v6+1TwQ8/tPWfKN96+itjdvmWrXfbEWGO7Yi4LeegMwKdEeiM6HdnBCX0gNaIy5svk7VRNw9fukUq37lY3nhffujh0/XP9K57gtc1T0SVKFMsO540KR5nBM+ipG2rCrQazKifrooY4xseWV7o4vtVnk2rv3d1PZsWc3x+/a3872+TxXW1eKsXrJ5f3PhFmE9846EngSpGPDNl7wguBKWMyTzQIKN2LsWh+Cbt8LaKRu2lh1FvZI5/SlPW6hDCirIGotGac+2JL6EUCdkKLr10aihV5w51iJ29AZuPawWuHwHV++nv65j/Y1qsJ3huIqVRuX4LFrsbtMoPTMIOWVjI05CnIU/re552yP0sP6PBKjItFOx3olZ7PwsSNSRqfU3UijMSRlnS0gspAk8y84JFxkqY6hIZTL2AdJeoNbrv5kDsjczzT2rL2iGWwsUQmXbRGul5TEYnm6yi3nEf41DG/nWXqjW7Wf1+HrJ55ffTV19T+Pfbxf093k1fpuozG9+COJEZIVtAtuix27cpWxx6P8xBuwx0C+gW0C36rlvoE+gW5WH59Zur8rZnEC96v/tDvDhD8cLTFLlIUeWYqMyRB5Jt5Ewl7bRzEC/2Dk3tHvnFYewbmfuf3qCQMSBjnNuqgIwxgLUAGeM5ZQx7Ihnj6a0GWga0DGgZfdcyTtErXx7+NZ0soWL0ffOHinGGKgbxxgdiqc88EG59Wd2G6EQkMZmW/x+Ib3bZgtFKg/du6o3M8U9pSigXUC7Obj1AuTj/tQDlYojnRnZtMtAsoFlAs+i7ZiFOoVks5qudNi0gW/R954dscYayRS7hKAteyehJNlZlT7l0mXNKdfHOofhml7LF9jDcdsE3Mt8/sTUhXkC8OLslAfHi/NcCxIvnFC/UqcSL3fsM9AvoF9Aveq5fPEzqW9IvNmnbXdYGFaPvIQBUjDNUMTQViuggjGSOcVHB0CufLZE5URL9QHyzyyMk28g5Bf5GtgI6sSkUDSga57YwoGgMYC1A0XhGRaPKc06iaNTuNtA1oGtA1+i3rmHNCWSN6pIjSBl93/shZZyhlEEcs5IV/jGTtaGWei9kTpHGkGQWg8nROmzI2L69qi3kjczrT2ZHSBaQLM5uMUCyOP+1AMniOZswyIkki0c7DGQKyBSQKXouUxw+vXOf7fWcVIqRhL4Cse+ZBQHPEfsy5lwIplCXS+6z1jlrnpN30SnBw1A6PCDZnchnBf/1/3xYzB+JdBfL2fW1Ky+/+kZDjU4JKo1RzDjnk1OMMKqS5Ex7r6RSbCDOSHlnZOb2vqI6Xc5dWC52K6qjw+1etqnVD6gqYYQkkpLAkzU0WyMo55FFJr1wA3Fb0ZnXVnWAn2+ED1/zx843Okc+1ly3ygE9bmpm85AEwgGEAwgH/RYOjpmVuSbBhjgvcnl31aovSHtCGDgn9cBx40021IgkVGJBs0BM9ta4nAVxZiCbPTXdqQd7DNHb17NGFgmc0pRQEaAiQEXojzNCReiF67amItico3WZBJeDKuG/19E5GyiRghPGhhJYdKciqKPS4hFHEe0ZrqWplvuFKlAXoC5AXei3ulDxtA1x4f30RYz3KPBp1mNdQdXpCtozVpmNZ6585MwYarQPgrgsg0hDOTvBusqhyn653VPXjlONLBg4kRXrImFRtqJsnM/eekJE5jYJKcsWRTwzRA2lQUd3thLE9rDH+92l76eX3zd/6u8UbqpfH2cmd6CVoItBF4Mu1h9nhC7WC9dFd01fdTF013TcXQPNF5pv3728fc230qDa0nzrcknIvZB7Iff2XO49YFjOnR3XS7785NNf+We6LH/9vARfJlhOISSZmAsieJNz2fSl4VlHqwkdyN4vZXeCb5NBGoe41chigZPZsVad0FxF5lNgLjpvdSLZqeqMpmU8+sGoE90dynyUt+x4kY+z2XIbkIvf57Ob69E5/bHmqk3zeBLJORICTcFxGWTwXLgSZshQ/juUgkaHA0a2CfUw8qomVXx+s/Gyz7+nZfmpm6vyJ1Jc//W/5pejc/BWbFbn5UlrR4NjJCQtrNGMCJJ9JCIqTYVP8PJ9Cd7AWLuQNDrXPtxQdf4ceHBO50xdDMpQaUK0nloVqTCWE0Qk+/qzbnQ64cFrvv47pOvVy3xMefPqd18bnZ+3b8A6/4/OBcm8KWk9pTInrmOMJSBXlobIIsai7Z2f7tSLXs2mefLlZvPXfnxeb6ff3OUkPvh2+QeVv7VM8/GugdMY8djhaftnw5CtIVtDtu63bL2aiNCibv1ho0l/mr2Ld09uv1slYK+n3ybz2bRKu3onZrNaMZsHqqwt61SakvLFQExghKqQOJWS2KHECt11L1MijlNh93O2kUURHVu3LsyWlmTjjVBU6MCYKDDSRApptMqkMHwoS6ezlSN2AvGh0PXOTUoaVHaexRhj6AMsdBsgC9p6gLzPUkLUjKgZUXPfo+YDJgfty4fqyb0f6l20LGvvSdJSxuy8yJxYwghnOmlV4uey31tXLdJBbPmyu05820QZPdrHRhYmdGPUutjYG0IMDcw5k40hlQotclkxxvCcmBlK7z/vLq3UOy+a2Ee+vHfaaGTroVXb1R4bHImaAjFlEOuiR2JKLgFUdEYpnXyKZb2wEH0QJQ0ytiRAWDntdBE+Tnu2moX+NXfXY2ydPdZc9V2EImoXRDSce0uzplTnHDXjzoSY4Nt7+/buS7eeaBsab9xzsJ3ublE/cPzXkbkFxEKIhRAL+y0WVmdNDtYKH/Ys/zZ3/1lh4J277p0eaOv0QFki1sxJNNoSo400grFiLK0jD4TKwRwD7+5u6kbHmRv50cj2+vYMVxfKGimFTiQExZkNkrJEpLXF7VWJaRMbiq5HOxx8sJ2C153ueHWzWM6ubp+ON7Btx2g4+YWTX/1281Of/MLZXZzd7Z/q1tLZXYxowoimXnh5myOaaseSeC2N01Iz5ZO0kUobTAg5Jkk4VOZ9/b3ynd/efv5ztnxTXjyO9+TW04bAKVycwj0fP+72FK60yckQRJDOB+kpy9z7SMtKYCLbAB7vzWO2wtAPsX28nlxnCpwMx8nw8/Lm054MJ/LIGvbTWjnq1KhTo07d7zp1tQ+0VKf+PS3XKz8tv87i4uUsluQ8pt6VrHVdydq7XBKwJAQt/1etQ80tNz7R7HJSWQ0lBOgwL9u+fqYNlxpZCHASG6KQjUJ2z/3+9IVslPhQ4htqiW8kEjOFxHwu3g6J+az9HxLz0RLzSMrQHfokytDHlKFHUvLozh9R8uh9yeNW1m2p5PGEwILqB6ofqH70u/qhfzIH99PmTZbH1Q/NivG+uuXv18vP7yaLRSFa+bmXl7Pw78XdT/Su3FF7Qo/aEoxmnXIgvLiXyV4qxTnRSSSZ6VB03g4va3skWR7kQyPb79sxWl2cKwLjoeT+wQuVSHCaO56pYNbooLPiA3H0btvNPpW/UCKvUAFp+mLy+dXlJI1wTlCdKep8ktJIRSaOlXwrquS4yTJoKqniSWgzlNyrw9rDtrFq5MX1f0Z6E+bhhsIgnw6PFGGQT0N3PnyQz+irZzigcTZujurZWfs/qmeonvXOJ1E9Q/WsR/6I6lmPq2c1XI5Gh+iEzVLlaANl0XOjpBWCa6+GIiN3V0Xm9ClJabxu3cgmd8faGtzndIDIjKIuiroo6va8qPuTI21PL/uPK8+4/X55d5c9vIHJ1NVzbfRWUalpsqRsvNEw6VK1B5uyMecwlDIX7+4GJrl99Gpf9xnZLn20vVDFRRX3nKq4SWtHg2MkJC2KIzIiSPaRiKg0FT7BJ/clbgNj7ToSNTqPPdxQyOWRy59DLj/66hTOdp1RdWok1QCcpTkrb36GasA4qrQ443gmVdqRdHJhDsLZ+PEpOrlWdS/b4GjjfoIcKl6oeKHi1e+Kl6GHVrxuv7O4WM5vwvJm/uNnelf4UnWFr+JFLGlBQzLeZS+I9lkaJrOQTiUzFBW2w8KX2t6jDvSikW3tbZkNZTCUwVAGG7FPogyGMtiQRAOUwU5QBoO0BWmrXy7d7SFFlNxQcuvfGjjxjT38GI23JumE1AupF1Jvv6VeyhpUeNZYu7z5Mlk/3jz8wy2WH1bbytXVZFne3OOvbBAgfrle/crF90Wx2iOnAhQAhbOHgtzpWk3c/1nNx6nRJdeT2QYhirs5a5MglQWZt17nW0ywgzFRAaEyUhWrV3H78upy/XT9fSACiAAihoCIBkekmyHi42IJQoAQIMTACCEaEGKnvPcIGC/dIpXvXCxvvC8/9PApqAFqgBrDoUaD1OMgaryaXV3PFmkObAAbwMbgsKFPhI3ysPz6zVV56zOwA+wAO4bHjlMlKuXhX9PJEtQANUCNwVFDnIoai/nqtEzVZAFwABwAx7DAIcmJwHHx/SrPpt9XQse0vH/gA/gAPoaGD25OhI/qXmIgA8gAMoaGDNag5/t+r8brb+W93Ha2v59W7fAXs5t5SH/MQtXqfe+8PRgBRoARA2DE7bvejxF3xn2Zcvnm6sDM+uqLyrSAA+AAOAAO76e/p2XFhY9psY4jitUAB8ABcBgAHA7LLu7Bocov1mdjy0+vf+jV+h2DEWAEGDEARvDj2rPWyNicsX8/ffU1hX+/XdyfKeimL1PFERADxAAxBkCMI5uyHkiYL3J5hxUdSgqycxApqAFqgBoDoAZvIFQ0pcb76YsY7+Hi0wzAADAAjEEBo/FAnDt7Vm0Sn99sBod9/m3u/nN7PmQ1e+tdmt5s6MB/mW9+6R+VQV7dLJazq9vfXNzHhAAmgInzxoQwT9rr3jrolemI9oy4ZDUhwuTACGFRS5WZdiGYahB6MR0/vekUbWK6WoQ8qx21k4QKzjxxXAqXhM2REq+58yEIlm5Ra9tDbdoIxvcKSaAtaAvagrag7bpkL5tW5Z4Ydb+yW3Yhga/gK/gKvoKvD6LZBqe46qLZyqa/p+Wm0WEByAKygCwgC8g+gGyDs251kN1cTpCqMaMvK0cK8/KrgC1gC9gCtoBty7BdPqiEVdD9a34J2AK2gC1gC9g+gG2DhuiGsL2thYG1YC1YC9aCtdulsManV3966zMAC8ACsAAsAPsgmG16AviJYLY6mrPuwF88PPgLzoKz4Cw4C86uTzex4zj7YT6ZPgppXyz+mCwAXAAXwAVwAdy9gbvrOGnNCYbVgdJ37hrABXABXAAXwG0DuA+V27oZHwAugAvgArgA7nrMUgPpdo8ItzrRsApw0/LrLC5ezmIhcMQRMrAX7AV7wd6HfQkHNtyu3s3nFzFW/4by7uazqz9SrpdwV78DxAKxQCwQW71RuyditwHyrFaUkVPlqLc8CVfg6imRRmifSCKxPLoFbIMZok8D9s3k74vl/GLy/+vDV5AVZAVZn990IGuXZD1w+sGarB/m6cu76l8CsAKsACvACrCKVjSBAtZrN08X25dsAbAALAALwAKwR0au/+9mVuyTlg5gBVgBVoAVYL0D64ETDdZg/ZiuZt+qkDW9nLt/p/oRXeAr+Aq+Pr/pwNcu+XrgIds1Xy+W80/fr9On2c+mxICtYCvY+vymA1u7ZOuBt4Ct2fqp2Le6HDCml5ezAM0VeAVegVfg9QdexfF4/WdaXd8MuAKugCvgCrjewbXptYqbM7Kb5oBZcMvZ/PNvk3kK5UH5lQff2HCW/XK9+q1/LO5/E4QFYYdEWPWkve78v1eGs85w50lUJKeoA9fRMhOC5yRSr1zqjK/854Z7AhzPu1BptMXxckFr1jmYQGPOmtlMmNPyx93gTVsFdpK1suTbZXX9zGwOtAKtQCvQCrTue9fMTrR+TOFmvph8S4hegVggFogFYh8jtvFJgp2IvZhMv1ymyp4AK8AKsAKsAOsesWvNjMKHnH2x+D4NQCwQC8QCsUDs7VTCpoNbNkxdv41i1DhZjSF8Nbu6mk23v/rGXS7S3dNtzqbVvNit3wFvwVvwFrytmUjYFCDPakdazKZFotJyS2wQzjpNFfPEKqEodRvuVv+OE3C3/MWqiav6ENz6ji8gGAgGgoFgIHgbwUKeAsGrLCDFt1OwF+wFe8FesHcXe/ds+GrG3k/zG6gOwC6wC+wCu7uwu+8JhsfY3Tz6fT67uQZhQVgQFoQFYX8QVjWYzVXTsvAIuNUVX+XpYulu3/KPb75dfJhPvhVrIuYFkUFkEBlE3kXkBjFvm0SeFQsuUwSTwWQwGUwGk3cxucEUsBaZfOMvJwFABpABZAAZQN4F5ONOWuwF5P+aLCZ+cllMBiQDyUAykAwk70JygxaJPZD8Li2/ziIkZKC4P/YCioHis0Bxg8MaraAY2jFgDBgDxoBxzcm5dut5T8IYojFIDBKDxCDxUyTWDWZHHE3i99PL72/ms6tXN/N5McWtsgwqg8qgMqgMKj8SK7qgMmp4YDFYDBaDxV0Kxx/ms+s0f2QTVPEAY8AYMAaM62Hc4G7MlmCMOh5wDBwDx8BxZzpFDY5RyQOLwWKwGCx+spLHO2Exanngci/sBS6Dy+fAZdUNl1HNA41BY9AYNK6lMW86ML68vzz5cjN3K7q+/juk67UWMf3mLifxwbcLqt1VKm/37sc26BW/XF/efJlML74vimUfOZ77lYO4IO55E1fudK0m7v+s5uPU6BiUzIUVoribszYJUlmQeevv7lbjxymcr1fEvIePjylfplA9BCvACrBiSKygDYrTD+35qby3z29upmFz7YyLH1ZGWLxav1GgAWgAGgaABtEUDa2kHfyX+eZj+Udlolc3i+Xs6hYzCyg+AMeAwCHMk/a6tw56ZTqiPSMuWU2IMDkwQljUUmWmXQjF33qg+TRFyLPaUTtJqODME8elcEnYHCnxmjsfgmBpj4uq2snhAF6AF+AFeAHeFXhZg6MzTxh2Fm6uyhtLcU3ff83d9XWaA7PALDALzAKz9zHLG3SY7IXZxavZ5SbCBXFBXBAXxAVx7xN3/0rPrWFvv7B5DrwCr8Ar8Aq8PtANmjbpPVFI/z0ttyPbv+aXtaxdGQKkBWlBWpC2eqN2T9JuA+RZrSgjp8pRb3kSrjDWUyKN0D6RRGJ5dCscHHdj1NGFMUAX0AV0n990gG6H0BVNi2InbAUDeAFegPf5TQfwdgneTntwceoa6B0PenHqGqeua05dswYduO01giG6BWKHh1hEt4hu67TcBgfVT9IEBtqCtqDt85sOtO2QtvTgkw37NIABrUAr0Pr8pgNau0Lr//wvSOOFvQ== \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/tech/1.configuration/readme.md b/docs/tech/1.configuration/readme.md index d61993a8..f27685b6 100644 --- a/docs/tech/1.configuration/readme.md +++ b/docs/tech/1.configuration/readme.md @@ -12,9 +12,11 @@ During the generation process, the data from these files is loaded into the
    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 19:26:06 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/classes/ClassEntityCollection.md b/docs/tech/2.parser/classes/ClassEntityCollection.md index 75f27e10..3103ecfb 100644 --- a/docs/tech/2.parser/classes/ClassEntityCollection.md +++ b/docs/tech/2.parser/classes/ClassEntityCollection.md @@ -952,13 +952,13 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): ```php $classEntityCollection->findEntity('App'); // class name -$classEntityCollection->findEntity('SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App::test()'); // class with namespace and optional part +$classEntityCollection->findEntity('BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App::test()'); // class with namespace and optional part $classEntityCollection->findEntity('App.php'); // filename -$classEntityCollection->findEntity('/SelfDoc/Console/App.php'); // relative path -$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/SelfDoc/Console/App.php'); // absolute path -$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/SelfDoc/Console/App.php'); // source link +$classEntityCollection->findEntity('/BumbleDocGen/Console/App.php'); // relative path +$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/BumbleDocGen/Console/App.php'); // absolute path +$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/BumbleDocGen/Console/App.php'); // source link ``` diff --git a/docs/tech/2.parser/entity.md b/docs/tech/2.parser/entity.md index 2782343d..c11b9f92 100644 --- a/docs/tech/2.parser/entity.md +++ b/docs/tech/2.parser/entity.md @@ -123,4 +123,4 @@ These classes are a convenient wrapper for accessing data in templates: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/entityFilterCondition.md b/docs/tech/2.parser/entityFilterCondition.md index b5e3e137..6ee6d407 100644 --- a/docs/tech/2.parser/entityFilterCondition.md +++ b/docs/tech/2.parser/entityFilterCondition.md @@ -78,4 +78,4 @@ Filter condition for working with entities PHP language handler: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/readme.md b/docs/tech/2.parser/readme.md index edd340b3..0b7859e5 100644 --- a/docs/tech/2.parser/readme.md +++ b/docs/tech/2.parser/readme.md @@ -41,4 +41,4 @@ In this section, we show how the parser works and what components it consists of \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/sourceLocator.md b/docs/tech/2.parser/sourceLocator.md index d4d230f0..53ee0f65 100644 --- a/docs/tech/2.parser/sourceLocator.md +++ b/docs/tech/2.parser/sourceLocator.md @@ -30,4 +30,4 @@ You can create your own source locators or use any existing ones. All source loc \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/breadcrumbs.md b/docs/tech/3.renderer/breadcrumbs.md index 2385c5b3..015fd7c7 100644 --- a/docs/tech/3.renderer/breadcrumbs.md +++ b/docs/tech/3.renderer/breadcrumbs.md @@ -51,4 +51,4 @@ Here is an example of the result of the `generatePageBreadcrumbs` function: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection.md b/docs/tech/3.renderer/classes/ClassEntityCollection.md index fa5f4e4f..10e6ad7a 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection.md @@ -952,13 +952,13 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): ```php $classEntityCollection->findEntity('App'); // class name -$classEntityCollection->findEntity('SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App::test()'); // class with namespace and optional part +$classEntityCollection->findEntity('BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App::test()'); // class with namespace and optional part $classEntityCollection->findEntity('App.php'); // filename -$classEntityCollection->findEntity('/SelfDoc/Console/App.php'); // relative path -$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/SelfDoc/Console/App.php'); // absolute path -$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/SelfDoc/Console/App.php'); // source link +$classEntityCollection->findEntity('/BumbleDocGen/Console/App.php'); // relative path +$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/BumbleDocGen/Console/App.php'); // absolute path +$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/BumbleDocGen/Console/App.php'); // source link ``` diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md index c42d44b0..ae2e7d26 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md @@ -952,13 +952,13 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): ```php $classEntityCollection->findEntity('App'); // class name -$classEntityCollection->findEntity('SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App::test()'); // class with namespace and optional part +$classEntityCollection->findEntity('BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App::test()'); // class with namespace and optional part $classEntityCollection->findEntity('App.php'); // filename -$classEntityCollection->findEntity('/SelfDoc/Console/App.php'); // relative path -$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/SelfDoc/Console/App.php'); // absolute path -$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/SelfDoc/Console/App.php'); // source link +$classEntityCollection->findEntity('/BumbleDocGen/Console/App.php'); // relative path +$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/BumbleDocGen/Console/App.php'); // absolute path +$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/BumbleDocGen/Console/App.php'); // source link ``` diff --git a/docs/tech/3.renderer/readme.md b/docs/tech/3.renderer/readme.md index 0d781d28..363c53d9 100644 --- a/docs/tech/3.renderer/readme.md +++ b/docs/tech/3.renderer/readme.md @@ -60,4 +60,4 @@ This process is presented in the form of a diagram below. \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templates.md b/docs/tech/3.renderer/templates.md index 341c124f..fa901dd5 100644 --- a/docs/tech/3.renderer/templates.md +++ b/docs/tech/3.renderer/templates.md @@ -101,4 +101,4 @@ Result after starting the documentation generation process: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesDynamicBlocks.md b/docs/tech/3.renderer/templatesDynamicBlocks.md index c41de4f7..8fbcc65e 100644 --- a/docs/tech/3.renderer/templatesDynamicBlocks.md +++ b/docs/tech/3.renderer/templatesDynamicBlocks.md @@ -26,4 +26,4 @@ You can use the built-in functions and filters or add your own, so you can imple \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesLinking.md b/docs/tech/3.renderer/templatesLinking.md index a901b7f0..c4303ce3 100644 --- a/docs/tech/3.renderer/templatesLinking.md +++ b/docs/tech/3.renderer/templatesLinking.md @@ -27,4 +27,4 @@ You can also implement your own functions for relinking if necessary. \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesVariables.md b/docs/tech/3.renderer/templatesVariables.md index 94f5f78a..33ffedcb 100644 --- a/docs/tech/3.renderer/templatesVariables.md +++ b/docs/tech/3.renderer/templatesVariables.md @@ -11,4 +11,4 @@ There are several variables available in each processed template. \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/twigCustomFilters.md b/docs/tech/3.renderer/twigCustomFilters.md index 3a43a3a5..bb9a1d6d 100644 --- a/docs/tech/3.renderer/twigCustomFilters.md +++ b/docs/tech/3.renderer/twigCustomFilters.md @@ -263,4 +263,4 @@ Here is a list of filters available by default: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/twigCustomFunctions.md b/docs/tech/3.renderer/twigCustomFunctions.md index bf31a010..6d7acc53 100644 --- a/docs/tech/3.renderer/twigCustomFunctions.md +++ b/docs/tech/3.renderer/twigCustomFunctions.md @@ -20,9 +20,9 @@ You can add your custom functions to the configuration like this: ```yaml twig_functions: - - class: \SelfDoc\Configuration\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName - - class: \SelfDoc\Configuration\Twig\CustomFunction\PrintClassCollectionAsGroupedTable - - class: \SelfDoc\Configuration\Twig\CustomFunction\GetConfigParametersDescription + - class: \SelfDocConfig\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName + - class: \SelfDocConfig\Twig\CustomFunction\PrintClassCollectionAsGroupedTable + - class: \SelfDocConfig\Twig\CustomFunction\GetConfigParametersDescription ``` It is important to remember that when a template is inherited, custom functions are not overridden and augmented. @@ -385,4 +385,4 @@ Here is a list of functions available by default: \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/readme.md b/docs/tech/4.pluginSystem/readme.md index e26e35a7..1c076493 100644 --- a/docs/tech/4.pluginSystem/readme.md +++ b/docs/tech/4.pluginSystem/readme.md @@ -12,9 +12,9 @@ You can add your plugins to the configuration like this: ```yaml plugins: - - class: \SelfDoc\Configuration\Plugin\RoaveStubber\BetterReflectionStubberPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin - - class: \SelfDoc\Configuration\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin + - class: \SelfDocConfig\Plugin\RoaveStubber\BetterReflectionStubberPlugin + - class: \SelfDocConfig\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin + - class: \SelfDocConfig\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin ```

    Default plugins

    @@ -192,4 +192,4 @@ plugins:
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/classes/ClassEntityCollection.md b/docs/tech/classes/ClassEntityCollection.md index f29296f8..101b2330 100644 --- a/docs/tech/classes/ClassEntityCollection.md +++ b/docs/tech/classes/ClassEntityCollection.md @@ -952,13 +952,13 @@ public function internalFindEntity(string $search, bool $useUnsafeKeys = true): ```php $classEntityCollection->findEntity('App'); // class name -$classEntityCollection->findEntity('SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App'); // class with namespace -$classEntityCollection->findEntity('\SelfDoc\Console\App::test()'); // class with namespace and optional part +$classEntityCollection->findEntity('BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App'); // class with namespace +$classEntityCollection->findEntity('\BumbleDocGen\Console\App::test()'); // class with namespace and optional part $classEntityCollection->findEntity('App.php'); // filename -$classEntityCollection->findEntity('/SelfDoc/Console/App.php'); // relative path -$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/SelfDoc/Console/App.php'); // absolute path -$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/SelfDoc/Console/App.php'); // source link +$classEntityCollection->findEntity('/BumbleDocGen/Console/App.php'); // relative path +$classEntityCollection->findEntity('/Users/someuser/Desktop/projects/bumble-doc-gen/BumbleDocGen/Console/App.php'); // absolute path +$classEntityCollection->findEntity('https://github.com/bumble-tech/bumble-doc-gen/blob/master/BumbleDocGen/Console/App.php'); // source link ``` diff --git a/docs/tech/map.md b/docs/tech/map.md index 23761cbd..af264558 100644 --- a/docs/tech/map.md +++ b/docs/tech/map.md @@ -233,4 +233,4 @@ Directory layout ( only documented files shown ): \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/readme.md b/docs/tech/readme.md index aec4eab3..a64455c0 100644 --- a/docs/tech/readme.md +++ b/docs/tech/readme.md @@ -37,4 +37,4 @@ After that, the process of parsing the project code according to the configurati \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file From 5b7d91a8c00ef03ffd8b1c8526525dedc94649b4 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 2 Sep 2023 21:09:56 +0300 Subject: [PATCH 11/34] Updating selfdoc dir path --- docs/shared_c.cache | 2 +- docs/tech/2.parser/sourceLocator.md | 2 +- .../TwigFunctionClassParser/TwigFunctionClassParserPlugin.php | 2 +- selfdoc/templates/tech/2.parser/sourceLocator.md.twig | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/shared_c.cache b/docs/shared_c.cache index 40cfad2b..18e38261 100644 --- a/docs/shared_c.cache +++ b/docs/shared_c.cache @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/tech/2.parser/sourceLocator.md b/docs/tech/2.parser/sourceLocator.md index 53ee0f65..c360eaa0 100644 --- a/docs/tech/2.parser/sourceLocator.md +++ b/docs/tech/2.parser/sourceLocator.md @@ -12,7 +12,7 @@ Source locators are set in the configuration: arguments: directories: - "%project_root%/src" - - "%project_root%/SelfDoc" + - "%project_root%/selfdoc" ``` diff --git a/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php b/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php index d8a4983c..0ae14e07 100644 --- a/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php +++ b/selfdoc/Plugin/TwigFunctionClassParser/TwigFunctionClassParserPlugin.php @@ -136,7 +136,7 @@ private function getFunctionData(ClassEntityCollection $classEntityCollection, s return null; } $entity = $classEntityCollection->getEntityByClassName($className); - if (str_starts_with($entity->getFileName(), '/SelfDoc')) { + if (str_starts_with($entity->getFileName(), '/selfdoc')) { return null; } diff --git a/selfdoc/templates/tech/2.parser/sourceLocator.md.twig b/selfdoc/templates/tech/2.parser/sourceLocator.md.twig index bfeb6238..328d857d 100644 --- a/selfdoc/templates/tech/2.parser/sourceLocator.md.twig +++ b/selfdoc/templates/tech/2.parser/sourceLocator.md.twig @@ -13,7 +13,7 @@ Source locators are set in the configuration: arguments: directories: - "%project_root%/src" - - "%project_root%/SelfDoc"' | textToCodeBlock('yaml') }} + - "%project_root%/selfdoc"' | textToCodeBlock('yaml') }} You can create your own source locators or use any existing ones. All source locators must implement the SourceLocatorInterface interface. From 083ea94adb6fb74a9a49fb9b43699c48ef9ee8a0 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sun, 3 Sep 2023 17:23:15 +0300 Subject: [PATCH 12/34] Fixing formatting --- bin/bumbleDocGen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/bumbleDocGen b/bin/bumbleDocGen index 71afd695..63ca469d 100755 --- a/bin/bumbleDocGen +++ b/bin/bumbleDocGen @@ -5,4 +5,4 @@ ini_set('memory_limit', '-1'); require_once __DIR__ . '/../vendor/autoload.php'; -(new \BumbleDocGen\Console\App())->run(); \ No newline at end of file +(new \BumbleDocGen\Console\App())->run(); From 438272ea001de6ec9135743a517978d07b7caa30 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:01:35 +0300 Subject: [PATCH 13/34] Fixing autoload problems --- bin/bumbleDocGen | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/bin/bumbleDocGen b/bin/bumbleDocGen index 63ca469d..ddd02ff5 100755 --- a/bin/bumbleDocGen +++ b/bin/bumbleDocGen @@ -3,6 +3,20 @@ ini_set('memory_limit', '-1'); -require_once __DIR__ . '/../vendor/autoload.php'; +$dir = __DIR__; +$autoloadFound = false; +while ($dir !== DIRECTORY_SEPARATOR) { + $autoloadFileName = realpath($dir . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'); + $autoloadFound = file_exists($autoloadFileName) && is_readable($autoloadFileName); + if ($autoloadFound) { + require $autoloadFileName; + break; + } + $dir = dirname($dir); +} + +if (!$autoloadFound) { + die('Composer autoload.php file not found.'); +} (new \BumbleDocGen\Console\App())->run(); From c552abaa9189232ed70771451cba05d64ea62d75 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:04:48 +0300 Subject: [PATCH 14/34] Adding custom config parameter --- src/Console/Command/GenerateCommand.php | 26 +++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Console/Command/GenerateCommand.php b/src/Console/Command/GenerateCommand.php index 044fa6d1..844a0884 100644 --- a/src/Console/Command/GenerateCommand.php +++ b/src/Console/Command/GenerateCommand.php @@ -24,6 +24,13 @@ protected function configure(): void InputOption::VALUE_OPTIONAL, 'Path to the configuration file, specified as absolute or relative to the working directory.', 'bumble_doc_gen.yaml' + ) + ->addOption( + 'project_root', + null, + InputOption::VALUE_OPTIONAL, + 'Configuration parameter: path to the directory of the documented project', + '' ); } @@ -40,8 +47,23 @@ protected function execute( if (Path::isRelative($configFile)) { $configFile = getcwd() . DIRECTORY_SEPARATOR . $configFile; } - $docGenerator = (new DocGeneratorFactory())->create($configFile); - $docGenerator->generate(); + $docGeneratorFactory = (new DocGeneratorFactory()); + + $docGeneratorFactory->setCustomConfigurationParameters( + $this->getCustomConfigurationParameters($input) + ); + + $docGeneratorFactory->create($configFile)->generate(); return self::SUCCESS; } + + private function getCustomConfigurationParameters(\Symfony\Component\Console\Input\InputInterface $input): array + { + $customConfigurationParameters = []; + $projectRoot = $input->getOption('project_root'); + if ($projectRoot) { + $customConfigurationParameters['project_root'] = $projectRoot; + } + return $customConfigurationParameters; + } } From 3fe9622521609f49ba20f764f44a6f48bb9ab57f Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:35:52 +0300 Subject: [PATCH 15/34] Adding additional config param check --- src/Core/Configuration/Configuration.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Core/Configuration/Configuration.php b/src/Core/Configuration/Configuration.php index 6c7ca308..cc291ee5 100644 --- a/src/Core/Configuration/Configuration.php +++ b/src/Core/Configuration/Configuration.php @@ -112,6 +112,13 @@ public function getOutputDir(): string "`output_dir` cannot be created because parent directory `{$parentDir}` does not exist" ); } + + if (!is_writable($outputDir)) { + throw new InvalidConfigurationParameterException( + "The directory specified in configuration `output_dir` is not writable" + ); + } + if (!file_exists($outputDir)) { $this->logger->notice("Creating `{$outputDir}` directory"); mkdir($outputDir); From df30f89913e44c6f4d12071541efbd03c3d8a344 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:36:58 +0300 Subject: [PATCH 16/34] Configuration files are now optional --- src/DocGeneratorFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DocGeneratorFactory.php b/src/DocGeneratorFactory.php index b89357c8..5118cb4c 100644 --- a/src/DocGeneratorFactory.php +++ b/src/DocGeneratorFactory.php @@ -34,7 +34,7 @@ public function setCustomConfigurationParameters(array $customConfigurationParam * @throws NotFoundException * @throws \Exception */ - public function create(string ...$configurationFiles): DocGenerator + public function create(?string ...$configurationFiles): DocGenerator { $diContainer = $this->containerBuilder->build(); $logger = $diContainer->get(LoggerInterface::class); From 5f1d5bd471474511913022e39371950f47808028 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:54:57 +0300 Subject: [PATCH 17/34] Fixing check --- src/Core/Configuration/Configuration.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Core/Configuration/Configuration.php b/src/Core/Configuration/Configuration.php index cc291ee5..4bff70a4 100644 --- a/src/Core/Configuration/Configuration.php +++ b/src/Core/Configuration/Configuration.php @@ -113,9 +113,9 @@ public function getOutputDir(): string ); } - if (!is_writable($outputDir)) { + if (!is_writable($parentDir)) { throw new InvalidConfigurationParameterException( - "The directory specified in configuration `output_dir` is not writable" + "`output_dir` cannot be created because parent directory `{$parentDir}` is not writable" ); } From 362ff2f1371ed87cc0185b0987942b547623e033 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:56:15 +0300 Subject: [PATCH 18/34] Fixing config merge algo --- src/Core/Configuration/ConfigurationParameterBag.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/Configuration/ConfigurationParameterBag.php b/src/Core/Configuration/ConfigurationParameterBag.php index 40ac81bf..a8c7f1f7 100644 --- a/src/Core/Configuration/ConfigurationParameterBag.php +++ b/src/Core/Configuration/ConfigurationParameterBag.php @@ -72,7 +72,7 @@ public function set(string $name, mixed $value): void foreach ($keys as $key) { $value = [$key => $value]; } - $this->parameters = array_merge_recursive($value, $this->parameters); + $this->parameters = $this->mergeConfigParams($this->parameters, $value); } public function addValueIfNotExists(string $name, mixed $value): void From ea31dd527c0c15e36fba4cf468f92d2984361e7a Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 20:58:42 +0300 Subject: [PATCH 19/34] Adding more custom config parameters --- src/Console/Command/GenerateCommand.php | 45 ++++++++++++++++--------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/src/Console/Command/GenerateCommand.php b/src/Console/Command/GenerateCommand.php index 844a0884..36ca4de9 100644 --- a/src/Console/Command/GenerateCommand.php +++ b/src/Console/Command/GenerateCommand.php @@ -14,6 +14,13 @@ final class GenerateCommand extends Command { + private array $customConfigOptions = [ + 'project_root' => 'Path to the directory of the documented project', + 'templates_dir' => 'Path to directory with documentation templates', + 'output_dir' => 'Path to the directory where the finished documentation will be generated', + 'cache_dir' => 'Configuration parameter: Path to the directory where the documentation generator cache will be saved', + ]; + protected function configure(): void { $this->setName('generate') @@ -21,17 +28,19 @@ protected function configure(): void ->addOption( 'config', 'c', - InputOption::VALUE_OPTIONAL, - 'Path to the configuration file, specified as absolute or relative to the working directory.', + InputOption::VALUE_NEGATABLE, + 'Path to the configuration file, specified as absolute or relative to the working directory [default: "bumble_doc_gen.yaml"]', 'bumble_doc_gen.yaml' - ) - ->addOption( - 'project_root', + ); + + foreach ($this->customConfigOptions as $optionName => $description) { + $this->addOption( + $optionName, null, InputOption::VALUE_OPTIONAL, - 'Configuration parameter: path to the directory of the documented project', - '' + "Config parameter: {$description}" ); + } } /** @@ -43,26 +52,30 @@ protected function execute( \Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output ): int { - $configFile = $input->getOption('config'); - if (Path::isRelative($configFile)) { - $configFile = getcwd() . DIRECTORY_SEPARATOR . $configFile; - } $docGeneratorFactory = (new DocGeneratorFactory()); - $docGeneratorFactory->setCustomConfigurationParameters( $this->getCustomConfigurationParameters($input) ); - $docGeneratorFactory->create($configFile)->generate(); + $configFile = $input->getOption('config'); + if ($configFile && Path::isRelative($configFile)) { + $configFile = getcwd() . DIRECTORY_SEPARATOR . $configFile; + $docGeneratorFactory->create($configFile)->generate(); + } else { + $docGeneratorFactory->create()->generate(); + } + return self::SUCCESS; } private function getCustomConfigurationParameters(\Symfony\Component\Console\Input\InputInterface $input): array { $customConfigurationParameters = []; - $projectRoot = $input->getOption('project_root'); - if ($projectRoot) { - $customConfigurationParameters['project_root'] = $projectRoot; + foreach ($this->customConfigOptions as $optionName => $description) { + $optionValue = $input->getOption($optionName); + if (!is_null($optionValue)) { + $customConfigurationParameters[$optionName] = $optionValue; + } } return $customConfigurationParameters; } From 487e0c256b8ad5d858793d4c46d1ab7a95486979 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 21:05:56 +0300 Subject: [PATCH 20/34] Adding output style --- src/Console/Command/GenerateCommand.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Console/Command/GenerateCommand.php b/src/Console/Command/GenerateCommand.php index 36ca4de9..13ef870c 100644 --- a/src/Console/Command/GenerateCommand.php +++ b/src/Console/Command/GenerateCommand.php @@ -11,6 +11,8 @@ use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Filesystem\Path; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; final class GenerateCommand extends Command { @@ -38,7 +40,7 @@ protected function configure(): void $optionName, null, InputOption::VALUE_OPTIONAL, - "Config parameter: {$description}" + "Config parameter: {$description}" ); } } @@ -49,8 +51,8 @@ protected function configure(): void * @throws InvalidArgumentException */ protected function execute( - \Symfony\Component\Console\Input\InputInterface $input, - \Symfony\Component\Console\Output\OutputInterface $output + InputInterface $input, + OutputInterface $output ): int { $docGeneratorFactory = (new DocGeneratorFactory()); $docGeneratorFactory->setCustomConfigurationParameters( @@ -68,7 +70,7 @@ protected function execute( return self::SUCCESS; } - private function getCustomConfigurationParameters(\Symfony\Component\Console\Input\InputInterface $input): array + private function getCustomConfigurationParameters(InputInterface $input): array { $customConfigurationParameters = []; foreach ($this->customConfigOptions as $optionName => $description) { From 6a38cec0ceac60e98f62afaadb3bc8422a1bae8c Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 21:19:50 +0300 Subject: [PATCH 21/34] Updating readme template --- selfdoc/templates/readme.md.twig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/selfdoc/templates/readme.md.twig b/selfdoc/templates/readme.md.twig index 939cbc3f..16616b4b 100644 --- a/selfdoc/templates/readme.md.twig +++ b/selfdoc/templates/readme.md.twig @@ -47,6 +47,8 @@ BumbleDocGen's interface consists of mainly two classes: DocGenerator and {{ "Examples of usage" | textToHeading('H3') }} +1) Working with a library in a PHP file + ```php require_once 'vendor/autoload.php'; @@ -62,6 +64,19 @@ $docgen = $factory->create('/path/to/configuration/files'); $docgen->generate(); ``` +2) Working with the library through a console application + +```bash +# List of available commands +./vendor/bin/bumbleDocGen list + +# Documentation generation example +./vendor/bin/bumbleDocGen generate -c + +# Getting detailed information about a command +./vendor/bin/bumbleDocGen generate -h +``` + ------------------ **This documentation was generated using the Bumble Documentation Generator, and is an example of how it works.** From ca14c68e0c006d70633ea2fda4c4ab391508c6e1 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sat, 9 Sep 2023 21:21:45 +0300 Subject: [PATCH 22/34] Updating doc --- docs/classes/DocGeneratorFactory.md | 4 +-- docs/readme.md | 17 +++++++++- docs/shared_c.cache | 2 +- .../1.configuration/classes/Configuration.md | 24 +++++++------- docs/tech/1.configuration/readme.md | 2 +- .../3.renderer/classes/BreadcrumbsHelper.md | 18 +++++------ .../classes/ClassEntityCollection_2.md | 32 +++++++++---------- .../classes/GetDocumentedEntityUrl_2.md | 4 +-- .../classes/GetDocumentedEntityUrl_3.md | 4 +-- docs/tech/classes/Configuration.md | 24 +++++++------- docs/tech/classes/DocGeneratorFactory.md | 4 +-- docs/tech/classes/GenerateCommand.md | 2 +- docs/tech/map.md | 2 +- 13 files changed, 77 insertions(+), 62 deletions(-) diff --git a/docs/classes/DocGeneratorFactory.md b/docs/classes/DocGeneratorFactory.md index 276fcdd2..e992ac7d 100644 --- a/docs/classes/DocGeneratorFactory.md +++ b/docs/classes/DocGeneratorFactory.md @@ -95,7 +95,7 @@ public function __construct(string $diConfig = '/src/di-config.php'); ```php -public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; +public function create(string|null $configurationFiles): \BumbleDocGen\DocGenerator; ``` @@ -113,7 +113,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; $configurationFiles - string + string | null - diff --git a/docs/readme.md b/docs/readme.md index ee252b39..f92a91c6 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -49,6 +49,8 @@ BumbleDocGen's interface consists of mainly two classes: # getCacheDir - | source code + | source code ```php @@ -178,7 +178,7 @@ public function getCacheDir(): string|null; ```php @@ -199,7 +199,7 @@ public function getDocGenLibDir(): string; ```php @@ -227,7 +227,7 @@ public function getGitClientPath(): string; ```php @@ -289,7 +289,7 @@ public function getOutputDir(): string; ```php @@ -317,7 +317,7 @@ public function getOutputDirBaseUrl(): string; ```php @@ -351,7 +351,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc ```php @@ -475,7 +475,7 @@ public function getTemplatesDir(): string; ```php @@ -509,7 +509,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -543,7 +543,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -571,7 +571,7 @@ public function getWorkingDir(): string; ```php @@ -599,7 +599,7 @@ public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; ```php diff --git a/docs/tech/1.configuration/readme.md b/docs/tech/1.configuration/readme.md index f27685b6..e5bd7981 100644 --- a/docs/tech/1.configuration/readme.md +++ b/docs/tech/1.configuration/readme.md @@ -214,4 +214,4 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 09 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md index 22446bea..d734f8d5 100644 --- a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md +++ b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md @@ -157,7 +157,7 @@ public function getAllPageLinks(): array; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -213,7 +213,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -269,7 +269,7 @@ public function getBreadcrumbsForTemplates(string $templateFilePatch, bool $from \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -317,7 +317,7 @@ public function getPageDataByKey(string $key): array|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -368,7 +368,7 @@ public function getPageDocFileByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -419,7 +419,7 @@ public function getPageLinkByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -467,7 +467,7 @@ public function getTemplateLinkKey(string $templateName): string|null; Throws: @@ -512,7 +512,7 @@ public function getTemplateTitle(string $templateName): string; Throws: @@ -593,7 +593,7 @@ public function renderBreadcrumbs(string $currentPageTitle, string $filePatch, b \Twig\Error\LoaderError
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md index ae2e7d26..59d0550b 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md @@ -248,10 +248,10 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -319,10 +319,10 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan Throws: @@ -367,10 +367,10 @@ public function filterByNameRegularExpression(string $regexPattern): \BumbleDocG Throws: @@ -415,10 +415,10 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen Throws: @@ -463,10 +463,10 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P Throws: @@ -779,10 +779,10 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Throws: @@ -810,10 +810,10 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Throws: @@ -1067,10 +1067,10 @@ public function loadClassEntities(): void; \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md index a520fe50..88de6443 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md @@ -211,13 +211,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md index 84e87cd8..02fc96d1 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md @@ -211,13 +211,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/classes/Configuration.md b/docs/tech/classes/Configuration.md index 08058fe0..20ddaa29 100644 --- a/docs/tech/classes/Configuration.md +++ b/docs/tech/classes/Configuration.md @@ -150,7 +150,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParame ```php @@ -178,7 +178,7 @@ public function getCacheDir(): string|null; ```php @@ -199,7 +199,7 @@ public function getDocGenLibDir(): string; ```php @@ -227,7 +227,7 @@ public function getGitClientPath(): string; ```php @@ -289,7 +289,7 @@ public function getOutputDir(): string; ```php @@ -317,7 +317,7 @@ public function getOutputDirBaseUrl(): string; ```php @@ -351,7 +351,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc ```php @@ -475,7 +475,7 @@ public function getTemplatesDir(): string; ```php @@ -509,7 +509,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom ```php @@ -543,7 +543,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu ```php @@ -571,7 +571,7 @@ public function getWorkingDir(): string; ```php @@ -599,7 +599,7 @@ public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; ```php diff --git a/docs/tech/classes/DocGeneratorFactory.md b/docs/tech/classes/DocGeneratorFactory.md index 3b4f7b81..5e3a29c1 100644 --- a/docs/tech/classes/DocGeneratorFactory.md +++ b/docs/tech/classes/DocGeneratorFactory.md @@ -95,7 +95,7 @@ public function __construct(string $diConfig = '/src/di-config.php'); ```php -public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; +public function create(string|null $configurationFiles): \BumbleDocGen\DocGenerator; ``` @@ -113,7 +113,7 @@ public function create(string $configurationFiles): \BumbleDocGen\DocGenerator; $configurationFiles - string + string | null - diff --git a/docs/tech/classes/GenerateCommand.md b/docs/tech/classes/GenerateCommand.md index 8285624d..072acd6e 100644 --- a/docs/tech/classes/GenerateCommand.md +++ b/docs/tech/classes/GenerateCommand.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / GenerateCommand

    - GenerateCommand class: + GenerateCommand class:

    diff --git a/docs/tech/map.md b/docs/tech/map.md index af264558..64cf1c6a 100644 --- a/docs/tech/map.md +++ b/docs/tech/map.md @@ -233,4 +233,4 @@ Directory layout ( only documented files shown ):

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Sat Sep 09 2023
    Made with
    Bumble Documentation Generator \ No newline at end of file From 323c60eb6d29e8c8dae5fa3a477ceaa95fb10d32 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sun, 10 Sep 2023 17:03:01 +0300 Subject: [PATCH 23/34] Fixing StrTypeToUrl output --- src/Core/Renderer/Twig/Filter/StrTypeToUrl.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Core/Renderer/Twig/Filter/StrTypeToUrl.php b/src/Core/Renderer/Twig/Filter/StrTypeToUrl.php index aac42857..3764fe10 100644 --- a/src/Core/Renderer/Twig/Filter/StrTypeToUrl.php +++ b/src/Core/Renderer/Twig/Filter/StrTypeToUrl.php @@ -81,7 +81,12 @@ public function __invoke( } else { $type = "\\{$entityOfLink->getName()}"; } - $preparedTypes[] = "{$type}"; + + if ($link && $link !== '#') { + $preparedTypes[] = "{$type}"; + } else { + $preparedTypes[] = $type; + } } } else { if ($entityOfLink::isEntityNameValid($type)) { From 2de99e99203936016fac9070e69fbc14da60eaed Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Sun, 10 Sep 2023 17:03:28 +0300 Subject: [PATCH 24/34] Fixing template throw url --- .../PhpClassToMd/templates/_method_details.md.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig index 3af0505f..26e32a52 100644 --- a/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig +++ b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/PhpClassToMd/templates/_method_details.md.twig @@ -65,7 +65,7 @@