<?php
/**
 * This file is part of the set of the DDR Simple API definition. It contains the
 * definition of the {@link PropertyRef} interface.
 * 
 * @author Sylvain Lequeux
 * @author Francois Daoust <fd@w3.org>
 * @package AskPythia
 * @subpackage Interface
 * @version $Revision: 1.9 $
 * @license http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html W3C Software Notice and License
 * @copyright Copyright (c) 2009, W3C (MIT, ERCIM, Keio)
 */

/**
 * {@link http://www.w3.org/TR/DDR-Simple-API/#sec-PropertyRef PropertyRef}
 * interface as defined in the {@link http://www.w3.org/TR/DDR-Simple-API/
 * DDR Simple API} standard.
 *
 * Device Description Repositories (DDR) describe devices using properties
 * that apply to a given category (named
 * {@link http://www.w3.org/TR/DDR-Simple-API/#aspect Aspect}).
 * This interface defines a property together with its aspect and the namespace
 * they are in. 
 * 
 * The specific value "__NULL" may be used where a Vocabulary does not support
 * the concept of Aspect.
 * 
 * @author Sylvain Lequeux
 * @author Francois Daoust <fd@w3.org>
 * @package AskPythia
 * @subpackage Interface
 * @link http://www.w3.org/TR/DDR-Simple-API/ Device Description Repository Simple API
 * @version $Revision: 1.9 $
 * @license http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html W3C Software Notice and License
 * @copyright Copyright (c) 2009, W3C (MIT, ERCIM, Keio)
 */
interface PropertyRef {
	/**
	 * Returns the name of the property.
	 * 
	 * @return string the local name of the property (no namespace).
	 */
	public function getLocalPropertyName();
	
	/**
	 * Returns the aspect the property applies to.
	 * 
	 * @return string the local aspect's name the property applies to (no namespace)
	 */
	public function getAspectName();
	
	/**
	 * Returns the namespace of the property.
	 * 
	 * @return string the namespace the property and the aspect belong to.
	 */
	public function getNamespace();
}
?>