org.apache.excalibur.source.impl
Class SourceResolverImpl

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.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

Field Summary
protected  java.net.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()
          The dispose operation is called at the end of a components lifecycle.
 void release(Source source)
          Releases a resolved resource
 Source resolveURI(java.lang.String location)
          Get a Source object.
 Source resolveURI(java.lang.String location, java.lang.String baseURI, java.util.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 java.net.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
Parameters:
context - the context. Must not be null.
Throws:
ContextException - if context is invalid

service

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

Specified by:
service in interface Serviceable
Parameters:
manager - The ServiceManager which this Serviceable uses. Must not be null.
Throws:
ServiceException - if an error occurs

dispose

public void dispose()
Description copied from interface: Disposable
The dispose operation is called at the end of a components lifecycle. This method will be called after Startable.stop() method (if implemented by component). Components use this method to release and destroy any resources that the Component owns.

Specified by:
dispose in interface Disposable

resolveURI

public Source resolveURI(java.lang.String location)
                  throws java.net.MalformedURLException,
                         java.io.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
java.io.IOException - if the source couldn't be created for some other reason.
java.net.MalformedURLException - if location is malformed.
SourceException

resolveURI

public Source resolveURI(java.lang.String location,
                         java.lang.String baseURI,
                         java.util.Map parameters)
                  throws java.net.MalformedURLException,
                         java.io.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
java.io.IOException - if the source couldn't be created for some other reason.
java.net.MalformedURLException - if location is malformed.
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-2005 The Apache Software Foundation. All Rights Reserved.