Ejemplo n.º 1
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Date') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Date');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_DATE));
 }
Ejemplo n.º 2
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Boolean') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Boolean');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_ENUM, null, null, array('value' => array(self::TRUE_ENUM, self::FALSE_ENUM))));
 }
Ejemplo n.º 3
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Text') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Text');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_TEXT, null, null, array('size' => null)));
 }
Ejemplo n.º 4
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Char') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Char');
     }
     if (!$field->getOption('size')) {
         throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'size');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_TEXT));
 }
Ejemplo n.º 5
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Enum') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Enum');
     }
     if (!$field->getOption('value')) {
         throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'value');
     }
     if (!is_array($field->getOption('value'))) {
         throw new pdoMap_Database_Fields_Exceptions_BadOption($field, 'value');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_ENUM));
 }
Ejemplo n.º 6
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field  
  * @throw pdoMap_Database_Fields_Exceptions_BadType                            
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Integer') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Integer');
     }
     if (!$field->getOption('size')) {
         $field->setOption('size', self::DEFAULT_SIZE);
     }
     if (!in_array($field->getOption('size'), self::$SIZE_LIST)) {
         throw new pdoMap_Database_Fields_Exceptions_BadOption($field, 'size');
     }
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_INT));
 }
Ejemplo n.º 7
0
 /**
  * Get database field definition
  * @params pdoMap_Mapping_Metadata_Field Field to manage
  * @returns array of pdoMap_Mapping_Metadata_Field                     
  */
 public function getMeta(pdoMap_Mapping_Metadata_Field $field)
 {
     if ($field->type != 'Foreign') {
         throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Foreign');
     }
     // CHECK ADAPTER
     if (!$field->getOption('adapter')) {
         throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'adapter');
     }
     // TRY ADAPTER
     pdoMap::config()->mapping($field->getOption('adapter'));
     // RETURN FK
     return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_FK));
 }