/** * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject\AbstractProperty $domainProperty * @param string $methodType * @return string */ public static function getParamTag(AbstractProperty $domainProperty, $methodType) { switch ($methodType) { case 'set': return $domainProperty->getTypeForComment() . ' $' . $domainProperty->getName(); case 'add': /** @var $domainProperty \EBT\ExtensionBuilder\Domain\Model\DomainObject\Relation\AbstractRelation */ $paramTag = $domainProperty->getForeignClassName(); $paramTag .= ' $' . self::getParameterName($domainProperty, 'add'); return $paramTag; case 'remove': /** @var $domainProperty \EBT\ExtensionBuilder\Domain\Model\DomainObject\Relation\AbstractRelation */ $paramTag = $domainProperty->getForeignClassName(); $paramTag .= ' $' . self::getParameterName($domainProperty, 'remove'); $paramTag .= ' The ' . $domainProperty->getForeignModelName() . ' to be removed'; return $paramTag; } }
/** * * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject\AbstractProperty $oldProperty * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject\AbstractProperty $newProperty * * @return bool */ protected function relatedMethodsNeedUpdate($oldProperty, $newProperty) { if ($this->extensionRenamed) { return true; } if ($newProperty->getName() != $oldProperty->getName()) { $this->log('property renamed:' . $oldProperty->getName() . ' ' . $newProperty->getName()); return true; } if ($newProperty->getTypeForComment() != $this->updateExtensionKey($oldProperty->getTypeForComment())) { $this->log('property type changed from ' . $this->updateExtensionKey($oldProperty->getTypeForComment()) . ' to ' . $newProperty->getTypeForComment()); return true; } if ($newProperty->isRelation()) { /** @var $oldProperty \EBT\ExtensionBuilder\Domain\Model\DomainObject\Relation\AbstractRelation */ // if only the related domain object was renamed $previousClassName = $this->updateExtensionKey($oldProperty->getForeignClassName()); if ($this->getForeignClassName($newProperty) != $previousClassName) { $this->log('related domainObject was renamed:' . $previousClassName . ' ->' . $this->getForeignClassName($newProperty)); return true; } } }