/**
  * @param string $name
  * @param Studio $studio
  * @return Performer
  */
 public static function createByName($name, Studio $studio = null)
 {
     $do = new PerformerDataObject();
     $do->setName($name);
     $do->setStatus('A');
     $do->setStudioId(mt_rand());
     $performer = new Performer($do);
     if (is_null($studio)) {
         $studio = StudioFactory::createById($do->getStudioId());
     }
     $performer->setStudio($studio);
     return $performer;
 }
 public function run()
 {
     echo 'hello. application starts.' . PHP_EOL;
     $performer = PerformerFactory::createByName('adfax');
     echo sprintf(PHP_EOL . '%s performer created. Status: \'%s\'. Its studio\'s id is %s', $performer->getDo()->getName(), $performer->getDo()->getStatus(), $performer->getStudio()->getDo()->getId());
     $performer->reject();
     echo sprintf(PHP_EOL . 'performer status: \'%s\'', $performer->getDo()->getStatus());
     echo PHP_EOL . PHP_EOL . ' ****** ' . PHP_EOL;
     //*//
     $studio = StudioFactory::createByName('StudioNameXXX');
     echo PHP_EOL . '\'' . $studio->getDo()->getName() . '\' studio created and status: ' . $studio->getDo()->getStatus();
     $studio->addPerformer(PerformerFactory::createByName('aaaaa', $studio));
     $studio->addPerformer(PerformerFactory::createByName('bbbbb', $studio));
     $studio->addPerformer(PerformerFactory::createByName('cccccc', $studio));
     echo PHP_EOL . 'Perf num in studio: ' . $studio->getPerformerCount();
     $studio->reject();
     echo sprintf(PHP_EOL . 'studio status: \'%s\'', $studio->getDo()->getStatus());
     foreach ($studio->getPerformers() as $performer) {
         echo sprintf(PHP_EOL . '%s performer status: \'%s\'', $performer->getDo()->getName(), $performer->getDo()->getStatus());
     }
     //*/
 }