/** * Constructor * * @param \DCarbone\PHPFHIR\ClassGenerator\Template\Property\BasePropertyTemplate $propertyTemplate */ public function __construct(BasePropertyTemplate $propertyTemplate) { if ($propertyTemplate->isCollection()) { $name = sprintf('add%s', NameUtils::getPropertyMethodName($propertyTemplate->getName())); } else { $name = sprintf('set%s', NameUtils::getPropertyMethodName($propertyTemplate->getName())); } parent::__construct($name, new PHPScopeEnum(PHPScopeEnum::_PUBLIC)); $this->setDocumentation($propertyTemplate->getDocumentation()); $this->setReturnValueType('$this'); $this->setReturnStatement('$this'); }
/** * Constructor * * @param \DCarbone\PHPFHIR\ClassGenerator\Template\Property\BasePropertyTemplate $propertyTemplate */ public function __construct(BasePropertyTemplate $propertyTemplate) { $name = sprintf('get%s', NameUtils::getPropertyMethodName($propertyTemplate->getName())); parent::__construct($name); $this->setDocumentation($propertyTemplate->getDocumentation()); $this->_property = $propertyTemplate; }
/** * @param \DCarbone\PHPFHIR\ClassGenerator\Template\Property\BasePropertyTemplate $propertyTemplate * @return SetterMethodTemplate */ public static function createSetter(BasePropertyTemplate $propertyTemplate) { $paramTemplate = new PropertyParameterTemplate($propertyTemplate); if ($propertyTemplate->isCollection()) { $methodBody = sprintf('$this->%s[] = %s;', $propertyTemplate->getName(), NameUtils::getPropertyVariableName($paramTemplate->getProperty()->getName())); } else { $methodBody = sprintf('$this->%s = %s;', $propertyTemplate->getName(), NameUtils::getPropertyVariableName($paramTemplate->getProperty()->getName())); } $setterTemplate = new SetterMethodTemplate($propertyTemplate); $setterTemplate->addParameter($paramTemplate); $setterTemplate->addLineToBody($methodBody); return $setterTemplate; }
/** * Constructor * * @param BasePropertyTemplate $propertyTemplate */ public function __construct(BasePropertyTemplate $propertyTemplate) { parent::__construct($propertyTemplate->getName(), $propertyTemplate->getPHPType()); $this->_property = $propertyTemplate; }
/** * @param BasePropertyTemplate $property */ public function addProperty(BasePropertyTemplate $property) { $this->_properties[$property->getName()] = $property; }