org.springframework.integration.quartz
Class QuartzScheduleServiceProvider.ScheduledFutureJobWrapper

java.lang.Object
  extended by org.springframework.integration.quartz.QuartzScheduleServiceProvider.ScheduledFutureJobWrapper
All Implemented Interfaces:
java.lang.Comparable<java.util.concurrent.Delayed>, java.util.concurrent.Delayed, java.util.concurrent.Future<java.lang.Object>, java.util.concurrent.ScheduledFuture<java.lang.Object>
Enclosing class:
QuartzScheduleServiceProvider

public class QuartzScheduleServiceProvider.ScheduledFutureJobWrapper
extends java.lang.Object
implements java.util.concurrent.ScheduledFuture<java.lang.Object>

Wrapper class for a Quartz Job, allowing running Quartz jobs top be manipulated via the ScheduledFuture interface. It is designed to be used for periodic tasks, therefore get() either block or throw CancellationException.


Field Summary
private  java.util.concurrent.CountDownLatch cancellationLatch
           
private  org.quartz.JobDetail jobDetail
           
private  org.quartz.Scheduler scheduler
           
private  org.quartz.Trigger trigger
           
 
Constructor Summary
private QuartzScheduleServiceProvider.ScheduledFutureJobWrapper(org.quartz.Scheduler scheduler, org.quartz.JobDetail jobDetail, org.quartz.Trigger trigger)
           
 
Method Summary
 boolean cancel(boolean mayInterruptIfRunning)
           
 int compareTo(java.util.concurrent.Delayed o)
           
 java.lang.Object get()
           
 java.lang.Object get(long timeout, java.util.concurrent.TimeUnit unit)
           
 long getDelay(java.util.concurrent.TimeUnit unit)
           
 boolean isCancelled()
           
 boolean isDone()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scheduler

private final org.quartz.Scheduler scheduler

jobDetail

private final org.quartz.JobDetail jobDetail

trigger

private final org.quartz.Trigger trigger

cancellationLatch

private final java.util.concurrent.CountDownLatch cancellationLatch
Constructor Detail

QuartzScheduleServiceProvider.ScheduledFutureJobWrapper

private QuartzScheduleServiceProvider.ScheduledFutureJobWrapper(org.quartz.Scheduler scheduler,
                                                                org.quartz.JobDetail jobDetail,
                                                                org.quartz.Trigger trigger)
Method Detail

getDelay

public long getDelay(java.util.concurrent.TimeUnit unit)
Specified by:
getDelay in interface java.util.concurrent.Delayed

compareTo

public int compareTo(java.util.concurrent.Delayed o)
Specified by:
compareTo in interface java.lang.Comparable<java.util.concurrent.Delayed>

cancel

public boolean cancel(boolean mayInterruptIfRunning)
Specified by:
cancel in interface java.util.concurrent.Future<java.lang.Object>

isCancelled

public boolean isCancelled()
Specified by:
isCancelled in interface java.util.concurrent.Future<java.lang.Object>

isDone

public boolean isDone()
Specified by:
isDone in interface java.util.concurrent.Future<java.lang.Object>

get

public java.lang.Object get(long timeout,
                            java.util.concurrent.TimeUnit unit)
                     throws java.lang.InterruptedException,
                            java.util.concurrent.ExecutionException,
                            java.util.concurrent.TimeoutException
Specified by:
get in interface java.util.concurrent.Future<java.lang.Object>
Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException

get

public java.lang.Object get()
                     throws java.lang.InterruptedException,
                            java.util.concurrent.ExecutionException
Specified by:
get in interface java.util.concurrent.Future<java.lang.Object>
Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException