src/Structure.php
private function getBuilders($build_path, ConnectionInterface $connection = null, array $event_handlers)
    {
        if (empty($this->builders)) {
            $this->builders[] = new BaseDirBuilder($this);

            $this->builders[] = new TypesBuilder($this);
            $this->builders[] = new BaseTypeClassBuilder($this);
            $this->builders[] = new TypeClassBuilder($this);
            $this->builders[] = new TypeTableBuilder($this);

            $this->builders[] = new AssociationsBuilder($this);
            $this->builders[] = new TriggersBuilder($this);

            $this->builders[] = new ManagerDirBuilder($this);
            $this->builders[] = new BaseManagerDirBuilder($this);
            $this->builders[] = new BaseTypeManagerBuilder($this);
            $this->builders[] = new TypeManagerBuilder($this);

            $this->builders[] = new CollectionDirBuilder($this);
            $this->builders[] = new BaseCollectionDirBuilder($this);
            $this->builders[] = new BaseTypeCollectionBuilder($this);
            $this->builders[] = new TypeCollectionBuilder($this);

            if ($build_path) {
                foreach ($this->builders as $k => $v) {
                    if ($v instanceof FileSystemBuilderInterface) {
                        $this->builders[$k]->setBuildPath($build_path);
                    }
                }
            }

            if ($connection) {
                foreach ($this->builders as $k => $v) {
                    if ($v instanceof DatabaseBuilderInterface) {
                        $this->builders[$k]->setConnection($connection);
                    }
                }
            }

            foreach ($event_handlers as $event => $handler) {
                foreach ($this->builders as $k => $v) {
                    $v->registerEventHandler($event, $handler);
                }
            }
        }

        return $this->builders;
    }
private function getBuilders($build_path, ConnectionInterface $connection = null, array $event_handlers)
    {
        if (empty($this->builders)) {
            $this->builders[] = new BaseDirBuilder($this);

            $this->builders[] = new TypesBuilder($this);
            $this->builders[] = new BaseTypeClassBuilder($this);
            $this->builders[] = new TypeClassBuilder($this);
            $this->builders[] = new TypeTableBuilder($this);

            $this->builders[] = new AssociationsBuilder($this);
            $this->builders[] = new TriggersBuilder($this);

            $this->builders[] = new ManagerDirBuilder($this);
            $this->builders[] = new BaseManagerDirBuilder($this);
            $this->builders[] = new BaseTypeManagerBuilder($this);
            $this->builders[] = new TypeManagerBuilder($this);

            $this->builders[] = new CollectionDirBuilder($this);
            $this->builders[] = new BaseCollectionDirBuilder($this);
            $this->builders[] = new BaseTypeCollectionBuilder($this);
            $this->builders[] = new TypeCollectionBuilder($this);

            if ($build_path) {
                foreach ($this->builders as $k => $v) {
                    if ($v instanceof FileSystemBuilderInterface) {
                        $this->builders[$k]->setBuildPath($build_path);
                    }
                }
            }

            if ($connection) {
                foreach ($this->builders as $k => $v) {
                    if ($v instanceof DatabaseBuilderInterface) {
                        $this->builders[$k]->setConnection($connection);
                    }
                }
            }

            foreach ($event_handlers as $event => $handler) {
                foreach ($this->builders as $k => $v) {
                    $v->registerEventHandler($event, $handler);
                }
            }
        }

        return $this->builders;
    }
private function getBuilders ( $ build_path , ConnectionInterface $ connection = null , array $ event_handlers ) { if ( empty ( $ this -> builders ) ) { $ this -> builders [ ] = new BaseDirBuilder ( $ this ) ; $ this -> builders [ ] = new TypesBuilder ( $ this ) ; $ this -> builders [ ] = new BaseTypeClassBuilder ( $ this ) ; $ this -> builders [ ] = new TypeClassBuilder ( $ this ) ; $ this -> builders [ ] = new TypeTableBuilder ( $ this ) ; $ this -> builders [ ] = new AssociationsBuilder ( $ this ) ; $ this -> builders [ ] = new TriggersBuilder ( $ this ) ; $ this -> builders [ ] = new ManagerDirBuilder ( $ this ) ; $ this -> builders [ ] = new BaseManagerDirBuilder ( $ this ) ; $ this -> builders [ ] = new BaseTypeManagerBuilder ( $ this ) ; $ this -> builders [ ] = new TypeManagerBuilder ( $ this ) ; $ this -> builders [ ] = new CollectionDirBuilder ( $ this ) ; $ this -> builders [ ] = new BaseCollectionDirBuilder ( $ this ) ; $ this -> builders [ ] = new BaseTypeCollectionBuilder ( $ this ) ; $ this -> builders [ ] = new TypeCollectionBuilder ( $ this ) ; if ( $ build_path ) { foreach ( $ this -> builders as $ k => $ v ) { if ( $ v instanceof FileSystemBuilderInterface ) { $ this -> builders [ $ k ] -> setBuildPath ( $ build_path ) ; } } } if ( $ connection ) { foreach ( $ this -> builders as $ k => $ v ) { if ( $ v instanceof DatabaseBuilderInterface ) { $ this -> builders [ $ k ] -> setConnection ( $ connection ) ; } } } foreach ( $ event_handlers as $ event => $ handler ) { foreach ( $ this -> builders as $ k => $ v ) { $ v -> registerEventHandler ( $ event , $ handler ) ; } } } return $ this -> builders ; }
Return a list of prepared builder instances.

@param  string|null         $build_path
@param  ConnectionInterface $connection
@param  array               $event_handlers
@return BuilderInterface[]
Return a list of prepared builder instances .