Overview

Namespaces

  • Net
    • Bazzline
      • Component
        • Locator
          • Configuration
            • Assembler
            • Validator
          • FileExistsStrategy
          • Generator
          • MethodBodyBuilder
          • Process
            • Transformer
              • Assembler
              • FileLoader
              • Generator
            • Validator

Classes

  • Net\Bazzline\Component\Locator\Configuration\Assembler\AbstractAssembler
  • Net\Bazzline\Component\Locator\Configuration\Assembler\FromArrayAssembler
  • Net\Bazzline\Component\Locator\Configuration\Assembler\FromPropelSchemaXmlAssembler
  • Net\Bazzline\Component\Locator\Configuration\Configuration
  • Net\Bazzline\Component\Locator\Configuration\ConfigurationFactory
  • Net\Bazzline\Component\Locator\Configuration\Instance
  • Net\Bazzline\Component\Locator\Configuration\Uses
  • Net\Bazzline\Component\Locator\Configuration\Validator\ReadableFilePath
  • Net\Bazzline\Component\Locator\FileExistsStrategy\AbstractStrategy
  • Net\Bazzline\Component\Locator\FileExistsStrategy\DeleteStrategy
  • Net\Bazzline\Component\Locator\FileExistsStrategy\SuffixWithCurrentTimestampStrategy
  • Net\Bazzline\Component\Locator\Generator\AbstractGenerator
  • Net\Bazzline\Component\Locator\Generator\AbstractInterfaceGenerator
  • Net\Bazzline\Component\Locator\Generator\FactoryInterfaceGenerator
  • Net\Bazzline\Component\Locator\Generator\InvalidArgumentExceptionGenerator
  • Net\Bazzline\Component\Locator\Generator\LocatorGenerator
  • Net\Bazzline\Component\Locator\Generator\LocatorInterfaceGenerator
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\AbstractMethodBodyBuilder
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\FetchFromFactoryInstancePoolBuilder
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\FetchFromSharedInstancePoolBuilder
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\FetchFromSharedInstancePoolOrCreateByFactoryBuilder
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\NewInstanceBuilder
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\PropelQueryCreateBuilder
  • Net\Bazzline\Component\Locator\Process\Transformer\Assembler\ConfigurationAssembler
  • Net\Bazzline\Component\Locator\Process\Transformer\FileLoader\ConfigurationFileLoader
  • Net\Bazzline\Component\Locator\Process\Transformer\FileLoader\IfAvailableBootstrapFileLoader
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\ArgumentsGenerator
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\FactoryGenerator
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\FileExistsStrategyGenerator
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\InvalidArgumentExceptionFileGenerator
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\LocatorFileGenerator
  • Net\Bazzline\Component\Locator\Process\Transformer\Generator\LocatorInterfaceFileGenerator
  • Net\Bazzline\Component\Locator\Process\Validator\ArgumentsValidator
  • Net\Bazzline\Component\Locator\Process\Validator\ConfigurationDataValidator
  • Net\Bazzline\Component\Locator\Process\Validator\ConfigurationValidator
  • Net\Bazzline\Component\Locator\Process\Validator\IsCommandLineValidator
  • Net\Bazzline\Component\Locator\ProcessPipeFactory

Interfaces

  • Net\Bazzline\Component\Locator\Configuration\Assembler\AssemblerInterface
  • Net\Bazzline\Component\Locator\FactoryInterface
  • Net\Bazzline\Component\Locator\FileExistsStrategy\FileExistsStrategyInterface
  • Net\Bazzline\Component\Locator\Generator\GeneratorInterface
  • Net\Bazzline\Component\Locator\InstanceDependentInterface
  • Net\Bazzline\Component\Locator\LocatorInterface
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\MethodBodyBuilderInterface

Exceptions

  • Net\Bazzline\Component\Locator\Configuration\Assembler\InvalidArgumentException
  • Net\Bazzline\Component\Locator\Configuration\Assembler\RuntimeException
  • Net\Bazzline\Component\Locator\Configuration\Validator\RuntimeException
  • Net\Bazzline\Component\Locator\Exception
  • Net\Bazzline\Component\Locator\FileExistsStrategy\InvalidArgumentException
  • Net\Bazzline\Component\Locator\FileExistsStrategy\RuntimeException
  • Net\Bazzline\Component\Locator\InvalidArgumentException
  • Net\Bazzline\Component\Locator\MethodBodyBuilder\RuntimeException
  • Net\Bazzline\Component\Locator\RuntimeException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 
<?php
/**
 * @author stev leibelt <artodeto@bazzline.net>
 * @since 2015-01-02 
 */

namespace Net\Bazzline\Component\Locator\Generator;

use Net\Bazzline\Component\CodeGenerator\InterfaceGenerator;
use Net\Bazzline\Component\CodeGenerator\Factory\DocumentationGeneratorFactory;
use Net\Bazzline\Component\CodeGenerator\Factory\MethodGeneratorFactory;
use Net\Bazzline\Component\Locator\Configuration\Configuration;
use Net\Bazzline\Component\Locator\Generator\AbstractInterfaceGenerator;

/**
 * Class LocatorInterfaceGenerator
 * @package Net\Bazzline\Component\Locator
 */
class LocatorInterfaceGenerator extends AbstractInterfaceGenerator
{
    /**
     * @param string $name
     * @param InterfaceGenerator $interfaceGenerator
     * @param Configuration $configuration
     * @param DocumentationGeneratorFactory $documentationGeneratorFactory
     * @param MethodGeneratorFactory $methodGeneratorFactory
     * @return InterfaceGenerator
     */
    protected function createInterface($name, InterfaceGenerator $interfaceGenerator, Configuration $configuration, DocumentationGeneratorFactory $documentationGeneratorFactory, MethodGeneratorFactory $methodGeneratorFactory)
    {
        $interfaceGenerator->setDocumentation($documentationGeneratorFactory->create());
        $interfaceGenerator->setName($name);

        if ($configuration->hasNamespace()) {
            $interfaceGenerator->setNamespace($configuration->getNamespace());
        }

        if ($configuration->hasImplements()) {
            foreach ($configuration->getImplements() as $interfaceName) {
                //@todo bug!
                //if the class generator is an interface, we have to add
                // multiple extends
                $interfaceGenerator->addExtends($interfaceName);
            }
        }

        if ($configuration->hasInstances()) {
            foreach ($configuration->getInstances() as $instance) {
                $method = $methodGeneratorFactory->create();

                if ($instance->hasAlias()) {
                    $methodName = $instance->getAlias();
                } else {
                    $methodName = (str_replace('\\', '' , $instance->getClassName()));
                }

                $methodName     = $configuration->getMethodPrefix() . ucfirst($methodName);
                $returnValue    = ($instance->hasReturnValue()) ? $instance->getReturnValue() : $instance->getClassName();

                $method->setDocumentation($documentationGeneratorFactory->create());
                $method->setName($methodName);
                $method->markAsPublic();
                $method->markAsHasNoBody();
                $method->getDocumentation()->setReturn(array($returnValue));

                $interfaceGenerator->addMethod($method);
            }
        }

        return $interfaceGenerator;
    }

    /**
     * @return string
     */
    protected function getInterfaceName()
    {
        return $this->configuration->getClassName() . 'Interface';
    }
}
PHP Locator Generator Component by bazzline.net API documentation generated by ApiGen