Source

cruge / interfaces / ICrugeField.php

<?php
/** ICrugeField

interfaz para inyectarle al ORDBM seleccionado los metodos a implementar relevante a campos
de perfil.

@author: Christian Salazar H. <christiansalazarh@gmail.com> @bluyell
@copyright Copyright &copy; 2008-2012 Yii Software LLC
@license http://www.yiiframework.com/license/
 */
interface ICrugeField
{

    /*
        devuelve un objeto que implementa a ICrugeField
    */
    public static function loadModel($id);

    public static function loadModelByName($name);

    /**
    devuelve un array de objetos que implementan a ICrugeField
     */
    public static function listModels();

    /* entrega un array con los nombres de los atributos clave para orden,
        colocar de primero el primaryKey
    */
    public static function getSortFieldNames();

    public function getRequiredName();


    /*
        debido a que varios atributos aqui son sensibles los espacios entonces
        se les hara trim a todos en el evento de CModel::onBeforeValidate()
    */
    public function onBeforeValidate($event);

    /**
    retorna el nombre de la tabla
     */
    public function tableName();

    /*
        devuelve "el valor" del indice primario
    */
    public function getPrimaryKey();

    public function setFieldValue($value);

    public function getFieldValue();

    /*
        hace una validacion de este campo
    */
    public function validateField();

    /*
        pregunta si este campo es visible en listas de usuario del administrador
    */
    public function isVisibleInAdminList();
}