protected function setBuilder(AbstractOMBuilder $builder) { $this->builder = $builder; $this->objectClassName = $builder->getObjectClassName(); $this->queryClassName = $builder->getQueryClassName(); $this->queryFullClassName = $builder->getStubQueryBuilder()->getFullyQualifiedClassName(); $this->tableMapClassName = $builder->getTableMapClassName(); }
/** * Gets the namespace for the [base] object classes. * * @return string */ public function getNamespace() { if ($namespace = parent::getNamespace()) { return $namespace . '\\Base'; } return 'Base'; }
public function getNamespace() { if ($namespace = parent::getNamespace()) { if ($this->getGeneratorConfig() && ($omns = $this->getGeneratorConfig()->getBuildProperty('namespaceOm'))) { return $namespace . '\\' . $omns; } else { return $namespace; } } }
/** * Uses a builder class to create the output class. * This method assumes that the DataModelBuilder class has been initialized with the build properties. * @param OMBuilder $builder * @param boolean $overwrite Whether to overwrite existing files with te new ones (default is YES). * @todo -cPropelOMTask Consider refactoring build() method into AbstractPropelDataModelTask (would need to be more generic). */ protected function build(AbstractOMBuilder $builder, $overwrite = true) { $path = $builder->getClassFilePath(); $this->ensureDirExists(dirname($path)); $_f = new PhingFile($this->getOutputDirectory(), $path); // skip files already created once if ($_f->exists() && !$overwrite) { $this->log("\t-> (exists) " . $builder->getClassFilePath(), Project::MSG_VERBOSE); return 0; } $script = $builder->build(); foreach ($builder->getWarnings() as $warning) { $this->log($warning, Project::MSG_WARN); } // skip unchanged files if ($_f->exists() && $script == $_f->contents()) { $this->log("\t-> (unchanged) " . $builder->getClassFilePath(), Project::MSG_VERBOSE); return 0; } // write / overwrite new / changed files $action = $_f->exists() ? 'Updating' : 'Creating'; $this->log(sprintf("\t-> %s %s (table: %s, builder: %s)", $action, $builder->getClassFilePath(), $builder->getTable()->getName(), get_class($builder))); file_put_contents($_f->getAbsolutePath(), $script); return 1; }
/** * This declare the class use and get the correct name to use (short classname, Alias, or FQCN) * * @param AbstractOMBuilder $builder * @param boolean $fqcn true to return the $fqcn classname * @return string ClassName, Alias or FQCN */ public function getClassNameFromBuilder($builder, $fqcn = false) { if ($fqcn) { return $builder->getFullyQualifiedClassName(); } $namespace = $builder->getNamespace(); $class = $builder->getUnqualifiedClassName(); if (isset($this->declaredClasses[$namespace]) && isset($this->declaredClasses[$namespace][$class])) { return $this->declaredClasses[$namespace][$class]; } return $this->declareClassNamespace($class, $namespace, true); }
/** * Uses a builder class to create the output class. * This method assumes that the DataModelBuilder class has been initialized * with the build properties. * * @param AbstractOMBuilder $builder * @param boolean $overwrite * @return int */ protected function doBuild(AbstractOMBuilder $builder, $overwrite = true) { $path = $builder->getClassFilePath(); $file = new \SplFileInfo($this->getWorkingDirectory() . DIRECTORY_SEPARATOR . $path); $this->filesystem->mkdir($file->getPath()); // skip files already created once if ($file->isFile() && !$overwrite) { $this->log("\t-> (exists) " . $builder->getClassFilePath()); return 0; } $script = $builder->build(); foreach ($builder->getWarnings() as $warning) { $this->log($warning); } // skip unchanged files if ($file->isFile() && $script == file_get_contents($file->getPathname())) { $this->log("\t-> (unchanged) " . $builder->getClassFilePath()); return 0; } // write / overwrite new / changed files $action = $file->isFile() ? 'Updating' : 'Creating'; $this->log(sprintf("\t-> %s %s (table: %s, builder: %s)", $action, $builder->getClassFilePath(), $builder->getTable()->getName(), get_class($builder))); file_put_contents($file->getPathname(), $script); return 1; }
/** * Checks whether any registered behavior on that table has a modifier for a hook * @param string $hookName The name of the hook as called from one of this class methods, e.g. "preSave" * @return boolean */ public function hasBehaviorModifier($hookName, $modifier = null) { return parent::hasBehaviorModifier($hookName, 'QueryBuilderModifier'); }
/** * @param self $builder * @param boolean|string $aliasPrefix the prefix for the Alias or True for auto generation of the Alias * @return string */ public function declareClassFromBuilder(self $builder, $aliasPrefix = false) { return $this->declareClassNamespacePrefix($builder->getUnqualifiedClassName(), $builder->getNamespace(), $aliasPrefix); }
public static function getRefRelatedBySuffix(ForeignKey $fk) { return parent::getRefRelatedBySuffix($fk); }
/** * @param \Propel\Generator\Builder\Om\AbstractOMBuilder $queryBuilder * @param string $fileName * * @return void */ protected function writePropelFile(AbstractOMBuilder $queryBuilder, $fileName) { $fileContent = $queryBuilder->build(); file_put_contents($fileName, $fileContent); }
/** * Gets the package for the [base] object classes. * @return string */ public function getPackage() { return $this->getChild()->getPackage() ? $this->getChild()->getPackage() : parent::getPackage(); }
public function getPackage() { return parent::getPackage(); }