summaryrefslogtreecommitdiff
path: root/demos/composer/protected/pages/ClassDefinition.php
diff options
context:
space:
mode:
Diffstat (limited to 'demos/composer/protected/pages/ClassDefinition.php')
-rw-r--r--demos/composer/protected/pages/ClassDefinition.php740
1 files changed, 370 insertions, 370 deletions
diff --git a/demos/composer/protected/pages/ClassDefinition.php b/demos/composer/protected/pages/ClassDefinition.php
index cb657e85..aee5fe6f 100644
--- a/demos/composer/protected/pages/ClassDefinition.php
+++ b/demos/composer/protected/pages/ClassDefinition.php
@@ -1,371 +1,371 @@
-<?php
-
-class ClassDefinition extends TComponent
-{
- private $_className='ClassName';
- private $_parentClass='TWebControl';
- private $_interfaces='';
- private $_properties=null;
- private $_events=null;
- private $_email='';
- private $_author='';
- private $_comments='';
-
- public function reset()
- {
- $this->_className='ClassName';
- $this->_parentClass='TWebControl';
- $this->_interfaces='';
- $this->_properties=new TList;
- $this->_events=new TList;
- $this->_email='';
- $this->_author='';
- $this->_comments='';
- }
-
- public function render($writer)
- {
- $this->renderComments($writer);
- $this->renderClass($writer);
- }
-
- protected function renderComments($writer)
- {
- $str ="/**\n";
- $str.=" * Class {$this->ClassName}.\n";
- if($this->Comments!=='')
- {
- $str.=" *\n";
- $str.=" * ".implode("\n * ",explode("\n",wordwrap($this->Comments)));
- $str.="\n *\n";
- }
- if($this->Author!=='')
- {
- $str.=" * @author {$this->Author}";
- if($this->Email!=='')
- $str.=" <{$this->Email}>";
- $str.="\n";
- }
- $str.=" * @version \$Revision: \$ \$Date: \$\n";
- $str.=" */\n";
- $writer->write($str);
- }
-
- protected function renderClass($writer)
- {
- $writer->write("class {$this->ClassName}");
- if($this->ParentClass!=='')
- $writer->write(" extends {$this->ParentClass}");
- if($this->Interfaces!=='')
- $writer->write(" implements {$this->Interfaces}");
- $writer->write("\n{\n");
- $this->renderVariables($writer);
- $this->renderProperties($writer);
- $this->renderEvents($writer);
- $writer->write("}\n");
- }
-
- private function getVariableName($propertyName)
- {
- return '_'.strtolower($propertyName[0]).substr($propertyName,1);
- }
-
- protected function renderVariables($writer)
- {
- foreach($this->Properties as $property)
- {
- if($property->Storage==='Memory')
- {
- $name=$this->getVariableName($property->Name);
- $value=$this->getValueAsString($property->DefaultValue,$property->Type);
- $writer->write("\t/**\n\t * @var {$property->Type} {$property->Comments}\n\t */\n");
- $writer->write("\tprivate \$$name=$value;\n");
- }
- }
- }
-
- private function getValueAsString($value,$type)
- {
- switch($type)
- {
- case 'integer':
- $value=TPropertyValue::ensureInteger($value);
- break;
- case 'float':
- $value=TPropertyValue::ensureFloat($value);
- break;
- case 'boolean':
- if(TPropertyValue::ensureBoolean($value))
- $value='true';
- else
- $value='false';
- break;
- case 'enumerable':
- $value="'$value'";
- break;
- case 'mixed':
- $value='null';
- break;
- case 'string':
- $value="'$value'";
- break;
- }
- return "$value";
- }
-
- private function getValueConversionString($type)
- {
- switch($type)
- {
- case 'integer': return 'TPropertyValue::ensureInteger($value)';
- case 'float': return 'TPropertyValue::ensureFloat($value)';
- case 'boolean': return 'TPropertyValue::ensureBoolean($value)';
- case 'enumerable': return 'TPropertyValue::ensureEnum($value)';
- case 'mixed': return '$value';
- case 'string': return 'TPropertyValue::ensureString($value)';
- }
- }
-
- protected function renderProperties($writer)
- {
- foreach($this->Properties as $property)
- {
- $name=$property->Name;
- if($name==='')
- continue;
- $comments=implode("\n\t * ",explode("\n",wordwrap($property->Comments)));
- $access=$property->IsProtected?'protected':'public';
- $setter='set'.$property->Name.'($value)';
- $getter='get'.$property->Name.'()';
- $value=$this->getValueAsString($property->DefaultValue,$property->Type);
- if($property->Storage==='ViewState')
- {
- $readStatement="return \$this->getViewState('$name',$value);";
- $writeStatement="\$this->setViewState('$name',".$this->getValueConversionString($property->Type).",$value);";
- }
- else if($property->Storage==='ControlState')
- {
- $readStatement="return \$this->getControlState('$name',$value);";
- $writeStatement="\$this->setControlState('$name',".$this->getValueConversionString($property->Type).",$value);";
- }
- else
- {
- $varname=$this->getVariableName($property->Name);
- $readStatement="return \$this->$varname;";
- $writeStatement="\$this->$varname=".$this->getValueConversionString($property->Type).";";
- }
- $writer->write("\n\t/**\n\t * @return {$property->Type} $comments Defaults to $value.\n\t */\n");
- $writer->write("\t$access function $getter\n\t{\n\t\t$readStatement\n\t}\n");
- if(!$property->ReadOnly)
- {
- $writer->write("\n\t/**\n\t * @param {$property->Type} $comments\n\t */\n");
- $writer->write("\t$access function $setter\n\t{\n\t\t$writeStatement\n\t}\n");
- }
- }
- }
-
- protected function renderEvents($writer)
- {
- foreach($this->Events as $event)
- {
- $name=$event->Name;
- if($name==='')
- continue;
- if(strncasecmp($name,'on',2)!==0)
- $name='On'.$name;
- else
- {
- $name[0]='O';
- $name[1]='n';
- }
- $methodName=$name;
- $methodName[0]='o';
- $comments=implode("\n\t * ",explode("\n",wordwrap($event->Comments)));
- $writer->write("\n\t/**\n\t * Raises <b>$name</b> event.\n\t * $comments\n\t * @param TEventParameter event parameter\n\t */\n");
- $writer->write("\tpublic function $methodName(\$param)\n\t{\n\t\t\$this->raiseEvent('$name',\$this,\$param);\n\t}\n");
- }
- }
-
- public function getClassName()
- {
- return $this->_className;
- }
-
- public function setClassName($value)
- {
- $this->_className=trim($value);
- }
-
- public function getParentClass()
- {
- return $this->_parentClass;
- }
-
- public function setParentClass($value)
- {
- $this->_parentClass=trim($value);
- }
-
- public function getInterfaces()
- {
- return $this->_interfaces;
- }
-
- public function setInterfaces($value)
- {
- $this->_interfaces=$value;
- }
-
- public function getProperties()
- {
- if(!$this->_properties)
- $this->_properties=new TList;
- return $this->_properties;
- }
-
- public function getEvents()
- {
- if(!$this->_events)
- $this->_events=new TList;
- return $this->_events;
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-
- public function getAuthor()
- {
- return $this->_author;
- }
-
- public function setAuthor($value)
- {
- $this->_author=trim($value);
- }
-
- public function getEmail()
- {
- return $this->_email;
- }
-
- public function setEmail($value)
- {
- $this->_email=trim($value);
- }
-}
-
-class EventDefinition extends TComponent
-{
- private $_name='';
- private $_comments='';
-
- public function getName()
- {
- return $this->_name;
- }
-
- public function setName($value)
- {
- $this->_name=ucfirst(trim($value));
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-}
-
-class PropertyDefinition extends TComponent
-{
- private $_name='';
- private $_type='string';
- private $_default='';
- private $_readOnly=false;
- private $_protected=false;
- private $_storage='ViewState';
- private $_comments='';
-
- public function getName()
- {
- return $this->_name;
- }
-
- public function setName($value)
- {
- $this->_name=ucfirst(trim($value));
- }
-
- public function getType()
- {
- return $this->_type;
- }
-
- public function setType($value)
- {
- $this->_type=trim($value);
- }
-
- public function getDefaultValue()
- {
- return $this->_default;
- }
-
- public function setDefaultValue($value)
- {
- $this->_default=trim($value);
- }
-
- public function getReadOnly()
- {
- return $this->_readOnly;
- }
-
- public function setReadOnly($value)
- {
- $this->_readOnly=TPropertyValue::ensureBoolean($value);
- }
-
- public function getIsProtected()
- {
- return $this->_protected;
- }
-
- public function setIsProtected($value)
- {
- $this->_protected=TPropertyValue::ensureBoolean($value);
- }
-
- public function getStorage()
- {
- return $this->_storage;
- }
-
- public function setStorage($value)
- {
- $this->_storage=trim($value);
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-}
-
+<?php
+
+class ClassDefinition extends TComponent
+{
+ private $_className='ClassName';
+ private $_parentClass='TWebControl';
+ private $_interfaces='';
+ private $_properties=null;
+ private $_events=null;
+ private $_email='';
+ private $_author='';
+ private $_comments='';
+
+ public function reset()
+ {
+ $this->_className='ClassName';
+ $this->_parentClass='TWebControl';
+ $this->_interfaces='';
+ $this->_properties=new TList;
+ $this->_events=new TList;
+ $this->_email='';
+ $this->_author='';
+ $this->_comments='';
+ }
+
+ public function render($writer)
+ {
+ $this->renderComments($writer);
+ $this->renderClass($writer);
+ }
+
+ protected function renderComments($writer)
+ {
+ $str ="/**\n";
+ $str.=" * Class {$this->ClassName}.\n";
+ if($this->Comments!=='')
+ {
+ $str.=" *\n";
+ $str.=" * ".implode("\n * ",explode("\n",wordwrap($this->Comments)));
+ $str.="\n *\n";
+ }
+ if($this->Author!=='')
+ {
+ $str.=" * @author {$this->Author}";
+ if($this->Email!=='')
+ $str.=" <{$this->Email}>";
+ $str.="\n";
+ }
+ $str.=" * @version \$Revision: \$ \$Date: \$\n";
+ $str.=" */\n";
+ $writer->write($str);
+ }
+
+ protected function renderClass($writer)
+ {
+ $writer->write("class {$this->ClassName}");
+ if($this->ParentClass!=='')
+ $writer->write(" extends {$this->ParentClass}");
+ if($this->Interfaces!=='')
+ $writer->write(" implements {$this->Interfaces}");
+ $writer->write("\n{\n");
+ $this->renderVariables($writer);
+ $this->renderProperties($writer);
+ $this->renderEvents($writer);
+ $writer->write("}\n");
+ }
+
+ private function getVariableName($propertyName)
+ {
+ return '_'.strtolower($propertyName[0]).substr($propertyName,1);
+ }
+
+ protected function renderVariables($writer)
+ {
+ foreach($this->Properties as $property)
+ {
+ if($property->Storage==='Memory')
+ {
+ $name=$this->getVariableName($property->Name);
+ $value=$this->getValueAsString($property->DefaultValue,$property->Type);
+ $writer->write("\t/**\n\t * @var {$property->Type} {$property->Comments}\n\t */\n");
+ $writer->write("\tprivate \$$name=$value;\n");
+ }
+ }
+ }
+
+ private function getValueAsString($value,$type)
+ {
+ switch($type)
+ {
+ case 'integer':
+ $value=TPropertyValue::ensureInteger($value);
+ break;
+ case 'float':
+ $value=TPropertyValue::ensureFloat($value);
+ break;
+ case 'boolean':
+ if(TPropertyValue::ensureBoolean($value))
+ $value='true';
+ else
+ $value='false';
+ break;
+ case 'enumerable':
+ $value="'$value'";
+ break;
+ case 'mixed':
+ $value='null';
+ break;
+ case 'string':
+ $value="'$value'";
+ break;
+ }
+ return "$value";
+ }
+
+ private function getValueConversionString($type)
+ {
+ switch($type)
+ {
+ case 'integer': return 'TPropertyValue::ensureInteger($value)';
+ case 'float': return 'TPropertyValue::ensureFloat($value)';
+ case 'boolean': return 'TPropertyValue::ensureBoolean($value)';
+ case 'enumerable': return 'TPropertyValue::ensureEnum($value)';
+ case 'mixed': return '$value';
+ case 'string': return 'TPropertyValue::ensureString($value)';
+ }
+ }
+
+ protected function renderProperties($writer)
+ {
+ foreach($this->Properties as $property)
+ {
+ $name=$property->Name;
+ if($name==='')
+ continue;
+ $comments=implode("\n\t * ",explode("\n",wordwrap($property->Comments)));
+ $access=$property->IsProtected?'protected':'public';
+ $setter='set'.$property->Name.'($value)';
+ $getter='get'.$property->Name.'()';
+ $value=$this->getValueAsString($property->DefaultValue,$property->Type);
+ if($property->Storage==='ViewState')
+ {
+ $readStatement="return \$this->getViewState('$name',$value);";
+ $writeStatement="\$this->setViewState('$name',".$this->getValueConversionString($property->Type).",$value);";
+ }
+ else if($property->Storage==='ControlState')
+ {
+ $readStatement="return \$this->getControlState('$name',$value);";
+ $writeStatement="\$this->setControlState('$name',".$this->getValueConversionString($property->Type).",$value);";
+ }
+ else
+ {
+ $varname=$this->getVariableName($property->Name);
+ $readStatement="return \$this->$varname;";
+ $writeStatement="\$this->$varname=".$this->getValueConversionString($property->Type).";";
+ }
+ $writer->write("\n\t/**\n\t * @return {$property->Type} $comments Defaults to $value.\n\t */\n");
+ $writer->write("\t$access function $getter\n\t{\n\t\t$readStatement\n\t}\n");
+ if(!$property->ReadOnly)
+ {
+ $writer->write("\n\t/**\n\t * @param {$property->Type} $comments\n\t */\n");
+ $writer->write("\t$access function $setter\n\t{\n\t\t$writeStatement\n\t}\n");
+ }
+ }
+ }
+
+ protected function renderEvents($writer)
+ {
+ foreach($this->Events as $event)
+ {
+ $name=$event->Name;
+ if($name==='')
+ continue;
+ if(strncasecmp($name,'on',2)!==0)
+ $name='On'.$name;
+ else
+ {
+ $name[0]='O';
+ $name[1]='n';
+ }
+ $methodName=$name;
+ $methodName[0]='o';
+ $comments=implode("\n\t * ",explode("\n",wordwrap($event->Comments)));
+ $writer->write("\n\t/**\n\t * Raises <b>$name</b> event.\n\t * $comments\n\t * @param TEventParameter event parameter\n\t */\n");
+ $writer->write("\tpublic function $methodName(\$param)\n\t{\n\t\t\$this->raiseEvent('$name',\$this,\$param);\n\t}\n");
+ }
+ }
+
+ public function getClassName()
+ {
+ return $this->_className;
+ }
+
+ public function setClassName($value)
+ {
+ $this->_className=trim($value);
+ }
+
+ public function getParentClass()
+ {
+ return $this->_parentClass;
+ }
+
+ public function setParentClass($value)
+ {
+ $this->_parentClass=trim($value);
+ }
+
+ public function getInterfaces()
+ {
+ return $this->_interfaces;
+ }
+
+ public function setInterfaces($value)
+ {
+ $this->_interfaces=$value;
+ }
+
+ public function getProperties()
+ {
+ if(!$this->_properties)
+ $this->_properties=new TList;
+ return $this->_properties;
+ }
+
+ public function getEvents()
+ {
+ if(!$this->_events)
+ $this->_events=new TList;
+ return $this->_events;
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+
+ public function getAuthor()
+ {
+ return $this->_author;
+ }
+
+ public function setAuthor($value)
+ {
+ $this->_author=trim($value);
+ }
+
+ public function getEmail()
+ {
+ return $this->_email;
+ }
+
+ public function setEmail($value)
+ {
+ $this->_email=trim($value);
+ }
+}
+
+class EventDefinition extends TComponent
+{
+ private $_name='';
+ private $_comments='';
+
+ public function getName()
+ {
+ return $this->_name;
+ }
+
+ public function setName($value)
+ {
+ $this->_name=ucfirst(trim($value));
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+}
+
+class PropertyDefinition extends TComponent
+{
+ private $_name='';
+ private $_type='string';
+ private $_default='';
+ private $_readOnly=false;
+ private $_protected=false;
+ private $_storage='ViewState';
+ private $_comments='';
+
+ public function getName()
+ {
+ return $this->_name;
+ }
+
+ public function setName($value)
+ {
+ $this->_name=ucfirst(trim($value));
+ }
+
+ public function getType()
+ {
+ return $this->_type;
+ }
+
+ public function setType($value)
+ {
+ $this->_type=trim($value);
+ }
+
+ public function getDefaultValue()
+ {
+ return $this->_default;
+ }
+
+ public function setDefaultValue($value)
+ {
+ $this->_default=trim($value);
+ }
+
+ public function getReadOnly()
+ {
+ return $this->_readOnly;
+ }
+
+ public function setReadOnly($value)
+ {
+ $this->_readOnly=TPropertyValue::ensureBoolean($value);
+ }
+
+ public function getIsProtected()
+ {
+ return $this->_protected;
+ }
+
+ public function setIsProtected($value)
+ {
+ $this->_protected=TPropertyValue::ensureBoolean($value);
+ }
+
+ public function getStorage()
+ {
+ return $this->_storage;
+ }
+
+ public function setStorage($value)
+ {
+ $this->_storage=trim($value);
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+}
+
?> \ No newline at end of file