|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--net.larsan.urd.jndi.ContextBase
Abstract base class for the Urd JNDI context. This class does the following:
ContextBase.ROOT_ADDRESS - which should point to the root address
Contextbase.ROOT_PORT - root address port number
If the environment variable above is missing in the context environment the context will asume
the default values localhost and 8666.
So far we don't support multiple namespaces so the URL support in this class is trivial. It only checks that the URL in question is referring to the current root context, then strips away host information and works on the remaining path.
Public non-delegated mehtods of class are subject to a permission check
using a AccessPermission. This permission should be granted to the framework but not the services.
Event handlers set on a context automaticly propragates up to its subcontext. And any subcontext will inherit an eventual event handler from its parent on creation.
This context only handles NamespaceChangeListeners.
| Field Summary | |
protected static AccessPermission |
ACCESS_PERMISSION
|
protected java.util.Hashtable |
env
|
protected EventHandler |
handler
|
protected java.lang.String |
localName
|
protected static javax.naming.NameParser |
nameParser
|
protected ContextBase |
parent
|
protected int |
port
|
protected java.lang.String |
root
|
static java.lang.String |
ROOT_ADDRESS
|
static java.lang.String |
ROOT_PORT
|
| Fields inherited from interface javax.naming.event.EventContext |
OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE |
| Fields inherited from interface javax.naming.Context |
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES |
| Constructor Summary | |
ContextBase(ContextBase parent,
java.util.Hashtable env,
java.lang.String localName)
|
|
| Method Summary | |
void |
addNamingListener(javax.naming.Name name,
int scope,
javax.naming.event.NamingListener listener)
|
void |
addNamingListener(java.lang.String name,
int scope,
javax.naming.event.NamingListener listener)
|
java.lang.Object |
addToEnvironment(java.lang.String name,
java.lang.Object object)
Add to environment |
void |
bind(java.lang.String name,
java.lang.Object object)
|
protected void |
checkAccess()
Check access permission. |
void |
close()
Deregister event handler |
java.lang.String |
composeName(java.lang.String nameOne,
java.lang.String nameTwo)
|
javax.naming.Context |
createSubcontext(java.lang.String name)
|
void |
destroySubcontext(java.lang.String name)
|
protected javax.naming.Context |
findRootContext()
Find the root context of this namespace. |
java.util.Hashtable |
getEnvironment()
Get envioronment |
protected EventHandler |
getEventHandler()
Get event handler |
java.lang.String |
getNameInNamespace()
Get the local name in the namespace. |
javax.naming.NameParser |
getNameParser(java.lang.String name)
|
protected ContextBase |
getParent()
Get the parent context of this context. |
javax.naming.NamingEnumeration |
list(java.lang.String name)
|
javax.naming.NamingEnumeration |
listBindings(java.lang.String name)
|
java.lang.Object |
lookup(java.lang.String name)
|
java.lang.Object |
lookupLink(java.lang.String name)
|
protected void |
objectAdded(java.lang.String name,
java.lang.Object o)
Fire addition event through the event handler if one exists. |
protected void |
objectRemoved(java.lang.String name,
java.lang.Object o)
Fire removal event through the event handler if one exists. |
protected void |
objectRenamed(java.lang.String name,
java.lang.Object o)
Fire renaming event through the event handler if one exists. |
void |
rebind(java.lang.String name,
java.lang.Object object)
|
java.lang.Object |
removeFromEnvironment(java.lang.String name)
Remove from environment |
void |
removeNamingListener(javax.naming.event.NamingListener listener)
|
void |
rename(java.lang.String oldName,
java.lang.String newName)
|
void |
setHandler(EventHandler handler)
|
boolean |
targetMustExist()
We do not require a target to exist before signing up. |
void |
unbind(java.lang.String name)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.naming.Context |
bind, composeName, createSubcontext, destroySubcontext, getNameParser, list, listBindings, lookup, lookupLink, rebind, rename, unbind |
| Field Detail |
public static final java.lang.String ROOT_ADDRESS
public static final java.lang.String ROOT_PORT
protected static final AccessPermission ACCESS_PERMISSION
protected static final javax.naming.NameParser nameParser
protected int port
protected java.lang.String root
protected java.util.Hashtable env
protected java.lang.String localName
protected ContextBase parent
protected EventHandler handler
| Constructor Detail |
public ContextBase(ContextBase parent,
java.util.Hashtable env,
java.lang.String localName)
| Method Detail |
public void setHandler(EventHandler handler)
throws javax.naming.NamingException
javax.naming.NamingException
public void addNamingListener(javax.naming.Name name,
int scope,
javax.naming.event.NamingListener listener)
throws javax.naming.NamingException
addNamingListener in interface javax.naming.event.EventContextjavax.naming.NamingException
public void addNamingListener(java.lang.String name,
int scope,
javax.naming.event.NamingListener listener)
throws javax.naming.NamingException
addNamingListener in interface javax.naming.event.EventContextjavax.naming.NamingException
public void removeNamingListener(javax.naming.event.NamingListener listener)
throws javax.naming.NamingException
removeNamingListener in interface javax.naming.event.EventContextjavax.naming.NamingExceptionpublic boolean targetMustExist()
targetMustExist in interface javax.naming.event.EventContext
public java.lang.Object lookup(java.lang.String name)
throws javax.naming.NamingException
lookup in interface javax.naming.Contextjavax.naming.NamingException
public void bind(java.lang.String name,
java.lang.Object object)
throws javax.naming.NamingException
bind in interface javax.naming.Contextjavax.naming.NamingException
public void rebind(java.lang.String name,
java.lang.Object object)
throws javax.naming.NamingException
rebind in interface javax.naming.Contextjavax.naming.NamingException
public void unbind(java.lang.String name)
throws javax.naming.NamingException
unbind in interface javax.naming.Contextjavax.naming.NamingException
public void rename(java.lang.String oldName,
java.lang.String newName)
throws javax.naming.NamingException
rename in interface javax.naming.Contextjavax.naming.NamingException
public javax.naming.NamingEnumeration list(java.lang.String name)
throws javax.naming.NamingException
list in interface javax.naming.Contextjavax.naming.NamingException
public javax.naming.NamingEnumeration listBindings(java.lang.String name)
throws javax.naming.NamingException
listBindings in interface javax.naming.Contextjavax.naming.NamingException
public void destroySubcontext(java.lang.String name)
throws javax.naming.NamingException
destroySubcontext in interface javax.naming.Contextjavax.naming.NamingException
public javax.naming.Context createSubcontext(java.lang.String name)
throws javax.naming.NamingException
createSubcontext in interface javax.naming.Contextjavax.naming.NamingException
public java.lang.Object lookupLink(java.lang.String name)
throws javax.naming.NamingException
lookupLink in interface javax.naming.Contextjavax.naming.NamingException
public javax.naming.NameParser getNameParser(java.lang.String name)
throws javax.naming.NamingException
getNameParser in interface javax.naming.Contextjavax.naming.NamingException
public java.lang.String composeName(java.lang.String nameOne,
java.lang.String nameTwo)
throws javax.naming.NamingException
composeName in interface javax.naming.Contextjavax.naming.NamingException
public void close()
throws javax.naming.NamingException
close in interface javax.naming.Contextjavax.naming.NamingException
public java.lang.Object addToEnvironment(java.lang.String name,
java.lang.Object object)
throws javax.naming.NamingException
addToEnvironment in interface javax.naming.Contextjavax.naming.NamingException
public java.lang.Object removeFromEnvironment(java.lang.String name)
throws javax.naming.NamingException
removeFromEnvironment in interface javax.naming.Contextjavax.naming.NamingException
public java.util.Hashtable getEnvironment()
throws javax.naming.NamingException
getEnvironment in interface javax.naming.Contextjavax.naming.NamingException
public java.lang.String getNameInNamespace()
throws javax.naming.NamingException
getNameInNamespace in interface javax.naming.Contextjavax.naming.NamingException
protected void objectAdded(java.lang.String name,
java.lang.Object o)
throws javax.naming.NamingException
javax.naming.NamingException
protected void objectRemoved(java.lang.String name,
java.lang.Object o)
throws javax.naming.NamingException
javax.naming.NamingException
protected void objectRenamed(java.lang.String name,
java.lang.Object o)
throws javax.naming.NamingException
javax.naming.NamingExceptionprotected javax.naming.Context findRootContext()
protected ContextBase getParent()
protected void checkAccess()
protected EventHandler getEventHandler()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||