org.apache.naming.resources
Class VirtualDirContext

java.lang.Object
  extended by org.apache.naming.resources.BaseDirContext
      extended by org.apache.naming.resources.FileDirContext
          extended by org.apache.naming.resources.VirtualDirContext
All Implemented Interfaces:
javax.naming.Context, javax.naming.directory.DirContext

public class VirtualDirContext
extends FileDirContext

Extended FileDirContext implementation that will allow loading of tld files from the META-INF directory (or subdirectories) in classpath. This will fully mimic the behavior of compressed jars also when using unjarred resources. Tld files can be loaded indifferently from WEB-INF webapp dir (or subdirs) or from META-INF dir from jars available in the classpath: using this DirContext implementation you will be able to use unexpanded jars during development and to make any tld in them virtually available to the webapp. Sample context xml configuration: <Context docBase="\webapps\mydocbase"> <Resources className="org.apache.naming.resources.VirtualDirContext" virtualClasspath="\dir\classes;\somedir\somejar.jar"/> </Resources> This is not meant to be used for production. Its meant to ease development with IDE's without the need for fully republishing jars in WEB-INF/lib

Version:
$Id: VirtualDirContext.java 515 2008-03-17 21:02:23Z jfrederic.clere@jboss.com $
Author:
Fabrizio Giustina

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.naming.resources.FileDirContext
FileDirContext.FileResource, FileDirContext.FileResourceAttributes
 
Field Summary
 
Fields inherited from class org.apache.naming.resources.FileDirContext
absoluteBase, allowLinking, base, BUFFER_SIZE, caseSensitive
 
Fields inherited from class org.apache.naming.resources.BaseDirContext
cached, cacheMaxSize, cacheObjectMaxSize, cacheTTL, docBase, env, nameParser, sm
 
Fields inherited from interface javax.naming.directory.DirContext
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
 
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
VirtualDirContext()
           
 
Method Summary
 void allocate()
          Allocate resources for this directory context.
 javax.naming.directory.Attributes getAttributes(java.lang.String name)
          Retrieves all of the attributes associated with a named object.
protected  java.util.ArrayList list(java.io.File file)
          List the resources which are members of a collection.
 java.lang.Object lookup(java.lang.String name)
          Retrieves the named object.
 void release()
          Release any resources allocated for this directory context.
 void setVirtualClasspath(java.lang.String path)
          virtualClasspath attribute that will be automatically set from the Context virtualClasspath attribute from the context xml file.
 
Methods inherited from class org.apache.naming.resources.FileDirContext
bind, createSubcontext, destroySubcontext, file, getAllowLinking, getAttributes, getNameInNamespace, getSchema, getSchemaClassDefinition, isCaseSensitive, list, listBindings, lookupLink, modifyAttributes, modifyAttributes, normalize, rebind, rename, search, search, search, search, setAllowLinking, setCaseSensitive, setDocBase, unbind
 
Methods inherited from class org.apache.naming.resources.BaseDirContext
addToEnvironment, bind, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, createSubcontext, destroySubcontext, getAttributes, getAttributes, getCacheMaxSize, getCacheObjectMaxSize, getCacheTTL, getDocBase, getEnvironment, getNameParser, getNameParser, getSchema, getSchemaClassDefinition, isCached, list, listBindings, lookup, lookupLink, modifyAttributes, modifyAttributes, rebind, rebind, rebind, removeFromEnvironment, rename, search, search, search, search, setCached, setCacheMaxSize, setCacheObjectMaxSize, setCacheTTL, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VirtualDirContext

public VirtualDirContext()
Method Detail

setVirtualClasspath

public void setVirtualClasspath(java.lang.String path)
virtualClasspath attribute that will be automatically set from the Context virtualClasspath attribute from the context xml file.

Parameters:
path - ; separated list of path elements.

allocate

public void allocate()
Allocate resources for this directory context.

Overrides:
allocate in class BaseDirContext

release

public void release()
Release any resources allocated for this directory context.

Overrides:
release in class FileDirContext

getAttributes

public javax.naming.directory.Attributes getAttributes(java.lang.String name)
                                                throws javax.naming.NamingException
Description copied from class: BaseDirContext
Retrieves all of the attributes associated with a named object.

Specified by:
getAttributes in interface javax.naming.directory.DirContext
Overrides:
getAttributes in class BaseDirContext
Parameters:
name - the name of the object from which to retrieve attributes
Returns:
the set of attributes associated with name
Throws:
javax.naming.NamingException - if a naming exception is encountered

list

protected java.util.ArrayList list(java.io.File file)
Description copied from class: FileDirContext
List the resources which are members of a collection.

Overrides:
list in class FileDirContext
Parameters:
file - Collection
Returns:
Vector containg NamingEntry objects

lookup

public java.lang.Object lookup(java.lang.String name)
                        throws javax.naming.NamingException
Description copied from class: FileDirContext
Retrieves the named object.

Specified by:
lookup in interface javax.naming.Context
Overrides:
lookup in class FileDirContext
Parameters:
name - the name of the object to look up
Returns:
the object bound to name
Throws:
javax.naming.NamingException - if a naming exception is encountered


Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.