Oracle UIX API Reference
Release 2.1.22.0.0
B12196-01

oracle.cabo.share.io
Class DefaultNameResolver

java.lang.Object
  |
  +--oracle.cabo.share.io.DefaultNameResolver
All Implemented Interfaces:
NameResolver
Direct Known Subclasses:
ClassResourceNameResolver, ServletNameResolver

public class DefaultNameResolver
extends java.lang.Object
implements NameResolver

Default implementation of NameResolver. This class provides support for resolving against both file directories and URLs.

DefaultNameResolver also adds special functionality for handling the creation of sub-NameResolvers. Creation of File or URL InputStreamProviders is always deferred back to the original, root DefaultNameResolver. This allows the root NameResolver to support caching or hook in needed behavior to the providers. (Note that the locating of the File or URL is always left to the child resolver).

DefaultNameResolver will always attempt to resolve names as files first, first relative to the base file (if one exists), then as an absolute path. If that fails, it will attempt to resolve the path as an URL.


Constructor Summary
DefaultNameResolver(java.io.File baseFile, java.net.URL baseURL)
          Creates a DefaultNameResolver.
 
Method Summary
protected  java.io.File getFile(java.lang.String name)
          Resolve a name into a File.
protected  InputStreamProvider getProvider(java.io.File file)
          Creates a provider for a File.
 InputStreamProvider getProvider(java.lang.String name)
          Given a name, returns an InputStreamProvider.
protected  InputStreamProvider getProvider(java.net.URL url)
          Creates a provider for an URL.
 NameResolver getResolver(java.lang.String name)
          Return the new NameResolver that should be used to resolve names relative to a given name.
protected  DefaultNameResolver getResolverImpl(java.lang.String name)
          Create a child resolver based on a name.
 NameResolver getRootResolver(java.lang.String name)
          Return the new NameResolver that should be used to resolve names relative to a given name.
protected  java.net.URL getURL(java.lang.String name)
          Resolve a name into an URL.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultNameResolver

public DefaultNameResolver(java.io.File baseFile,
                           java.net.URL baseURL)
Creates a DefaultNameResolver.
Parameters:
baseFile - a base file to resolve names (possibly null)
baseURL - a base URL to resolve names
Method Detail

getProvider

public InputStreamProvider getProvider(java.lang.String name)
                                throws java.io.IOException
Given a name, returns an InputStreamProvider. This function should never return null - if the target cannot be resolved, throw an IOException.
Specified by:
getProvider in interface NameResolver
Parameters:
name - the name of the target

getResolver

public final NameResolver getResolver(java.lang.String name)
Return the new NameResolver that should be used to resolve names relative to a given name. This function should never return null - if the target cannot be resolved, return a resolver that can only support absolute names.
Specified by:
getResolver in interface NameResolver
Parameters:
name - the name of the target

getRootResolver

public final NameResolver getRootResolver(java.lang.String name)
Return the new NameResolver that should be used to resolve names relative to a given name. Unlike getResolver(), the resolver returned by getRootResolver() acts as a new root - requests that begin with slashes will be resolved relative to this resolver, not the original root. This function should never return null - if the target cannot be resolved, return a resolver that can only support absolute names.
Parameters:
name - the name of the target

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getFile

protected java.io.File getFile(java.lang.String name)
Resolve a name into a File. This function should only return files that exist.

getURL

protected java.net.URL getURL(java.lang.String name)
Resolve a name into an URL.

getResolverImpl

protected DefaultNameResolver getResolverImpl(java.lang.String name)
Create a child resolver based on a name.

getProvider

protected InputStreamProvider getProvider(java.io.File file)
Creates a provider for a File.

getProvider

protected InputStreamProvider getProvider(java.net.URL url)
Creates a provider for an URL.

Oracle UIX API Reference
Release 2.1.22.0.0
B12196-01

Copyright © 2002,2003, Oracle. All Rights Reserved.