Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00015 class PrimitiveList extends BasePrimitive implements ListedPrimitive
00016 {
00017 protected $list = array();
00018
00019 public function getChoiceValue()
00020 {
00021 if ($this->value !== null)
00022 return $this->list[$this->value];
00023
00024 return null;
00025 }
00026
00027 public function getActualChoiceValue()
00028 {
00029 if ($this->value !== null)
00030 return $this->list[$this->value];
00031
00032 return $this->list[$this->default];
00033 }
00034
00038 public function setDefault($default)
00039 {
00040 Assert::isTrue(
00041 $this->list
00042 && array_key_exists(
00043 $default,
00044 $this->list
00045 ),
00046
00047 'can not find element with such index'
00048 );
00049
00050 return parent::setDefault($default);
00051 }
00052
00053 public function getList()
00054 {
00055 return $this->list;
00056 }
00057
00061 public function setList($list)
00062 {
00063 $this->list = $list;
00064
00065 return $this;
00066 }
00067
00068 public function import($scope)
00069 {
00070 if (!parent::import($scope)) {
00071 return null;
00072 }
00073
00074 if (
00075 (
00076 is_string($scope[$this->name])
00077 || is_integer($scope[$this->name])
00078 )
00079 && array_key_exists($scope[$this->name], $this->list)
00080 ) {
00081 $this->value = $scope[$this->name];
00082
00083 return true;
00084 }
00085
00086 return false;
00087 }
00088 }
00089 ?>