org.apache.catalina.users
public class: MemoryUserDatabaseFactory [javadoc |
source]
java.lang.Object
org.apache.catalina.users.MemoryUserDatabaseFactory
All Implemented Interfaces:
ObjectFactory
JNDI object creation factory for MemoryUserDatabase
instances. This makes it convenient to configure a user database
in the global JNDI resources associated with this Catalina instance,
and then link to that resource for web applications that administer
the contents of the user database.
The MemoryUserDatabase instance is configured based
on the following parameter values:
- pathname - Absolute or relative (to the directory
path specified by the
catalina.base system property)
pathname to the XML file from which our user information is loaded,
and to which it is stored. [conf/tomcat-users.xml]
- author:
Craig - R. McClanahan
- version:
$ - Revision: 771008 $ $Date: 2009-05-03 03:03:03 +0200 (Sun, 03 May 2009) $
- since:
4.1 -
| Method from org.apache.catalina.users.MemoryUserDatabaseFactory Summary: |
|---|
|
getObjectInstance |
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from org.apache.catalina.users.MemoryUserDatabaseFactory Detail: |
public Object getObjectInstance(Object obj,
Name name,
Context nameCtx,
Hashtable environment) throws Exception {
// We only know how to deal with < code >javax.naming.Reference< /code >s
// that specify a class name of "org.apache.catalina.UserDatabase"
if ((obj == null) || !(obj instanceof Reference)) {
return (null);
}
Reference ref = (Reference) obj;
if (!"org.apache.catalina.UserDatabase".equals(ref.getClassName())) {
return (null);
}
// Create and configure a MemoryUserDatabase instance based on the
// RefAddr values associated with this Reference
MemoryUserDatabase database = new MemoryUserDatabase(name.toString());
RefAddr ra = null;
ra = ref.get("pathname");
if (ra != null) {
database.setPathname(ra.getContent().toString());
}
ra = ref.get("readonly");
if (ra != null) {
database.setReadonly(Boolean.valueOf(ra.getContent().toString()).booleanValue());
}
// Return the configured database instance
database.open();
// Don't try something we know won't work
if (!database.getReadonly())
database.save();
return (database);
}
Create and return a new MemoryUserDatabase instance
that has been configured according to the properties of the
specified Reference. If you instance can be created,
return null instead.
|