Package org.apache.torque.generator.configuration.outlet

# Class ReflectionOutletSaxHandlerFactory

java.lang.Object
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

  Constructors
  Constructor
  Description
  `ReflectionOutletSaxHandlerFactory()`
  Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.
  `ReflectionOutletSaxHandlerFactory(String saxHandlerPackage)`
  Creates a ReflectionOutletSaxHandlerFactory with the default sax handler package.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canHandle(String type, UnitDescriptor unitDescriptor)`
  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.
  `final OutletSaxHandler`
  `getOutletSaxHandler(String outletType, QualifiedName outletName, ConfigurationProvider configurationProvider, UnitDescriptor unitDescriptor, 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 Details

  - ### 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 Details

  - ### 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, UnitDescriptor unitDescriptor, 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.
      `unitDescriptor` - The description of the generation unit, 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, UnitDescriptor unitDescriptor)
    Description copied from interface: `UntypedOutletSaxHandlerFactory`
    Returns whether the handler can create OutletSaxHandlers for the given type.
    Specified by:
      `canHandle` in interface `UntypedOutletSaxHandlerFactory`
    Parameters:
      `type` - the type to check.
      `unitDescriptor` - The description of the generation unit, not null.
    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.