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

    All Methods Instance Methods Concrete Methods
    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.
    `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 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,
                                                            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.