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

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

    - #### SourceProvider

          public SourceProvider()

  - ### Method Detail

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