Package org.apache.torque.generator.source

# Class SourceProvider

java.lang.Object
org.apache.torque.generator.source.SourceProvider

All Implemented Interfaces:
  `Iterator<Source>`

Direct Known Subclasses:
  `FileSourceProvider`, `JdbcMetadataSourceProvider`

public abstract class SourceProvider extends Object implements Iterator<Source>
The input for a generation process. It can contain several sources. In order to use the sources, the init() method must be called. After this method was called, no more setters may be called.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SourceProvider()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract SourceProvider`
  `copy()`
  Returns a copy of this source provider in its initial state.
  `abstract void`
  `copyNotSetSettingsFrom(SourceProvider sourceProvider)`
  Copies settings which are not set in this source provider from another source provider.
  `final void`
  `init(ConfigurationHandlers configurationHandlers, ControllerState controllerState)`
  Initializes the source provider.
  `protected abstract void`
  `initInternal(ConfigurationHandlers configurationHandlers, ControllerState controllerState)`
  Initializes the sources provided by this SourceProvider.
  `boolean`
  `isInit()`
  Returns whether `init()` was already called.
  `final void`
  `reset(ConfigurationHandlers configurationHandlers, ControllerState controllerState)`
  Resets the source provider.
  `protected abstract void`
  `resetInternal(ConfigurationHandlers configurationHandlers, ControllerState controllerState)`
  Resets the sources provided by this SourceProvider.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining, hasNext, next, remove`

- ## Constructor Details

  - ### SourceProvider

    public SourceProvider()

- ## Method Details

  - ### init

    public final void init(ConfigurationHandlers configurationHandlers, ControllerState controllerState) throws ConfigurationException
    Initializes the source provider. Must be called before `hasNext()` or `next()` is invoked.
    Parameters:
      `configurationHandlers` - the configuration handlers, not null.
      `controllerState` - the current controller state, not null.
    Throws:
      `ConfigurationException` - if initializing fails.

  - ### reset

    public final void reset(ConfigurationHandlers configurationHandlers, ControllerState controllerState) throws ConfigurationException
    Resets the source provider. After this method is called, `init()` must be called again.
    Parameters:
      `configurationHandlers` - the configuration handlers, not null.
      `controllerState` - the current controller state, not null.
    Throws:
      `ConfigurationException` - if resetting fails.

  - ### initInternal

    protected abstract void initInternal(ConfigurationHandlers configurationHandlers, ControllerState controllerState) throws ConfigurationException
    Initializes the sources provided by this SourceProvider.
    Parameters:
      `configurationHandlers` - the configuration handlers, not null.
      `controllerState` - the current controller state, not null.
    Throws:
      `ConfigurationException` - if initializing fails.

  - ### resetInternal

    protected abstract void resetInternal(ConfigurationHandlers configurationHandlers, ControllerState controllerState) throws ConfigurationException
    Resets the sources provided by this SourceProvider.
    Parameters:
      `configurationHandlers` - the configuration handlers, not null.
      `controllerState` - the current controller state, not null.
    Throws:
      `ConfigurationException` - if resetting fails.

  - ### isInit

    public boolean isInit()
    Returns whether `init()` was already called.
    Returns:
      true if init() was already called, false otherwise.

  - ### copy

    public abstract SourceProvider copy() throws ConfigurationException
    Returns a copy of this source provider in its initial state. This means the `init(ConfigurationHandlers, ControllerState)` method of the new source provider must be called before it can be used.
    Returns:
      the SourceProvider
    Throws:
      `ConfigurationException` - if the new SourceProvider cannot be initialized.

  - ### copyNotSetSettingsFrom

    public abstract void copyNotSetSettingsFrom(SourceProvider sourceProvider)
    Copies settings which are not set in this source provider from another source provider. This only works if the type of the other source provider is known to this source provider. Only a subset of all properties are typically used for overwriting. No Properties which are already set are overwritten.
    Parameters:
      `sourceProvider` - the source provoder to copy the settings from.