class Db_Object_Config (Хелпер ORM)

Db_Object_Config  — хелпер, хранящий структуру данных  Db_Object, используется для получения детализированной информации о структуре объекта, содержит системные свойства для управления структурой объекта (используются административным интерфейсом).

class Db_Object_Config{

const LINK_OBJECT = 'object';
const LINK_OBJECT_LIST = 'multy';

/**
* Имя подключения к базе данных по умолчанию
*/	 	 	 	
const DEFAULT_CONNECTION = 'default';

/**
 * Инстанцировать структуру данных для объектов с именем $name
 * @param string $name - object name
 * @return Db_Object_Config
 */
static public function getInstance($name)

/**
 * Перезагрузить свойства
 */	 	 	 	
public function reloadProperties()

/**
 * Установить адаптер локализации
 * @param Db_Object_Congig_Translator $translator
 */
static public function setTranslator(Db_Object_Config_Translator $translator)

/**
 * Установить директорию файлов конфигурации объектов
 * @param string $path
 * @throws Exception
 * @return void
 */
static public function setConfigPath($path)

/**
 * Получить директорию файлов конфигурации объектов
 * @return string
 */
static public function getConfigPath()

/**
 * Поличить имя объекта для которого предназначен хелпер
 * @return string
 */
public function getName()

/**
 * Получить имя таблицы базы данных, в которой хрянятся данные объекта  
 * @param boolean $withPrefix - флаг, возвращать с префиксом
 * @return string
 * @deprecated c 0.9.1
 */
public function getTable($withPrefix = true)

/**
 * Получить список полей которые будут использованы для поиска
 * @return array
 */
public function getSearchFields()

/**
 * Получить элемент конфигурации по ключу
 * @param string $key
 */
public function get($key)

/**
 * Проверить используется ли версионный контроль
 */
public function isRevControl()

/**
 * Получить список индексов (из файла конфигурации)
 * @property boolean $includeSystem -optional default = true
 * @return array
 */
public function getIndexesConfig($includeSystem = true)

/**
 * Получить настройки поля
 * @param string $field - имя поля
 * @throws Exception
 * @return array
 */
public function getFieldConfig($field)

/**
 * Получить настройки индекса
 * @param string $index
 * @throws Exception
 * @return array
 */
public function getIndexConfig($index)

/**
 * Получить настройки полей
 * @property boolean $includeSystem -optional default = true
 * @return array
 */
public function getFieldsConfig($includeSystem = true)
/**
 * Получить настройки системных полей (c 0.9.1)
 * @return array
 */
public function getSystemFieldsConfig()

/**
 * Проверить является ли поле ссылкой с типом  multilink (ссылка на список объектов одного типа)
 * @param string $field
 * @throws Exception
 * @return boolean
 */
public function isMultiLink($field)

/**
 * Получить имя объекта на который ссылается поле
 * @param string $field
 * @return string or false on error
 */
public function getLinkedObject($field)

/**
 * Получить имя словаря на который ссылается поле
 * @param string $field
 * @return string or false on error
 */
public function getLinkedDictionary($field)

/**
 * Проверить, является ли поле ссылкой
 * @param string $field
 * @return boolean
 */
public function isLink($field)

/**
 * Проверить, является ли поле ссылкой на словарь
 * @param string $field
 * @return boolean
 */
public function isDictionaryLink($field)

/**
 * Получить тип поля в базе данных
 * @param string $field
 * @return string
 */
public function getDbType($field)

/**
 * Получить список полей которые указывают на внешние объекты
 * @param array $linkTypes - optional link type filter
 * @return array field => link_config
 */
public function getLinks($linkTypes = array('object','multy'))

/**
 * Проверить должно ли значение поля быть уникальным
 * @param string $field
 * @return boolen
 */
public function isUnique($field)

/**
 * Проверить является ли поле булевым типом
 * @param string $field
 * @return boolean
 */
public function isBoolean($field)

/**
 * Проверить является ли поле текстовым типом
 * @param string $field
 * @return boolean
 */
public function isText($field)

/**
 * Проверить является ли значение поля обязательным для заполнения
 * @param string $field
 * @return boolean
 */
public function isRequired($field)

/**
 * Проверить существует ли поле объекта
 * @param string $field
 */
public function fieldExists($field)

/**
 * Проверить существует ли индекс
 * @param string $index
 * @return boolean
 */
public function indexExists($index)

/**
 * Получить имя класса валидатора поля
 * @param string $field
 * @return mixed string class name / boolean false
 */
public function getValidator($field)

/**
 * Преобразовать настройки в массив
 * @return array
 */
public function __toArray()

/**
 * Получить локализированый заголовок для типа объекта
 * @return string
 */
public function getTitle()

/**
 * Установить локализованый заголовок типа объекта
 * @param string $title
 */
public function setObjectTitle($title)

/**
 * Получить имя поля, данные которого служат заголовком
 * объекта при отображении связей объектов
 * @return string
 */
public function getLinkTitle()

/**
 * Проверить доступно ли использование транзакций для операций с объектом
 * @return boolean
 */
public function isTransact()

/**
 * Сохранить настройки объекта
 */
public function save()

/**
 * Заменить настройки объекта массивом
 * @param array $data
 */
public function setData(array $data)

/**
 * Установить настройки поля
 * @param string $field
 * @param array $config
 */
public function setFieldconfig($field , array $config)

/**
 * Обновить настройку ссылки для поля, 
 * заменить имя объекта на которое ссылается поле
 * @param string $field
 * @param string $linkedObject
 * @return boolean
 */
public function setFieldLink($field , $linkedObject)

/**
 * Установить настройки индекса
 * @param string $index
 * @param array $config
 */
public function setIndexConfig($index , array $config)

/**
 * Переименовать поле, перестроить базу данных
 * @param string $oldname
 * @param string $newName
 * @return boolean
 */
public function renameField($oldName , $newName)

/**
 * Удалить поле
 * @param string $name
 */
public function removeField($name)

/**
 * Удалить индекс
 * @param string $name
 */
public function removeIndex($name)

/**
 * Get Config object
 * @return Config_Abstract
 */
public function getConfig()

/**
 * Проверить является ли объект системным
 * @return boolean
 */
public function isSystem()

/**
 * Проверить использует ли объект системным
 * @return boolean
 */
public function isSystem()

/**
 * Проверить определен ли файл конфигурации для объекта
 * (доступно с версии  0.9)
 * @param string $name
 * @return boolean
 */
static public function configExists($name)

/**
 * Получить конфигурацию системных полей объекта
 * (доступно с версии  0.9)
 * @return array
 */
public function getSystemFieldsConfig()

/**
 * Проверить является ли поле ссылкой на объект
 * (доступно с версии  0.9)
 * @param string $field
 * @throws Exception
 * @return boolean
 */
public function isObjectLink($field)

/** 
 * Проверить разрешен ли html код (теги)
 * (доступно с версии  0.9)
 * @param string $field
 * @return boolean
 */
public function isHtml($field)

/**
 * Проверить пишет ли объект историю изменений
 * (доступно с версии  0.9)
 * @return boolean
 */
public function hasHistory()

/** 
 * Проверить является ли поле числовым
 * (доступно с версии  0.9)
 * @param string $field
 * @return boolean
 */
public function isNumeric($field)

/**
 * Проверить является ли поле целым
 * (доступно с версии  0.9)
 * @param string $field
 * @return boolean
 */
public function isInteger($field)

/**
 * Проверить является ли поле числом с плавающей точкой
 * (доступно с версии  0.9)
 * @param string $field
 * @return boolean
 */
public function isFloat($field)

/**
 * Проверить резрешено ли изменение структуры объета
 * (перестроение таблицы базы данных) (c 0.9.1)
 * @return boolean
 */
public function isLocked()
/**
 * Проверить резрешена ли запись данных (c 0.9.1)
 * @return boolean
 */
public function isReadonly()
	 	 	 	
/**
 * Получить список внешных ключей
 * (доступно с версии  0.9)
 * @return array
 * array(
 * 	array(
 *              'curDb' => string,
 * 		'curObject' => string,
 * 		'curTable' => string,
 *		'curField'=> string,
 *		'isNull'=> boolean,
 *		'toDb'=> string,
 *		'toObject'=> string,
 *		'toTable'=> string,
 *		'toField'=> string,
 *              'onUpdate'=> string
 *              'onDelete'=> string
 *             ),
 * 		...
 * )
 */
public function getForeignKeys()

/**
 * Проверить может ли быть использован внешний ключ
 * (доступно с версии  0.9)
 * @return boolean
 */
public function canUseForeignKeys()

/**
 * Сервисная заглушка, получить имя поля являющегося первичным ключом
 * (доступно с версии 0.9)
 * @return string
 */
public function getPrimaryKey()

/**
* Установить адаптер локализации
* @param Db_Object_Config_Translator $translator
*/
static public function setTranslator(Db_Object_Config_Translator $translator)

/**
 *  Получить адаптер локализации
 * @return Db_Object_Config_Translator
 */
static public function getTranslator()

/**
 * Получить значение по умолчанию для поля. Внимание при отсутствии возвращает false
 * (доступно с версии 0.9.2.5)
 * @return string | false
 */
public function getDefault($field)

/**
* Проверить установлено ли для поля значение по умолчанию
* (доступно с версии 0.9.2.5)
* @return boolean
*/
public function hasDefault($field)

/**
 * Проверить является ли поле числовым беззнаковым
 * (доступно с версии 0.9.2.5)
 * @param string $field
 * @return boolean
 */
public function isUnsigned($field)

/**
 *  Установить путь к папке с конфигурационными объектами
 * @param string $path
 * @throws Exception
 * @return void
 */
static public function setConfigPath($path)
 
/**
 * Получить путь к конфигурациям
 * @return string
 */
static public function getConfigPath()
}

comments powered by Disqus