Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** Core interfaces essential for TApplication class.** @author Qiang Xue <qiang.xue@gmail.com>* @link http://www.pradosoft.com/* @copyright Copyright © 2005-2008 PradoSoft* @license http://www.pradosoft.com/license/* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System*//*** IModule interface.** This interface must be implemented by application modules.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IModule{/*** Initializes the module.* @param TXmlElement the configuration for the module*/public function init($config);/*** @return string ID of the module*/public function getID();/*** @param string ID of the module*/public function setID($id);}/*** IService interface.** This interface must be implemented by services.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IService{/*** Initializes the service.* @param TXmlElement the configuration for the service*/public function init($config);/*** @return string ID of the service*/public function getID();/*** @param string ID of the service*/public function setID($id);/*** @return boolean whether the service is enabled*/public function getEnabled();/*** @param boolean whether the service is enabled*/public function setEnabled($value);/*** Runs the service.*/public function run();}/*** ITextWriter interface.** This interface must be implemented by writers.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface ITextWriter{/*** Writes a string.* @param string string to be written*/public function write($str);/*** Flushes the content that has been written.*/public function flush();}/*** IUser interface.** This interface must be implemented by user objects.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IUser{/*** @return string username*/public function getName();/*** @param string username*/public function setName($value);/*** @return boolean if the user is a guest*/public function getIsGuest();/*** @param boolean if the user is a guest*/public function setIsGuest($value);/*** @return array list of roles that the user is of*/public function getRoles();/*** @return array|string list of roles that the user is of. If it is a string, roles are assumed by separated by comma*/public function setRoles($value);/*** @param string role to be tested* @return boolean whether the user is of this role*/public function isInRole($role);/*** @return string user data that is serialized and will be stored in session*/public function saveToString();/*** @param string user data that is serialized and restored from session* @return IUser the user object*/public function loadFromString($string);}/*** IStatePersister class.** This interface must be implemented by all state persister classes (such as* {@link TPageStatePersister}, {@link TApplicationStatePersister}.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IStatePersister{/*** Loads state from a persistent storage.* @return mixed the state*/public function load();/*** Saves state into a persistent storage.* @param mixed the state to be saved*/public function save($state);}/*** ICache interface.** This interface must be implemented by cache managers.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface ICache{/*** Retrieves a value from cache with a specified key.* @param string a key identifying the cached value* @return mixed the value stored in cache, false if the value is not in the cache or expired.*/public function get($id);/*** Stores a value identified by a key into cache.* If the cache already contains such a key, the existing value and* expiration time will be replaced with the new ones.** @param string the key identifying the value to be cached* @param mixed the value to be cached* @param integer the number of seconds in which the cached value will expire. 0 means never expire.* @param ICacheDependency dependency of the cached item. If the dependency changes, the item is labelled invalid.* @return boolean true if the value is successfully stored into cache, false otherwise*/public function set($id,$value,$expire=0,$dependency=null);/*** Stores a value identified by a key into cache if the cache does not contain this key.* Nothing will be done if the cache already contains the key.* @param string the key identifying the value to be cached* @param mixed the value to be cached* @param integer the number of seconds in which the cached value will expire. 0 means never expire.* @param ICacheDependency dependency of the cached item. If the dependency changes, the item is labelled invalid.* @return boolean true if the value is successfully stored into cache, false otherwise*/public function add($id,$value,$expire=0,$dependency=null);/*** Deletes a value with the specified key from cache* @param string the key of the value to be deleted* @return boolean if no error happens during deletion*/public function delete($id);/*** Deletes all values from cache.* Be careful of performing this operation if the cache is shared by multiple applications.*/public function flush();}/*** ICacheDependency interface.** This interface must be implemented by classes meant to be used as* cache dependencies.** Classes implementing this interface must support serialization and unserialization.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface ICacheDependency{/*** @return boolean whether the dependency has changed. Defaults to false.*/public function getHasChanged();}/*** IRenderable interface.** This interface must be implemented by classes that can be rendered* to end-users.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IRenderable{/*** Renders the component to end-users.* @param ITextWriter writer for the rendering purpose*/public function render($writer);}/*** IBindable interface.** This interface must be implemented by classes that are capable of performing databinding.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.0*/interface IBindable{/*** Performs databinding.*/public function dataBind();}/*** IStyleable interface.** This interface should be implemented by classes that support CSS styles.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.1.0*/interface IStyleable{/*** @return boolean whether the object has defined any style information*/public function getHasStyle();/*** @return TStyle the object representing the css style of the object*/public function getStyle();/*** Removes all styles associated with the object*/public function clearStyle();}/*** IActiveControl interface.** Active controls must implement IActiveControl interface.** @author Wei Zhuo <weizhuo[at]gamil[dot]com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.1*/interface IActiveControl{/*** @return TBaseActiveControl Active control properties.*/public function getActiveControl();}/*** ICallbackEventHandler interface.** If a control wants to respond to callback event, it must implement this* interface.** @author Wei Zhuo <weizhuo[at]gamil[dot]com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.1*/interface ICallbackEventHandler{/*** Raises callback event. The implementation of this function should raise* appropriate event(s) (e.g. OnClick, OnCommand) indicating the component* is responsible for the callback event.* @param TCallbackEventParameter the parameter associated with the callback event*/public function raiseCallbackEvent($eventArgument);}/*** IDataRenderer interface.** If a control wants to be used a renderer for another data-bound control,* this interface must be implemented.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: interfaces.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System* @since 3.1*/interface IDataRenderer{/*** @return mixed the data bound to this object*/public function getData();/*** @param mixed the data to be bound to this object*/public function setData($value);}