|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.shiro.jndi.JndiTemplate
public class JndiTemplate
Helper class that simplifies JNDI operations. It provides methods to lookup and
bind objects, and allows implementations of the JndiCallback
interface
to perform any operation they like with a JNDI naming context provided.
Note that this implementation is an almost exact copy of the Spring Framework's identically named class from their 2.5.4 distribution - we didn't want to re-invent the wheel, but not require a full dependency on the Spring framework, nor does Spring make available only its JNDI classes in a small jar, or we would have used that. Since Shiro is also Apache 2.0 licensed, all regular licenses and conditions and authors have remained in tact.
JndiCallback
,
execute(org.apache.shiro.jndi.JndiCallback)
Constructor Summary | |
---|---|
JndiTemplate()
Create a new JndiTemplate instance. |
|
JndiTemplate(Properties environment)
Create a new JndiTemplate instance, using the given environment. |
Method Summary | |
---|---|
void |
bind(String name,
Object object)
Bind the given object to the current JNDI context, using the given name. |
protected Context |
createInitialContext()
Create a new JNDI initial context. |
Object |
execute(JndiCallback contextCallback)
Execute the given JNDI context callback implementation. |
Properties |
getEnvironment()
Return the environment for the JNDI InitialContext, or null if none should be used. |
Object |
lookup(String name)
Look up the object with the given name in the current JNDI context. |
Object |
lookup(String name,
Class requiredType)
Look up the object with the given name in the current JNDI context. |
void |
rebind(String name,
Object object)
Rebind the given object to the current JNDI context, using the given name. |
void |
setEnvironment(Properties environment)
Set the environment for the JNDI InitialContext. |
void |
unbind(String name)
Remove the binding for the given name from the current JNDI context. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JndiTemplate()
public JndiTemplate(Properties environment)
environment
- the Properties to initialize withMethod Detail |
---|
public void setEnvironment(Properties environment)
environment
- the Properties to initialize withpublic Properties getEnvironment()
null
if none should be used.
null
if none should be used.public Object execute(JndiCallback contextCallback) throws NamingException
contextCallback
- JndiCallback implementation
null
NamingException
- thrown by the callback implementationcreateInitialContext()
protected Context createInitialContext() throws NamingException
execute(org.apache.shiro.jndi.JndiCallback)
.
The default implementation use this template's environment settings. Can be subclassed for custom contexts, e.g. for testing.
NamingException
- in case of initialization errorspublic Object lookup(String name) throws NamingException
name
- the JNDI name of the object
null
; if a not so well-behaved
JNDI implementations returns null, a NamingException gets thrown)
NamingException
- if there is no object with the given
name bound to JNDIpublic Object lookup(String name, Class requiredType) throws NamingException
name
- the JNDI name of the objectrequiredType
- type the JNDI object must match. Can be an interface or
superclass of the actual class, or null
for any match. For example,
if the value is Object.class
, this method will succeed whatever
the class of the returned instance.
null
; if a not so well-behaved
JNDI implementations returns null, a NamingException gets thrown)
NamingException
- if there is no object with the given
name bound to JNDIpublic void bind(String name, Object object) throws NamingException
name
- the JNDI name of the objectobject
- the object to bind
NamingException
- thrown by JNDI, mostly name already boundpublic void rebind(String name, Object object) throws NamingException
name
- the JNDI name of the objectobject
- the object to rebind
NamingException
- thrown by JNDIpublic void unbind(String name) throws NamingException
name
- the JNDI name of the object
NamingException
- thrown by JNDI, mostly name not found
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |