Esempio n. 1
0
 /**
  * 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');
 }
Esempio n. 2
0
 /**
  * @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;
 }