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

  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 Details

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