org.apache.excalibur.source.impl
Class SourceResolverImpl

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLogEnabled
        |
        +--org.apache.excalibur.source.impl.SourceResolverImpl
All Implemented Interfaces:
Component, Contextualizable, Disposable, LogEnabled, Serviceable, SourceResolver, ThreadSafe

public class SourceResolverImpl
extends AbstractLogEnabled
implements Serviceable, Contextualizable, Disposable, SourceResolver, ThreadSafe

This is the default implemenation of a SourceResolver. The source resolving is done relative to a base directory/URI (if the given location is relative). This implementation looks for the base URI in the Context object of the "container" for the "context-root" information. This information can either be a File object or a URL object. If the entry does not exist, the system property "user.dir" is used as the base URI instead.

Version:
$Id: SourceResolverImpl.java,v 1.4 2004/02/28 11:47:24 cziegeler Exp $
Author:
Avalon Development Team
See Also:
SourceResolver
Implements service:
type=SourceResolver
Avalon component

Field Summary
protected  URL m_baseURL
          The base URL
protected  ServiceSelector m_factorySelector
          The special Source factories
protected  ServiceManager m_manager
          The component m_manager
 
Fields inherited from interface org.apache.excalibur.source.SourceResolver
METHOD, ROLE, URI_ENCODING, URI_PARAMETERS
 
Constructor Summary
SourceResolverImpl()
           
 
Method Summary
 void contextualize(Context context)
          Get the context
 void dispose()
           
 void release(Source source)
          Releases a resolved resource
 Source resolveURI(String location)
          Get a Source object.
 Source resolveURI(String location, String baseURI, Map parameters)
          Get a Source object.
 void service(ServiceManager manager)
          Set the current ComponentLocator instance used by this Composable.
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_manager

protected ServiceManager m_manager
The component m_manager


m_factorySelector

protected ServiceSelector m_factorySelector
The special Source factories


m_baseURL

protected URL m_baseURL
The base URL

Constructor Detail

SourceResolverImpl

public SourceResolverImpl()
Method Detail

contextualize

public void contextualize(Context context)
                   throws ContextException
Get the context

Specified by:
contextualize in interface Contextualizable
ContextException

service

public void service(ServiceManager manager)
             throws ServiceException
Set the current ComponentLocator instance used by this Composable.

Specified by:
service in interface Serviceable
ServiceException
Requires component:
type="org.apache.excalibur.source.SourceFactory"

dispose

public void dispose()
Specified by:
dispose in interface Disposable

resolveURI

public Source resolveURI(String location)
                  throws MalformedURLException,
                         IOException,
                         SourceException
Get a Source object.

Specified by:
resolveURI in interface SourceResolver
Returns:
the resolved source object.
Throws:
SourceNotFoundException - if the source cannot be found
IOException - if the source couldn't be created for some other reason.
MalformedURLException
SourceException

resolveURI

public Source resolveURI(String location,
                         String baseURI,
                         Map parameters)
                  throws MalformedURLException,
                         IOException,
                         SourceException
Get a Source object.

Specified by:
resolveURI in interface SourceResolver
Parameters:
location - - the URI to resolve. If this is relative it is either resolved relative to the base parameter (if not null) or relative to a base setting of the source resolver itself.
baseURI - - a base URI for resolving relative locations. This is optional and can be null.
parameters - - Additional parameters for the URI. The parameters are specific to the used scheme.
Returns:
the resolved source object.
Throws:
SourceNotFoundException - if the source cannot be found
IOException - if the source couldn't be created for some other reason.
MalformedURLException
SourceException

release

public void release(Source source)
Releases a resolved resource

Specified by:
release in interface SourceResolver
Parameters:
source - the source to release


Copyright © 1997-2004 The Apache Software Foundation. All Rights Reserved.