package com.ericfeminella.ns
{
/**
*
* <code>INamespaceManager</code> defines the contract for
* <code>Namespace</code> management APIs which are utilized
* by classes and components within an application to retrieve
* the unique <code>Namespace</code> under which the current
* context of an application is executing
*
* @see Namespace
*
*/
public interface INamespaceManager
{
/**
*
* Retrieves the qualified namespace object which is based on
* the current context in which the application is executing
*
* <p>
* The namespace referenced by <code>getNamespace</code> is to
* be utilized to determine the context from which methods are
* to be invoked on an object or <code>Class</code>
* </p>
*
* @return the current contextual <code>Namespace</code>
*
*/
function getNamespace() : Namespace;
/**
*
* Sets the qualified namespace object based on the current
* context of the application
*
* <p>
* The namespace referenced by <code>getNamespace</code> is to
* be utilized to determine the context from which methods are
* called. This namespace is set by <code>setNamespace</code>
* </p>
*
* @param the contextual Namespace of the application
*
*/
function setNamespace(ns:Namespace) : void;
/**
*
* Retrieves the qualified namespace URI of the current
* namespace
*
* @return URI of the current <code>Namespace</code>
*
*/
function get namespaceURI() : String;
/**
*
* Retrieves the qualified namespace prefix from the current
* namespace
*
* @return namespace prefix for the current namespace
*
*/
function get namespacePrefix() : String;
/**
*
* Determines if the current contextual <code>Namespace</code>
* is that of the specified <code>Namespace</code>
*
* @param the namespace to determine a contextual match
* @return true of the current namespaces are equal, otherwise false
*
*/
function isCurrentContext(ns:Namespace) : Boolean;
/**
*
* Determines if the current contextual <code>Namespace</code>
* URI is equal to that of the specified <code>Namespace</code>
*
* @param the namespace URI in which to determine a contextual match
* @return true of the current namespaces are equal, otherwise false
*
*/
function isCurrentURI(uri:String) : Boolean;
}
}