/**
  * Get Spec object
  *
  * @return CMbFieldSpec
  */
 function getSpecObject()
 {
     CBoolSpec::$_default_no = false;
     $this->_spec_object = @CMbFieldSpecFact::getSpecWithClassName("CExObject", $this->name, $this->prop);
     CBoolSpec::$_default_no = true;
     return $this->_spec_object;
 }
 /**
  * Sets the CExClass ID of $this
  * The CExLinks are not declared as backrefs as it's not compatible with CExObject
  *
  * @param ref $ex_class_id CExClass ID
  *
  * @return void
  */
 function setExClass($ex_class_id = null)
 {
     if ($ex_class_id) {
         $this->_ex_class_id = $ex_class_id;
     }
     if ($this->_specs_already_set || !$this->_ex_class_id && !$this->_own_ex_class_id) {
         return;
     }
     if (CExObject::$_locales_cache_enabled) {
         self::initLocales();
     }
     $this->_props = $this->getProps();
     CBoolSpec::$_default_no = false;
     $this->_specs = @$this->getSpecs();
     // when creating the field
     CBoolSpec::$_default_no = true;
     $ex_class = $this->_ref_ex_class;
     $this->_class = "CExObject_{$ex_class->_id}";
     $this->_own_ex_class_id = $ex_class->_id;
     $this->_ref_ex_class = $ex_class;
     $this->_specs_already_set = true;
 }