## org.springframework.scheduling.quartz
Class AdaptableJobFactory

    java.lang.Object
      org.springframework.scheduling.quartz.AdaptableJobFactory

All Implemented Interfaces:
  org.quartz.spi.JobFactory

Direct Known Subclasses:
  SpringBeanJobFactory

    public class AdaptableJobFactory

extends Object
implements org.quartz.spi.JobFactory

JobFactory implementation that supports `Runnable` objects as well as standard Quartz `Job` instances.

Compatible with Quartz 1.5+ as well as Quartz 2.0/2.1, as of Spring 3.1.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `DelegatingJob`, `adaptJob(Object)`

Constructor Summary
`AdaptableJobFactory()`

Method Summary
`protected Job` `adaptJob(Object jobObject)` Adapt the given job object to the Quartz Job interface.
`protected Object` `createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)` Create an instance of the specified job class.
`Job` `newJob(org.quartz.spi.TriggerFiredBundle bundle)` Quartz 1.x version of newJob: contains actual implementation code.
`Job` `newJob(org.quartz.spi.TriggerFiredBundle bundle, Scheduler scheduler)` Quartz 2.0 version of newJob: simply delegates to old newJob variant.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AdaptableJobFactory

    public AdaptableJobFactory()

Method Detail

### newJob

    public Job newJob(org.quartz.spi.TriggerFiredBundle bundle,
                      Scheduler scheduler)
               throws SchedulerException

  Quartz 2.0 version of newJob: simply delegates to old newJob variant.

  Throws:
    `SchedulerException`
  See Also:
    `newJob(org.quartz.spi.TriggerFiredBundle)`

### newJob

    public Job newJob(org.quartz.spi.TriggerFiredBundle bundle)
               throws SchedulerException

  Quartz 1.x version of newJob: contains actual implementation code.

  Specified by:
    `newJob` in interface `org.quartz.spi.JobFactory`
  Throws:
    `SchedulerException`

### createJobInstance

    protected Object createJobInstance(org.quartz.spi.TriggerFiredBundle bundle)
                                throws Exception

  Create an instance of the specified job class.

  Can be overridden to post-process the job instance.

  Parameters:
    `bundle` - the TriggerFiredBundle from which the JobDetail and other info relating to the trigger firing can be obtained
  Returns:
    the job instance
  Throws:
    `Exception` - if job instantiation failed

### adaptJob

    protected Job adaptJob(Object jobObject)
                    throws Exception

  Adapt the given job object to the Quartz Job interface.

  The default implementation supports straight Quartz Jobs as well as Runnables, which get wrapped in a DelegatingJob.

  Parameters:
    `jobObject` - the original instance of the specified job class
  Returns:
    the adapted Quartz Job instance
  Throws:
    `Exception` - if the given job could not be adapted
  See Also:
    `DelegatingJob`