コード例 #1
0
 /**
  *
  * @param \blaze\lang\Reflectable $object
  * @todo implement a working version(recursive writeObjectOverride!)
  */
 public function writeObjectOverride(\blaze\lang\Reflectable $object)
 {
     if (!$object instanceof \blaze\io\Serializable) {
         throw new \blaze\io\NotSerializableException();
     }
     $class = $object->getClass();
     $method = $class->getMethod('writeObject');
     if ($method != null) {
         $className = $class->getName();
         $ser = 'O:' . $className->length() . ':"' . $className->toNative() . '":';
         $this->current = $object;
         $method->invoke($object, $this);
         $this->current = null;
     } else {
         $this->out->write(serialize($object));
     }
 }
コード例 #2
0
ファイル: Properties.php プロジェクト: robo47/BlazeFramework
 /**
  * Whether loaded properties array contains specified property name.
  * @return boolean
  */
 public function containsKey(\blaze\lang\Reflectable $key)
 {
     return isset($this->properties[$key->toString()->toNative()]);
 }
コード例 #3
0
ファイル: Stack.php プロジェクト: robo47/BlazeFramework
 public function indexOf(\blaze\lang\Reflectable $obj)
 {
     foreach ($this->data as $key => $element) {
         if ($obj->equals($element)) {
             return $key;
         }
     }
     return -1;
 }
コード例 #4
0
ファイル: ArrayList.php プロジェクト: robo47/BlazeFramework
 public function lastIndexOf(\blaze\lang\Reflectable $obj)
 {
     for ($i = $this->size - 1; $i >= 0; $i--) {
         if ($obj->equals($this->elementData[$i])) {
             return $i;
         }
     }
     return -1;
 }