示例#1
0
 /**
  * Sets the id
  * @param int|Object $arg0
  */
 function setId($arg0)
 {
     if ($this->getIdType() == self::ID_TYPE_MONGO) {
         if (is_string($arg0) && \MongoId::isValid($arg0)) {
             parent::setId(new \MongoId($arg0));
         } else {
             if ($arg0 instanceof \MongoId) {
                 parent::setId($arg0);
             } else {
                 if (is_null($arg0)) {
                     parent::setId($arg0);
                 } else {
                     if (is_string($arg0) && trim($arg0) == '') {
                         parent::setId(null);
                     } else {
                         if (is_int($arg0) && $arg0 == 0) {
                             parent::setId(null);
                         } else {
                             try {
                                 throw new \Exception('Invalid ID set: ' . var_export($arg0, true));
                             } catch (\Exception $e) {
                                 \Mojavi\Logging\LoggerManager::error(__METHOD__ . " :: " . $e->getTraceAsString());
                             }
                             parent::setId(null);
                         }
                     }
                 }
             }
         }
     } else {
         if ($this->getIdType() == self::ID_TYPE_STRING) {
             if (is_string($arg0)) {
                 parent::setId($arg0);
             } else {
                 if ($arg0 instanceof \MongoId) {
                     parent::setId((string) $arg0);
                 } else {
                     if (is_null($arg0)) {
                         parent::setId($arg0);
                     } else {
                         if (is_string($arg0) && trim($arg0) == '') {
                             parent::setId(null);
                         } else {
                             if (is_int($arg0) && $arg0 == 0) {
                                 parent::setId(null);
                             } else {
                                 try {
                                     throw new \Exception('Invalid ID set: ' . var_export($arg0, true));
                                 } catch (\Exception $e) {
                                     \Mojavi\Logging\LoggerManager::error(__METHOD__ . " :: " . $e->getTraceAsString());
                                 }
                                 parent::setId(null);
                             }
                         }
                     }
                 }
             }
         }
     }
 }