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

## Interface TypedOutletSaxHandlerFactory

- All Known Implementing Classes:
    `CopyOutletSaxHandlerFactory`, `GroovyOutletSaxHandlerFactory`, `JavaOutletSaxHandlerFactory`, `VelocityOutletSaxHandlerFactory`

      public interface TypedOutletSaxHandlerFactory

  Classes implementing this interface are responsible for creating `OutletSaxHandler`s for a specific outlet type.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Outlet` | `createOutletForTemplate​(String templatePath, ConfigurationProvider configurationProvider)` | Creates an outlet for a template with the given file name.
    `OutletSaxHandler` | `getOutletSaxHandler​(QualifiedName outletName, ConfigurationProvider configurationProvider, UnitDescriptor unitDescriptor, ConfigurationHandlers configurationHandlers)` | Returns a OutletSaxHandler for reading in the configuration of a outlet.
    `Collection<String>` | `getTemplatesFilenameExtensionsForScan()` | Returns the filename extensions for templates which define outlets of this type.
    `String` | `getType()` | Returns the outlet type handled by the OutletSaxHandlers which are created by this factory.

- - ### Method Detail

    - #### getType

          String getType()

      Returns the outlet type handled by the OutletSaxHandlers which are created by this factory.
      Returns:
        the type of the outlets, not null.

    - #### getTemplatesFilenameExtensionsForScan

          Collection<String> getTemplatesFilenameExtensionsForScan()

      Returns the filename extensions for templates which define outlets of this type. These extensions are used for scanning the templates tree.
      Returns:
        the filename extension for scanning the templates, or null if the templates should not be scanned.

    - #### createOutletForTemplate

          Outlet createOutletForTemplate​(String templatePath,
                                         ConfigurationProvider configurationProvider)
                                  throws ConfigurationException

      Creates an outlet for a template with the given file name.
      Parameters:
        `templatePath` - the path to the template, relative to the templates directory, not null.
        `configurationProvider` - the configuration provider, not null.
      Returns:
        the outlet, not null.
      Throws:
        `ConfigurationException` - if the outlet cannot be created.
        `UnsupportedOperationException` - if the OutletSaxHandlerFactory is not template based or cannot create outlets on file name information alone.

    - #### getOutletSaxHandler

          OutletSaxHandler getOutletSaxHandler​(QualifiedName outletName,
                                               ConfigurationProvider configurationProvider,
                                               UnitDescriptor unitDescriptor,
                                               ConfigurationHandlers configurationHandlers)
                                        throws SAXException

      Returns a OutletSaxHandler for reading in the configuration of a outlet. The SAX Handler is used as a delegate handler whenever a outlet element with the matching type is encountered in a outlet configuration file.
      Parameters:
        `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 SAX delegate handler for parsing the configuration with the given type.
      Throws:
        `SAXException` - if the SAX Handler for the outlet can not be created from the given XML element.