org.apache.torque.generator.configuration.outlet
Class ReflectionOutletSaxHandlerFactory

java.lang.Object
  extended by org.apache.torque.generator.configuration.outlet.ReflectionOutletSaxHandlerFactory
All Implemented Interfaces:
UntypedOutletSaxHandlerFactory

public class ReflectionOutletSaxHandlerFactory
extends Object
implements UntypedOutletSaxHandlerFactory

Creates outlet SAX handlers using reflection and a naming convention.


Constructor Summary
ReflectionOutletSaxHandlerFactory()
          Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.
ReflectionOutletSaxHandlerFactory(String saxHandlerPackage)
          Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.
 
Method Summary
 boolean canHandle(String type)
          Returns whether the handler can create OutletSaxHandlers for the given type.
protected  String getFullyQualifiedHandlerClassName(String type)
          Returns the fully qualified class name of the handler class for a given type.
 OutletSaxHandler getOutletSaxHandler(String outletType, QualifiedName outletName, ConfigurationProvider configurationProvider, ProjectPaths projectPaths, ConfigurationHandlers configurationHandlers)
          Returns a OutletSaxHandler for reading the configuration of the outlet.
 String getType()
          Returns the outlet type which can be handled by the OutletSaxHandlers created by this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectionOutletSaxHandlerFactory

public ReflectionOutletSaxHandlerFactory()
Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.


ReflectionOutletSaxHandlerFactory

public ReflectionOutletSaxHandlerFactory(String saxHandlerPackage)
Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.

Parameters:
saxHandlerPackage - the package where the Sax handlers reside.
Method Detail

getType

public String getType()
Returns the outlet type which can be handled by the OutletSaxHandlers created by this factory.

Returns:
null.

getOutletSaxHandler

public final OutletSaxHandler getOutletSaxHandler(String outletType,
                                                  QualifiedName outletName,
                                                  ConfigurationProvider configurationProvider,
                                                  ProjectPaths projectPaths,
                                                  ConfigurationHandlers configurationHandlers)
                                           throws SAXException
Returns a OutletSaxHandler for reading the configuration of the outlet. This implementation uses the provided name as outlet name.

Specified by:
getOutletSaxHandler in interface UntypedOutletSaxHandlerFactory
Parameters:
outletType - the type of the outlet, not null.
outletName - the name for the outlet which configuration will be read in by the generated SaxHandlerFactory, or null if the name of the outlet should be determined from the parsed XML.
configurationProvider - The access object for the configuration files, not null.
projectPaths - The paths of the surrounding project, not null.
configurationHandlers - the available configuration handlers, not null.
Returns:
a new VelocityOutletSaxHandler.
Throws:
SAXException - if the SAX Handler for the outlet can not be created from the given XML element.

canHandle

public boolean canHandle(String type)
Description copied from interface: UntypedOutletSaxHandlerFactory
Returns whether the handler can create OutletSaxHandlers for the given type.

Specified by:
canHandle in interface UntypedOutletSaxHandlerFactory
Returns:
true if the type is supported, false if not.

getFullyQualifiedHandlerClassName

protected String getFullyQualifiedHandlerClassName(String type)
Returns the fully qualified class name of the handler class for a given type.

Parameters:
type - the type to determine the handler for.
Returns:
the fully qualified class name, not null.


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.