Full Code of quartz-scheduler/quartz for AI

main 9294eac4c3b6 cached
475 files
3.0 MB
821.6k tokens
4805 symbols
1 requests
Download .txt
Showing preview only (3,282K chars total). Download the full file or copy to clipboard to get everything.
Repository: quartz-scheduler/quartz
Branch: main
Commit: 9294eac4c3b6
Files: 475
Total size: 3.0 MB

Directory structure:
gitextract_68hlgy34/

├── .gitattributes
├── .github/
│   ├── dependabot.yml
│   ├── pull_request_template.md
│   └── stale.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE.txt
├── azure-pipelines.yml
├── build.gradle
├── checkstyle/
│   ├── README.txt
│   └── src/
│       └── main/
│           └── resources/
│               ├── checkstyle.xml
│               ├── header.txt
│               └── suppressions.xml
├── docs/
│   └── index.md
├── examples/
│   ├── build.gradle
│   ├── examples_guide.txt
│   └── src/
│       └── main/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           └── examples/
│           │               ├── example1/
│           │               │   ├── HelloJob.java
│           │               │   └── SimpleExample.java
│           │               ├── example10/
│           │               │   ├── PlugInExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example11/
│           │               │   ├── LoadExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example12/
│           │               │   ├── RemoteClientExample.java
│           │               │   ├── RemoteServerExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example13/
│           │               │   ├── ClusterExample.java
│           │               │   ├── SimpleRecoveryJob.java
│           │               │   └── SimpleRecoveryStatefulJob.java
│           │               ├── example14/
│           │               │   ├── PriorityExample.java
│           │               │   └── TriggerEchoJob.java
│           │               ├── example15/
│           │               │   ├── NativeJob.java
│           │               │   └── NativeJobExample.java
│           │               ├── example2/
│           │               │   ├── SimpleJob.java
│           │               │   └── SimpleTriggerExample.java
│           │               ├── example3/
│           │               │   ├── CronTriggerExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example4/
│           │               │   ├── ColorJob.java
│           │               │   └── JobStateExample.java
│           │               ├── example5/
│           │               │   ├── MisfireExample.java
│           │               │   └── StatefulDumbJob.java
│           │               ├── example6/
│           │               │   ├── BadJob1.java
│           │               │   ├── BadJob2.java
│           │               │   └── JobExceptionExample.java
│           │               ├── example7/
│           │               │   ├── DumbInterruptableJob.java
│           │               │   └── InterruptExample.java
│           │               ├── example8/
│           │               │   ├── CalendarExample.java
│           │               │   └── SimpleJob.java
│           │               └── example9/
│           │                   ├── Job1Listener.java
│           │                   ├── ListenerExample.java
│           │                   ├── SimpleJob1.java
│           │                   └── SimpleJob2.java
│           └── resources/
│               ├── log4j.xml
│               └── org/
│                   └── quartz/
│                       └── examples/
│                           ├── example10/
│                           │   ├── quartz.properties
│                           │   └── quartz_data.xml
│                           ├── example11/
│                           │   └── quartz.properties
│                           ├── example12/
│                           │   ├── client.properties
│                           │   └── server.properties
│                           ├── example13/
│                           │   ├── instance1.properties
│                           │   └── instance2.properties
│                           ├── example14/
│                           │   └── quartz_priority.properties
│                           └── example5/
│                               └── quartz_misfire.properties
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── quartz/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   ├── org/
│       │   │   │   └── quartz/
│       │   │   │       ├── Calendar.java
│       │   │   │       ├── CalendarIntervalScheduleBuilder.java
│       │   │   │       ├── CalendarIntervalTrigger.java
│       │   │   │       ├── CronExpression.java
│       │   │   │       ├── CronScheduleBuilder.java
│       │   │   │       ├── CronTrigger.java
│       │   │   │       ├── DailyTimeIntervalScheduleBuilder.java
│       │   │   │       ├── DailyTimeIntervalTrigger.java
│       │   │   │       ├── DateBuilder.java
│       │   │   │       ├── DisallowConcurrentExecution.java
│       │   │   │       ├── ExecuteInJTATransaction.java
│       │   │   │       ├── InterruptableJob.java
│       │   │   │       ├── Job.java
│       │   │   │       ├── JobBuilder.java
│       │   │   │       ├── JobDataMap.java
│       │   │   │       ├── JobDetail.java
│       │   │   │       ├── JobExecutionContext.java
│       │   │   │       ├── JobExecutionException.java
│       │   │   │       ├── JobKey.java
│       │   │   │       ├── JobListener.java
│       │   │   │       ├── JobPersistenceException.java
│       │   │   │       ├── ListenerManager.java
│       │   │   │       ├── Matcher.java
│       │   │   │       ├── ObjectAlreadyExistsException.java
│       │   │   │       ├── PersistJobDataAfterExecution.java
│       │   │   │       ├── ScheduleBuilder.java
│       │   │   │       ├── Scheduler.java
│       │   │   │       ├── SchedulerConfigException.java
│       │   │   │       ├── SchedulerContext.java
│       │   │   │       ├── SchedulerException.java
│       │   │   │       ├── SchedulerFactory.java
│       │   │   │       ├── SchedulerListener.java
│       │   │   │       ├── SchedulerMetaData.java
│       │   │   │       ├── SimpleScheduleBuilder.java
│       │   │   │       ├── SimpleTrigger.java
│       │   │   │       ├── StatefulJob.java
│       │   │   │       ├── TimeOfDay.java
│       │   │   │       ├── Trigger.java
│       │   │   │       ├── TriggerBuilder.java
│       │   │   │       ├── TriggerKey.java
│       │   │   │       ├── TriggerListener.java
│       │   │   │       ├── TriggerUtils.java
│       │   │   │       ├── UnableToInterruptJobException.java
│       │   │   │       ├── commonj/
│       │   │   │       │   └── WorkManagerThreadExecutor.java
│       │   │   │       ├── core/
│       │   │   │       │   ├── JobExecutionProcessException.java
│       │   │   │       │   ├── JobRunShell.java
│       │   │   │       │   ├── JobRunShellFactory.java
│       │   │   │       │   ├── ListenerManagerImpl.java
│       │   │   │       │   ├── NullSampledStatisticsImpl.java
│       │   │   │       │   ├── QuartzScheduler.java
│       │   │   │       │   ├── QuartzSchedulerMBeanImpl.java
│       │   │   │       │   ├── QuartzSchedulerResources.java
│       │   │   │       │   ├── QuartzSchedulerThread.java
│       │   │   │       │   ├── RemotableQuartzScheduler.java
│       │   │   │       │   ├── SampledStatistics.java
│       │   │   │       │   ├── SampledStatisticsImpl.java
│       │   │   │       │   ├── SchedulerSignalerImpl.java
│       │   │   │       │   ├── jmx/
│       │   │   │       │   │   ├── CronTriggerSupport.java
│       │   │   │       │   │   ├── JobDataMapSupport.java
│       │   │   │       │   │   ├── JobDetailSupport.java
│       │   │   │       │   │   ├── JobExecutionContextSupport.java
│       │   │   │       │   │   ├── QuartzSchedulerMBean.java
│       │   │   │       │   │   ├── SimpleTriggerSupport.java
│       │   │   │       │   │   └── TriggerSupport.java
│       │   │   │       │   ├── mbeans-descriptors.xml
│       │   │   │       │   └── package.html
│       │   │   │       ├── ee/
│       │   │   │       │   ├── jboss/
│       │   │   │       │   │   └── doc-files/
│       │   │   │       │   │       └── quartz-service.xml
│       │   │   │       │   ├── jmx/
│       │   │   │       │   │   └── jboss/
│       │   │   │       │   │       ├── JBoss4RMIRemoteMBeanScheduler.java
│       │   │   │       │   │       ├── QuartzService.java
│       │   │   │       │   │       └── QuartzServiceMBean.java
│       │   │   │       │   ├── jta/
│       │   │   │       │   │   ├── JTAAnnotationAwareJobRunShellFactory.java
│       │   │   │       │   │   ├── JTAJobRunShell.java
│       │   │   │       │   │   ├── JTAJobRunShellFactory.java
│       │   │   │       │   │   └── UserTransactionHelper.java
│       │   │   │       │   └── servlet/
│       │   │   │       │       ├── QuartzInitializerListener.java
│       │   │   │       │       └── QuartzInitializerServlet.java
│       │   │   │       ├── helpers/
│       │   │   │       │   ├── VersionPrinter.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── impl/
│       │   │   │       │   ├── DefaultThreadExecutor.java
│       │   │   │       │   ├── DirectSchedulerFactory.java
│       │   │   │       │   ├── JobDetailImpl.java
│       │   │   │       │   ├── JobExecutionContextImpl.java
│       │   │   │       │   ├── QuartzServer.java
│       │   │   │       │   ├── RemoteMBeanScheduler.java
│       │   │   │       │   ├── RemoteScheduler.java
│       │   │   │       │   ├── SchedulerDetailsSetter.java
│       │   │   │       │   ├── SchedulerRepository.java
│       │   │   │       │   ├── StdJobRunShellFactory.java
│       │   │   │       │   ├── StdScheduler.java
│       │   │   │       │   ├── StdSchedulerFactory.java
│       │   │   │       │   ├── calendar/
│       │   │   │       │   │   ├── AnnualCalendar.java
│       │   │   │       │   │   ├── BaseCalendar.java
│       │   │   │       │   │   ├── CronCalendar.java
│       │   │   │       │   │   ├── DailyCalendar.java
│       │   │   │       │   │   ├── HolidayCalendar.java
│       │   │   │       │   │   ├── MonthlyCalendar.java
│       │   │   │       │   │   └── WeeklyCalendar.java
│       │   │   │       │   ├── jdbcjobstore/
│       │   │   │       │   │   ├── AttributeRestoringConnectionInvocationHandler.java
│       │   │   │       │   │   ├── CUBRIDDelegate.java
│       │   │   │       │   │   ├── CacheDelegate.java
│       │   │   │       │   │   ├── CalendarIntervalTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── Constants.java
│       │   │   │       │   │   ├── CronTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── DB2v6Delegate.java
│       │   │   │       │   │   ├── DB2v7Delegate.java
│       │   │   │       │   │   ├── DB2v8Delegate.java
│       │   │   │       │   │   ├── DBSemaphore.java
│       │   │   │       │   │   ├── DailyTimeIntervalTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── DriverDelegate.java
│       │   │   │       │   │   ├── FiredTriggerRecord.java
│       │   │   │       │   │   ├── GaussDBDelegate.java
│       │   │   │       │   │   ├── HSQLDBDelegate.java
│       │   │   │       │   │   ├── InvalidConfigurationException.java
│       │   │   │       │   │   ├── JTANonClusteredSemaphore.java
│       │   │   │       │   │   ├── JobStoreCMT.java
│       │   │   │       │   │   ├── JobStoreSupport.java
│       │   │   │       │   │   ├── JobStoreTX.java
│       │   │   │       │   │   ├── LockException.java
│       │   │   │       │   │   ├── MSSQLDelegate.java
│       │   │   │       │   │   ├── NoRecordFoundException.java
│       │   │   │       │   │   ├── NoSuchDelegateException.java
│       │   │   │       │   │   ├── PointbaseDelegate.java
│       │   │   │       │   │   ├── PostgreSQLDelegate.java
│       │   │   │       │   │   ├── SchedulerStateRecord.java
│       │   │   │       │   │   ├── Semaphore.java
│       │   │   │       │   │   ├── SimplePropertiesTriggerPersistenceDelegateSupport.java
│       │   │   │       │   │   ├── SimplePropertiesTriggerProperties.java
│       │   │   │       │   │   ├── SimpleSemaphore.java
│       │   │   │       │   │   ├── SimpleTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── StdJDBCConstants.java
│       │   │   │       │   │   ├── StdJDBCDelegate.java
│       │   │   │       │   │   ├── StdRowLockSemaphore.java
│       │   │   │       │   │   ├── SybaseDelegate.java
│       │   │   │       │   │   ├── TablePrefixAware.java
│       │   │   │       │   │   ├── TriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── TriggerStatus.java
│       │   │   │       │   │   ├── UpdateLockRowSemaphore.java
│       │   │   │       │   │   ├── Util.java
│       │   │   │       │   │   ├── WebLogicDelegate.java
│       │   │   │       │   │   └── oracle/
│       │   │   │       │   │       ├── OracleDelegate.java
│       │   │   │       │   │       └── weblogic/
│       │   │   │       │   │           └── WebLogicOracleDelegate.java
│       │   │   │       │   ├── matchers/
│       │   │   │       │   │   ├── AndMatcher.java
│       │   │   │       │   │   ├── EverythingMatcher.java
│       │   │   │       │   │   ├── GroupMatcher.java
│       │   │   │       │   │   ├── KeyMatcher.java
│       │   │   │       │   │   ├── NameMatcher.java
│       │   │   │       │   │   ├── NotMatcher.java
│       │   │   │       │   │   ├── OrMatcher.java
│       │   │   │       │   │   └── StringMatcher.java
│       │   │   │       │   ├── package.html
│       │   │   │       │   └── triggers/
│       │   │   │       │       ├── AbstractTrigger.java
│       │   │   │       │       ├── CalendarIntervalTriggerImpl.java
│       │   │   │       │       ├── CoreTrigger.java
│       │   │   │       │       ├── CronTriggerImpl.java
│       │   │   │       │       ├── DailyTimeIntervalTriggerImpl.java
│       │   │   │       │       ├── SimpleTriggerImpl.java
│       │   │   │       │       └── package.html
│       │   │   │       ├── listeners/
│       │   │   │       │   ├── BroadcastJobListener.java
│       │   │   │       │   ├── BroadcastSchedulerListener.java
│       │   │   │       │   ├── BroadcastTriggerListener.java
│       │   │   │       │   ├── JobChainingJobListener.java
│       │   │   │       │   ├── JobListenerSupport.java
│       │   │   │       │   ├── SchedulerListenerSupport.java
│       │   │   │       │   └── TriggerListenerSupport.java
│       │   │   │       ├── management/
│       │   │   │       │   ├── ManagementRESTServiceConfiguration.java
│       │   │   │       │   └── ManagementServer.java
│       │   │   │       ├── package.html
│       │   │   │       ├── plugins/
│       │   │   │       │   ├── SchedulerPluginWithUserTransactionSupport.java
│       │   │   │       │   ├── history/
│       │   │   │       │   │   ├── LoggingJobHistoryPlugin.java
│       │   │   │       │   │   └── LoggingTriggerHistoryPlugin.java
│       │   │   │       │   ├── interrupt/
│       │   │   │       │   │   └── JobInterruptMonitorPlugin.java
│       │   │   │       │   ├── management/
│       │   │   │       │   │   └── ShutdownHookPlugin.java
│       │   │   │       │   └── xml/
│       │   │   │       │       ├── FileScanJob.java
│       │   │   │       │       ├── FileScanListener.java
│       │   │   │       │       └── XMLSchedulingDataProcessorPlugin.java
│       │   │   │       ├── simpl/
│       │   │   │       │   ├── CascadingClassLoadHelper.java
│       │   │   │       │   ├── HostnameInstanceIdGenerator.java
│       │   │   │       │   ├── InitThreadContextClassLoadHelper.java
│       │   │   │       │   ├── LoadingLoaderClassLoadHelper.java
│       │   │   │       │   ├── PropertySettingJobFactory.java
│       │   │   │       │   ├── RAMJobStore.java
│       │   │   │       │   ├── SimpleClassLoadHelper.java
│       │   │   │       │   ├── SimpleInstanceIdGenerator.java
│       │   │   │       │   ├── SimpleJobFactory.java
│       │   │   │       │   ├── SimpleThreadPool.java
│       │   │   │       │   ├── SimpleTimeBroker.java
│       │   │   │       │   ├── SystemPropertyInstanceIdGenerator.java
│       │   │   │       │   ├── ThreadContextClassLoadHelper.java
│       │   │   │       │   ├── ZeroSizeThreadPool.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── spi/
│       │   │   │       │   ├── ClassLoadHelper.java
│       │   │   │       │   ├── InstanceIdGenerator.java
│       │   │   │       │   ├── JobFactory.java
│       │   │   │       │   ├── JobStore.java
│       │   │   │       │   ├── MutableTrigger.java
│       │   │   │       │   ├── OperableTrigger.java
│       │   │   │       │   ├── SchedulerPlugin.java
│       │   │   │       │   ├── SchedulerSignaler.java
│       │   │   │       │   ├── ThreadExecutor.java
│       │   │   │       │   ├── ThreadPool.java
│       │   │   │       │   ├── TimeBroker.java
│       │   │   │       │   ├── TriggerFiredBundle.java
│       │   │   │       │   ├── TriggerFiredResult.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── utils/
│       │   │   │       │   ├── C3p0PoolingConnectionProvider.java
│       │   │   │       │   ├── CircularLossyQueue.java
│       │   │   │       │   ├── ClassUtils.java
│       │   │   │       │   ├── ConnectionProvider.java
│       │   │   │       │   ├── DBConnectionManager.java
│       │   │   │       │   ├── DirtyFlagMap.java
│       │   │   │       │   ├── FindbugsSuppressWarnings.java
│       │   │   │       │   ├── HikariCpPoolingConnectionProvider.java
│       │   │   │       │   ├── JNDIConnectionProvider.java
│       │   │   │       │   ├── Key.java
│       │   │   │       │   ├── PoolingConnectionProvider.java
│       │   │   │       │   ├── PropertiesParser.java
│       │   │   │       │   ├── StringKeyDirtyFlagMap.java
│       │   │   │       │   ├── counter/
│       │   │   │       │   │   ├── Counter.java
│       │   │   │       │   │   ├── CounterConfig.java
│       │   │   │       │   │   ├── CounterImpl.java
│       │   │   │       │   │   ├── CounterManager.java
│       │   │   │       │   │   ├── CounterManagerImpl.java
│       │   │   │       │   │   └── sampled/
│       │   │   │       │   │       ├── SampledCounter.java
│       │   │   │       │   │       ├── SampledCounterConfig.java
│       │   │   │       │   │       ├── SampledCounterImpl.java
│       │   │   │       │   │       ├── SampledRateCounter.java
│       │   │   │       │   │       ├── SampledRateCounterConfig.java
│       │   │   │       │   │       ├── SampledRateCounterImpl.java
│       │   │   │       │   │       └── TimeStampedCounterValue.java
│       │   │   │       │   └── weblogic/
│       │   │   │       │       └── WeblogicConnectionProvider.java
│       │   │   │       └── xml/
│       │   │   │           ├── ValidationException.java
│       │   │   │           └── XMLSchedulingDataProcessor.java
│       │   │   └── overview.html
│       │   └── resources/
│       │       ├── checkstyle.xml
│       │       └── org/
│       │           └── quartz/
│       │               ├── core/
│       │               │   └── quartz-build.properties
│       │               ├── impl/
│       │               │   └── jdbcjobstore/
│       │               │       ├── liquibase.quartz.init.xml
│       │               │       ├── tables_cloudscape.sql
│       │               │       ├── tables_cubrid.sql
│       │               │       ├── tables_db2.sql
│       │               │       ├── tables_db2_v72.sql
│       │               │       ├── tables_db2_v8.sql
│       │               │       ├── tables_db2_v95.sql
│       │               │       ├── tables_derby.sql
│       │               │       ├── tables_derby_previous.sql
│       │               │       ├── tables_firebird.sql
│       │               │       ├── tables_gauss_default_compatibility.sql
│       │               │       ├── tables_gauss_m_compatibility.sql
│       │               │       ├── tables_h2.sql
│       │               │       ├── tables_hsqldb.sql
│       │               │       ├── tables_hsqldb_old.sql
│       │               │       ├── tables_informix.sql
│       │               │       ├── tables_mysql.sql
│       │               │       ├── tables_mysql_innodb.sql
│       │               │       ├── tables_oracle.sql
│       │               │       ├── tables_oracle23.sql
│       │               │       ├── tables_pointbase.sql
│       │               │       ├── tables_postgres.sql
│       │               │       ├── tables_sapdb.sql
│       │               │       ├── tables_solid.sql
│       │               │       ├── tables_sqlServer.sql
│       │               │       └── tables_sybase.sql
│       │               ├── quartz.properties
│       │               └── xml/
│       │                   ├── job_scheduling_data_1_8.xsd
│       │                   └── job_scheduling_data_2_0.xsd
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           ├── AbstractJobStoreTest.java
│           │           ├── AbstractSchedulerTest.java
│           │           ├── AnnualCalendarTest.java
│           │           ├── CalendarIntervalTriggerTest.java
│           │           ├── CronExpressionTest.java
│           │           ├── CronScheduleBuilderTest.java
│           │           ├── CronTriggerTest.java
│           │           ├── DailyTimeIntervalScheduleBuilderTest.java
│           │           ├── DateBuilderTest.java
│           │           ├── DefaultSchedulerTest.java
│           │           ├── DisallowConcurrentExecutionJobTest.java
│           │           ├── FlakyJdbcSchedulerTest.java
│           │           ├── InterruptableJobTest.java
│           │           ├── JdbcSchedulerTest.java
│           │           ├── JobBuilderTest.java
│           │           ├── JobDataMapTest.java
│           │           ├── JobDetailTest.java
│           │           ├── MonthlyCalendarTest.java
│           │           ├── PriorityTest.java
│           │           ├── Qtz205SchedulerListenerTest.java
│           │           ├── Quartz601Test.java
│           │           ├── RAMSchedulerTest.java
│           │           ├── SerializationTestSupport.java
│           │           ├── SimpleTriggerTest.java
│           │           ├── TriggerBuilderTest.java
│           │           ├── TriggerComparatorTest.java
│           │           ├── VersionTest.java
│           │           ├── core/
│           │           │   ├── ListenerManagerTest.java
│           │           │   ├── QTZ212_SchedulerListener_Test.java
│           │           │   ├── QTZ385Test.java
│           │           │   └── RecoverJobsTest.java
│           │           ├── impl/
│           │           │   ├── DirectSchedulerFactoryTest.java
│           │           │   ├── JobDetailImplTest.java
│           │           │   ├── MockConnectionProvider.java
│           │           │   ├── RemoteMBeanSchedulerTest.java
│           │           │   ├── SchedulerDetailsSetterTest.java
│           │           │   ├── StdSchedulerFactoryCustomConnectionProviderTest.java
│           │           │   ├── StdSchedulerFactoryTest.java
│           │           │   ├── calendar/
│           │           │   │   ├── BaseCalendarTest.java
│           │           │   │   └── DailyCalendarTest.java
│           │           │   ├── jdbcjobstore/
│           │           │   │   ├── DeleteNonExistsJobTest.java
│           │           │   │   ├── GaussDBDelegateTest.java
│           │           │   │   ├── JdbcJobStoreTest.java
│           │           │   │   ├── JdbcQuartzTestUtilities.java
│           │           │   │   ├── MSSQLJdbcStoreTest.java
│           │           │   │   ├── MariaDBJdbcStoreTest.java
│           │           │   │   ├── PostgresJdbcStoreTest.java
│           │           │   │   ├── StdJDBCDelegateTest.java
│           │           │   │   └── UpdateLockRowSemaphoreTest.java
│           │           │   ├── matchers/
│           │           │   │   └── GroupMatcherTest.java
│           │           │   └── triggers/
│           │           │       └── DailyTimeIntervalTriggerImplTest.java
│           │           ├── integrations/
│           │           │   └── tests/
│           │           │       ├── HelloJob.java
│           │           │       ├── JdbcQuartzDerbyUtilities.java
│           │           │       ├── JobClassNotFoundExceptionErrorsTriggersTest.java
│           │           │       ├── JobDataMapStorageTest.java
│           │           │       ├── QTZ179_TriggerLostAfterDbRestart_Test.java
│           │           │       ├── QTZ283_IgnoreMisfirePolicyJdbcStore_Test.java
│           │           │       ├── QTZ336_MissSchedulingChangeSignalTest.java
│           │           │       ├── QuartzDatabasePauseAndResumeTest.java
│           │           │       ├── QuartzDatabaseSimplePropertiesTest.java
│           │           │       ├── QuartzDerbyCronTriggerTest.java
│           │           │       ├── QuartzDerbyTestSupport.java
│           │           │       ├── QuartzMSSQLDatabaseCronTriggerTest.java
│           │           │       ├── QuartzMSSQLTestSupport.java
│           │           │       ├── QuartzMemoryCronTriggerTest.java
│           │           │       ├── QuartzMemoryPauseAndResumeTest.java
│           │           │       ├── QuartzMemoryTestSupport.java
│           │           │       ├── StdRowLockSemaphoreTest.java
│           │           │       └── TrackingJob.java
│           │           ├── simpl/
│           │           │   ├── PropertySettingJobFactoryTest.java
│           │           │   ├── RAMJobStoreTest.java
│           │           │   └── SystemPropertyInstanceIdGeneratorTest.java
│           │           ├── utils/
│           │           │   ├── C3p0PoolingConnectionProviderTest.java
│           │           │   ├── CircularLossyQueueTest.java
│           │           │   ├── ClassUtilsTest.java
│           │           │   ├── DirtyFlagMapTest.java
│           │           │   ├── HikariCpPoolingConnectionProviderTest.java
│           │           │   └── PropertiesParserTest.java
│           │           └── xml/
│           │               ├── XMLSchedulingDataProcessorPluginTest.java
│           │               └── XMLSchedulingDataProcessorTest.java
│           └── resources/
│               ├── container-license-acceptance.txt
│               ├── log4j.properties
│               ├── org/
│               │   └── quartz/
│               │       ├── AnnualCalendar-1.5.1.ser
│               │       ├── CalendarIntervalTriggerImpl-2.0.ser
│               │       ├── CronExpression-1.5.2.ser
│               │       ├── CronTrigger-1.5.2.ser
│               │       ├── CronTriggerImpl-2.0.ser
│               │       ├── JobDataMap-1.4.5.ser
│               │       ├── JobDataMap-1.5.1.ser
│               │       ├── JobDataMap-2.1.ser
│               │       ├── SimpleTrigger-1.5.2.ser
│               │       ├── SimpleTriggerImpl-2.0.ser
│               │       ├── impl/
│               │       │   └── calendar/
│               │       │       └── DailyCalendar-1.5.2.ser
│               │       ├── properties/
│               │       │   └── quartzCustomConnectionProvider.properties
│               │       └── xml/
│               │           ├── bad-job-config.xml
│               │           ├── delete-no-jobclass.xml
│               │           ├── directives_no-overwrite_ignoredups.xml
│               │           ├── directives_overwrite_no-ignoredups.xml
│               │           ├── job-scheduling-data-2.0_trigger-samples.xml
│               │           ├── overwrite-no-jobclass.xml
│               │           ├── quartz-test.properties
│               │           ├── quartz-xml-plugin-test.properties
│               │           ├── simple-job-trigger-no-repeat.xml
│               │           ├── simple-job-trigger-with-timezones.xml
│               │           └── simple-job-trigger.xml
│               └── tables_derby_drop.sql
├── quartz-jobs/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── org/
│       │           └── quartz/
│       │               └── jobs/
│       │                   ├── DirectoryScanJob.java
│       │                   ├── DirectoryScanListener.java
│       │                   ├── FileScanJob.java
│       │                   ├── FileScanListener.java
│       │                   ├── NoOpJob.java
│       │                   └── ee/
│       │                       ├── ejb/
│       │                       │   ├── EJB3InvokerJob.java
│       │                       │   └── EJBInvokerJob.java
│       │                       ├── jms/
│       │                       │   ├── JmsHelper.java
│       │                       │   ├── JmsJobException.java
│       │                       │   ├── JmsMessageFactory.java
│       │                       │   ├── SendDestinationMessageJob.java
│       │                       │   ├── SendQueueMessageJob.java
│       │                       │   └── SendTopicMessageJob.java
│       │                       ├── jmx/
│       │                       │   └── JMXInvokerJob.java
│       │                       └── mail/
│       │                           └── SendMailJob.java
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           ├── integrations/
│           │           │   └── tests/
│           │           │       ├── AutoInterruptableJobTest.java
│           │           │       ├── DummyClassLoadHelper.java
│           │           │       ├── HelloJob.java
│           │           │       └── QTZ225_SchedulerClassLoadHelperForPlugins_Test.java
│           │           └── jobs/
│           │               ├── MyJobListener.java
│           │               ├── SendMailJobAuthTestBase.java
│           │               ├── SendMailJobFakeAuth.java
│           │               ├── SendMailJobRealAuth.java
│           │               ├── SendMailJobTest.java
│           │               └── SimpleValidator.java
│           └── resources/
│               ├── log4j.properties
│               └── org/
│                   └── quartz/
│                       └── tests/
│                           └── QTZ225/
│                               ├── log4j.xml
│                               ├── quartz.properties
│                               └── quartz_data.xml
├── quartz-stubs/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               ├── oracle/
│               │   └── sql/
│               │       └── BLOB.java
│               ├── org/
│               │   └── quartz/
│               │       └── jobs/
│               │           ├── DirectoryScanListener.java
│               │           └── FileScanListener.java
│               └── weblogic/
│                   └── jdbc/
│                       ├── jts/
│                       │   └── Driver.java
│                       └── vendor/
│                           └── oracle/
│                               └── OracleThinBlob.java
├── readme.adoc
└── settings.gradle

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# Linux start script should use lf
/gradlew        text eol=lf

# These are Windows script files and should use crlf
*.bat           text eol=crlf



================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
  - package-ecosystem: "gradle" # See documentation for possible values
    directory: "/"
    schedule:
      interval: "daily"
    target-branch: main
    ignore:
      - dependency-name: "org.mockito:mockito-core"

  - package-ecosystem: "gradle" # See documentation for possible values
    directory: "/"
    schedule:
      interval: "daily"
    target-branch: quartz-2.4.x
    ignore:
      - dependency-name: "org.mockito:mockito-core"


================================================
FILE: .github/pull_request_template.md
================================================

<!--
If this is your first time contributing to the project (or it's been a while), please consider reviewing https://github.com/quartz-scheduler/contributing/blob/main/CONTRIBUTING.md
-->


This PR...

Fixes issue #

## Changes
-

-----------------
## Checklist
- [ ] tested locally
- [ ] updated the docs
- [ ] added appropriate test
- [ ] signed-off on the DCO referenced in the CONTRIBUTING link below via `git commit -s` on my commits, and submit this code under terms of the Apache 2.0 license and assign copyright to the Quartz project owners
  (If you're not using command-line, you can use a [browser extension](https://github.com/scottrigby/dco-gh-ui) )
-----------------
In submitting this contribution, I agree to the terms of contributing as referred to here: 
https://github.com/quartz-scheduler/contributing/blob/main/CONTRIBUTING.md



================================================
FILE: .github/stale.yml
================================================
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 10

# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
  - todo

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false

# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true

# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false

# Label to use when marking as stale
staleLabel: stale

# Comment to post when marking as stale. Set to `false` to disable
markComment: >
  Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?
  This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

# Comment to post when removing the stale label.
# unmarkComment: >
#   Your comment here.

# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
#   Your comment here.

# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30

# Limit to only `issues` or `pulls`
# only: issues

# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
#   daysUntilStale: 30
#   markComment: >
#     This pull request has been automatically marked as stale because it has not had
#     recent activity. It will be closed if no further activity occurs. Thank you
#     for your contributions.

# issues:
#   exemptLabels:
#     - confirmed


================================================
FILE: .gitignore
================================================
# gradle
.gradle/
**/build/
!**/src/**/build

# misplaced test artifacts
derby.log
logs/
tmp/

# IntelliJ IDEA noise
out/
.idea/
*.iml
*.ipr
*.iws

# Eclipse IDE noise
.settings/
.project
.classpath

# NetBeans noise
nbproject/

# Other Editor's noise
*~
*.swp

# MacOSX noise
.DS_Store

# Ignore Gradle project-specific cache directory
.gradle

# Ignore Gradle build output directory
build


================================================
FILE: CONTRIBUTING.md
================================================

# Contributing to the Quartz Scheduler Project

_We're happy to have you participate in our community with your contributions!_

Thanks for your interest in contributing to the to the Quartz Scheduler Project.

Start your journey by reading here: [Contributing](https://github.com/quartz-scheduler/contributing/blob/main/CONTRIBUTING.md)


================================================
FILE: LICENSE.txt
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: azure-pipelines.yml
================================================
#
# Copyright Terracotta, Inc.
# Copyright IBM Corp. 2024, 2025
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# See shared code location for steps and parameters:
# https://dev.azure.com/TerracottaCI/_git/terracotta

resources:
  repositories:
    - repository: templates
      type: git
      name: terracotta/terracotta

jobs:
  - template: build-templates/gradle-common.yml@templates
    parameters:
      jobName: Java11
      jdkVersion: '1.11'
      options: '-Dtest.databasePort=1527'
  - template: build-templates/gradle-common.yml@templates
    parameters:
      jobName: Java17
      jdkVersion: '1.17'
      options: '-Dtest.databasePort=1527'
  - template: build-templates/gradle-common.yml@templates
    parameters:
      jobName: Java21
      jdkVersion: '1.21'
      options: '-Dtest.databasePort=1527'



================================================
FILE: build.gradle
================================================
import org.gradle.api.publish.maven.internal.publication.MavenPomInternal;
import org.gradle.api.publish.maven.internal.publisher.MavenPublicationCoordinates;
import static org.gradle.api.publish.plugins.PublishingPlugin.PUBLISH_TASK_GROUP;

plugins {
    // This adds tasks to auto close or release nexus staging repos
    // see https://github.com/gradle-nexus/publish-plugin/
    id "io.github.gradle-nexus.publish-plugin"
}


allprojects {
    group 'org.quartz-scheduler'
    version quartzVersion
}

subprojects {
    repositories {
        mavenCentral()
    }
}

allprojects {
    plugins.withType(JavaBasePlugin) {
        java {
            toolchain {
                languageVersion = JavaLanguageVersion.of(11)
            }
        }
    }

    plugins.withType(MavenPublishPlugin) {
        plugins.apply(SigningPlugin)
        signing {
            required { !version.endsWith("SNAPSHOT") }
            sign publishing.publications
        }

        publishing {
            configurations {
                provided
                runtimeClasspath.extendsFrom(provided)
            }
            publications {
                maven(MavenPublication) {
                    pom {
                        name = "$project.name"
                        url = 'https://www.quartz-scheduler.org/'
                        licenses {
                            license {
                                name = 'The Apache License, Version 2.0'
                                url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                            }
                        }
                        scm {
                            connection = 'scm:git:git://github.com:quartz-scheduler/quartz.git'
                            developerConnection = 'scm:git:ssh:git@github.com:quartz-scheduler/quartz.git'
                            url = 'https://github.com/quartz-scheduler/quartz'
                        }
                        developers {
                            developer {
                                name = "Terracotta Engineers"
                                email = "tc-oss@wwpdl.vnet.ibm.com"
                                organization = "IBM Corp."
                                organizationUrl = "http://www.quartz-scheduler.org/"
                            }
                        }
                    }

                    from components.java
                    pom.withXml {
                        asNode()
                                .dependencies
                                .dependency
                                .findAll { dependency ->
                                    // Patch up dependency scopes per expectations of maven users
                                    (dependency.groupId.text() == 'com.mchange' ||
                                            dependency.groupId.text() == 'com.zaxxer' ||
                                            dependency.artifactId.text() == 'slf4j-log4j12' ||
                                            dependency.groupId.text() == 'jakarta.xml' )
                                }
                                .each { dependency ->
                                    // Set scope value to compile.
                                    dependency.scope*.value = 'provided'
                                }
                    }
                }
            }
        }

        // for MANIFEST.MF
        jar {
            manifest {
                attributes(
                        "Implementation-Title": project.name,
                        "Implementation-Vendor-Id": project.group,
                        "Implementation-Version": project.version,
                        "Built-By": System.getProperty("user.name"),
                        "Built-JDK": System.getProperty("java.version"),
                        "Automatic-Module-Name": 'org.quartz',
                        "-removeheaders": 'Private-Package',
                        "Export-Package": 'org.quartz.*',
                        "Import-Package": '*;resolution:=optional'
                )
            }
        }

    }

    // Put pom.xml and pom.properties in the jar:
    project.afterEvaluate{p ->
        // module.json publishing confuses sonatype and it doesn't process the jar.
        tasks.withType(GenerateModuleMetadata) {
            enabled = false
        }
        tasks.withType(GenerateMavenPom) {pomTask ->
            MavenPublicationCoordinates coordinates = ((MavenPomInternal) pomTask.getPom()).getCoordinates()
            TaskProvider<WriteProperties> pomPropertiesTask = project.getTasks().register(pomTask.getName().replace("PomFile", "PomProperties"), WriteProperties.class, task -> {
                task.dependsOn(pomTask);
                task.setGroup(PUBLISH_TASK_GROUP);
                task.setOutputFile(new File(pomTask.getDestination().getParentFile(), "pom.properties"));
                task.property("groupId", coordinates.getGroupId());
                task.property("artifactId", coordinates.getArtifactId());
                task.property("version", coordinates.getVersion());
            });

            project.tasks.withType(Jar).configureEach{jar ->
                jar.into("META-INF/maven/" + coordinates.getGroupId().get() + "/" + coordinates.getArtifactId().get(), spec -> {
                    spec.from(pomTask, pom -> pom.rename(".*", "pom.xml"));
                    spec.from(pomPropertiesTask);
                });
            }
        }
    }

}

nexusPublishing {
    repositories {
        sonatype{
            nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/"))
            snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/"))
        }
    }
}


================================================
FILE: checkstyle/README.txt
================================================

Checkstyle configuration files can be found under src/main/resources

1. You can edit checkstyle rules in checkstyle.xml

2. You can suppress a rule for any files in suppressions.xml

3. You can suppress a rule in a source file with comment:

// CHECKSTYLE_OFF: NameOfTheCheck|OtherTheCheck
{ code }
// CHECKSTYLE_ON: NameOfTheCheck|OtherTheCheck



================================================
FILE: checkstyle/src/main/resources/checkstyle.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<module name="Checker">
  <property name="severity" value="error" />

  <!--module name="Header">
    <property name="headerFile" value="${checkstyle.header.file}" />
    <message key="header.missing" value="Source file missing Quartz license header" />
    <message key="header.mismatch" value="Quartz license header mismatch" />
  </module-->

  <module name="FileTabCharacter" />

  <module name="TreeWalker">
    <module name="FileContentsHolder"/>   
  </module>
  
  <module name="SuppressionCommentFilter">
      <property name="offCommentFormat" value="CHECKSTYLE_OFF\: ([\w\|]+)"/>
      <property name="onCommentFormat" value="CHECKSTYLE_ON\: ([\w\|]+)"/>
      <property name="checkFormat" value="$1"/>
  </module>
</module>



================================================
FILE: checkstyle/src/main/resources/header.txt
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */


================================================
FILE: checkstyle/src/main/resources/suppressions.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
  
</suppressions>


================================================
FILE: docs/index.md
================================================

# Quartz Documentation

Quartz Documentation for various releases can be found on the Quartz website:

[Quartz Documentation](https://www.quartz-scheduler.org/documentation/)

<br/>
<br/>

The source files for the documentation on the site can be found here:
[Doc Source](https://github.com/quartz-scheduler/quartz-scheduler.org-site/tree/master/documentation)



================================================
FILE: examples/build.gradle
================================================
plugins {
    id 'java'
}

dependencies {
    implementation project(':quartz')
    implementation project(':quartz-jobs')

    implementation "org.slf4j:slf4j-api:$slf4jVersion"
    implementation "org.slf4j:slf4j-log4j12:$slf4jVersion"
}

tasks.withType(JavaExec).configureEach {
    classpath = sourceSets.main.runtimeClasspath
    group = JavaBasePlugin.DOCUMENTATION_GROUP
}

tasks.register('runExample1', JavaExec) {
    description = 'Run Example 1'
    mainClass = 'org.quartz.examples.example1.SimpleExample'
}
tasks.register('runExample2', JavaExec) {
    description = 'Run Example 2'
    mainClass = 'org.quartz.examples.example2.SimpleTriggerExample'
}
tasks.register('runExample3', JavaExec) {
    description = 'Run Example 3'
    mainClass = 'org.quartz.examples.example3.CronTriggerExample'
}
tasks.register('runExample4', JavaExec) {
    description = 'Run Example 4'
    mainClass = 'org.quartz.examples.example4.JobStateExample'
}
tasks.register('runExample5', JavaExec) {
    description = 'Run Example 5'
    mainClass = 'org.quartz.examples.example5.MisfireExample'
}
tasks.register('runExample6', JavaExec) {
    description = 'Run Example 6'
    mainClass = 'org.quartz.examples.example6.JobExceptionExample'
}
tasks.register('runExample7', JavaExec) {
    description = 'Run Example 7'
    mainClass = 'org.quartz.examples.example7.InterruptExample'
}
tasks.register('runExample8', JavaExec) {
    description = 'Run Example 8'
    mainClass = 'org.quartz.examples.example8.CalendarExample'
}
tasks.register('runExample9', JavaExec) {
    description = 'Run Example 9'
    mainClass = 'org.quartz.examples.example9.ListenerExample'
}
tasks.register('runEExample10', JavaExec) {
    description = 'Run Example 10'
    mainClass = 'org.quartz.examples.example10.PlugInExample'
    systemProperty('org.quartz.properties', 'org/quartz/examples/example10/quartz.properties')
}
tasks.register('runExample11', JavaExec) {
    description = 'Run Example 11'
    mainClass = 'org.quartz.examples.example11.LoadExample'
    systemProperty 'org.quartz.properties', 'org/quartz/examples/example11/quartz.properties'
}
tasks.register('runExample12Client', JavaExec) {
    description = 'Run Example 12 Client'
    mainClass = 'org.quartz.examples.example12.RemoteClientExample'
    systemProperty 'org.quartz.properties', 'org/quartz/examples/example12/client.properties'
}
tasks.register('runExample12Server', JavaExec) {
    description = 'Run Example 12 Server'
    mainClass = 'org.quartz.examples.example12.RemoteServerExample'
    systemProperty 'org.quartz.properties', 'org/quartz/examples/example12/server.properties'
}
tasks.register('runExample13Instance1', JavaExec) {
    description = 'Run Example 13 Instance 1'
    mainClass = 'org.quartz.examples.example13.ClusterExample'
    systemProperty 'org.quartz.properties', 'org/quartz/examples/example13/instance1.properties'
}
tasks.register('runExample13Instance2', JavaExec) {
    description = 'Run Example 13 Instance 2'
    mainClass = 'org.quartz.examples.example13.ClusterExample'
    systemProperty 'org.quartz.properties', 'org/quartz/examples/example13/instance2.properties'
}
tasks.register('runExample14', JavaExec) {
    description = 'Run Example 14'
    mainClass = 'org.quartz.examples.example14.PriorityExample'
}
tasks.register('runExample15', JavaExec) {
    description = 'Run Example 15'
    mainClass = "org.quartz.examples.example15.NativeJobExample"
}


================================================
FILE: examples/examples_guide.txt
================================================
Welcome
=======

Welcome to the Quartz Examples directory.  

This directory contains 15 examples that show you how to use various
features of Quartz.   Each example is located in its own subdirectory. 
Every example can be run using Windows .bat files or Linux/UNIX .sh files.  

Additionally, each example directory contains a readme.txt file.  Please 
read this file first, as it will contain useful information for running 
the examples.


Examples Listing
================

example1 -  Your first Quartz Program
example2 -  Using Simple Triggers
example3 -  Using Cron Triggers
example4 -  Job State and Job Parameters
example5 -  Job Misfires
example6 -  Handling Job Exceptions
example7 -  Interrupting Jobs
example8 -  How to use Quartz Calendars
example9 -  Using Job Listeners
example10 - Using Quartz Plug-Ins
example11 - Loading Up Quartz with Many Jobs
example12 - Remoting with Quartz using RMI
example13 - Clustering Quartz and JDBC Job Stores
example14 - Quartz Trigger Priorities
example15 - Running a native (shell) command from a Job


Further description of each example and possible configuration changes to them
is documented on the example class javadoc themselves, e.g. within
examples/src/main/java/org/quartz/examples/example11/LoadExample.java

Running the Examples
====================

The examples can be run from the examples folder of the repository, such as this:

../gradlew :examples:runExample1

or

../gradlew :examples:runExample4

or etc.


Note that examples 12 and 13 require running two process (this will need to be
done in separate terminals, or on separate machines):

For Example 12 you need to first run the "server" portion, and then run the
"client" portion of the example:

../gradlew :examples:runExample12Server
../gradlew :examples:runExample12Client

For Example 13 you need to run two instances (two cluster members):

../gradlew :examples:runExample13Instance1
../gradlew :examples:runExample13Instance2



================================================
FILE: examples/src/main/java/org/quartz/examples/example1/HelloJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example1;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

/**
 * <p>
 * This is just a simple job that says "Hello" to the world.
 * </p>
 * 
 * @author Bill Kratzer
 */
public class HelloJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(HelloJob.class);

    /**
     * <p>
     * Empty constructor for job initialization
     * </p>
     * <p>
     * Quartz requires a public empty constructor so that the
     * scheduler can instantiate the class whenever it needs.
     * </p>
     */
    public HelloJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // Say Hello to the World and display the date/time
        _log.info("Hello World! - " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example1/SimpleExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example1;

import static org.quartz.DateBuilder.evenMinuteDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This Example will demonstrate how to start and shutdown the Quartz scheduler and how to schedule a job to run in
 * Quartz.
 * 
 * @author Bill Kratzer
 */
public class SimpleExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(SimpleExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    // computer a time that is on the next round minute
    Date runTime = evenMinuteDate(new Date());

    log.info("------- Scheduling Job  -------------------");

    // define the job and tie it to our HelloJob class
    JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();

    // Trigger the job to run on the next round minute
    Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();

    // Tell quartz to schedule the job using our trigger
    sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + runTime);

    // Start up the scheduler (nothing can actually run until the
    // scheduler has been started)
    sched.start();

    log.info("------- Started Scheduler -----------------");

    // wait long enough so that the scheduler as an opportunity to
    // run the job!
    log.info("------- Waiting 65 seconds... -------------");
    try {
      // wait 65 seconds to show job
      Thread.sleep(65L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");
  }

  public static void main(String[] args) throws Exception {

    SimpleExample example = new SimpleExample();
    example.run();

  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example10/PlugInExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example10;

import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * This example will spawn a large number of jobs to run
 * 
 * @author James House, Bill Kratzer
 */
public class PlugInExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(PlugInExample.class);

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = null;
    try {
      sched = sf.getScheduler();
    } catch (NoClassDefFoundError e) {
      log.error(" Unable to load a class - most likely you do not have jta.jar on the classpath. If not present in the examples/lib folder, please " +
                "add it there for this sample to run.", e);
      return;
    }

    log.info("------- Initialization Complete -----------");

    log.info("------- (Not directly Scheduling any Jobs - relying on XML definitions of jobs/triggers to be loaded by plugin --");

    log.info("------- Starting Scheduler ----------------");

    // start the schedule
    sched.start();

    log.info("------- Started Scheduler -----------------");

    log.info("------- Waiting five minutes... -----------");

    // wait five minutes to give our jobs a chance to run
    try {
      Thread.sleep(300L * 1000L);
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");
  }

  public static void main(String[] args) throws Exception {

    PlugInExample example = new PlugInExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example10/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example10;

import java.util.Date;
import java.util.Set;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

    /**
     * Empty constructor for job initialization
     */
    public SimpleJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    @SuppressWarnings("unchecked")
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("Executing job: " + jobKey + " executing at " + new Date() + ", fired by: " + context.getTrigger().getKey());
        
        if(context.getMergedJobDataMap().size() > 0) {
            Set<String> keys = context.getMergedJobDataMap().keySet();
            for(String key: keys) {
                String val = context.getMergedJobDataMap().getString(key);
                _log.info(" - jobDataMap entry: " + key + " = " + val);
            }
        }
        
        context.setResult("hello");
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example11/LoadExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example11;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * This example will spawn a large number of jobs to run
 *
 * This example demonstrates how Quartz can handle a large
 * number of jobs.   This example starts with 500 jobs.  However,
 * this number can be changed by modifying the start scripts.
 *
 * Due to the size of the thread pool (this example uses as thread
 * count of 15), only 15 threads will run concurrently in the
 * scheduler.
 *
 * You can change this parameter in the quartz.properties file.
 * 
 * @author James House, Bill Kratzer
 */
public class LoadExample {

  private int _numberOfJobs = 500;

  public LoadExample(int inNumberOfJobs) {
    _numberOfJobs = inNumberOfJobs;
  }

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(LoadExample.class);

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    // schedule 500 jobs to run
    for (int count = 1; count <= _numberOfJobs; count++) {
      JobDetail job = newJob(SimpleJob.class).withIdentity("job" + count, "group_1").requestRecovery() // ask scheduler
                                                                                                       // to re-execute
                                                                                                       // this job if it
                                                                                                       // was in
                                                                                                       // progress when
                                                                                                       // the scheduler
                                                                                                       // went down...
          .build();

      // tell the job to delay some small amount... to simulate work...
      long timeDelay = (long) (java.lang.Math.random() * 2500);
      job.getJobDataMap().put(SimpleJob.DELAY_TIME, timeDelay);

      Trigger trigger = newTrigger().withIdentity("trigger_" + count, "group_1")
          .startAt(futureDate((10000 + (count * 100)), IntervalUnit.MILLISECOND)) // space fire times a small bit
          .build();

      sched.scheduleJob(job, trigger);
      if (count % 25 == 0) {
        log.info("...scheduled " + count + " jobs");
      }
    }

    log.info("------- Starting Scheduler ----------------");

    // start the schedule
    sched.start();

    log.info("------- Started Scheduler -----------------");

    log.info("------- Waiting five minutes... -----------");

    // wait five minutes to give our jobs a chance to run
    try {
      Thread.sleep(300L * 1000L);
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");
  }

  public static void main(String[] args) throws Exception {

    int numberOfJobs = 500;
    if (args.length == 1) {
      numberOfJobs = Integer.parseInt(args[0]);
    }
    if (args.length > 1) {
      System.out.println("Usage: java " + LoadExample.class.getName() + "[# of jobs]");
      return;
    }
    LoadExample example = new LoadExample(numberOfJobs);
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example11/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example11;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob implements Job {

  private static Logger      _log       = LoggerFactory.getLogger(SimpleJob.class);

  // job parameter
  public static final String DELAY_TIME = "delay time";

  /**
   * Empty constructor for job initialization
   */
  public SimpleJob() {
  }

  /**
   * <p>
   * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code> fires that
   * is associated with the <code>Job</code>.
   * </p>
   * 
   * @throws JobExecutionException if there is an exception while executing the job.
   */
  public void execute(JobExecutionContext context) throws JobExecutionException {

    // This job simply prints out its job name and the
    // date and time that it is running
    JobKey jobKey = context.getJobDetail().getKey();
    _log.info("Executing job: " + jobKey + " executing at " + new Date());

    // wait for a period of time
    long delayTime = context.getJobDetail().getJobDataMap().getLong(DELAY_TIME);
    try {
      Thread.sleep(delayTime);
    } catch (Exception e) {
      //
    }

    _log.info("Finished Executing job: " + jobKey + " at " + new Date());
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example12/RemoteClientExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example12;

import static org.quartz.CronScheduleBuilder.cronSchedule;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * This example is a client program that will remotely 
 * talk to the scheduler to schedule a job.   In this 
 * example, we will need to use the JDBC Job Store.  The 
 * client will connect to the JDBC Job Store remotely to 
 * schedule the job.
 *
 * This example demonstrates how Quartz can be used in a client/server
 * environment to remotely schedule jobs on a remote server using
 * RMI (Remote Method Invocation).
 *
 * This example will run a server that will execute the schedule.  The
 * server itself will not schedule any jobs.   This example will also
 * execute a client that will connect to the server (via RMI) to
 * schedule the job.  Once the job is remotely scheduled, the scheduler on
 * the server will run the job (at the correct time).
 *
 * Note:  This example works best when you run the client and server on
 * different computers.  However, you can certainly run the server and
 * the client on the same box!
 *
 * Port # used for RMI connection can be modified in the example's
 * property files
 *
 * @author James House, Bill Kratzer
 */
public class RemoteClientExample {

    public void run() throws Exception {

        Logger log = LoggerFactory.getLogger(RemoteClientExample.class);

        // First we must get a reference to a scheduler
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler sched = sf.getScheduler();

        // define the job and ask it to run
        JobDetail job = newJob(SimpleJob.class)
            .withIdentity("remotelyAddedJob", "default")
            .build();
        
        JobDataMap map = job.getJobDataMap();
        map.put("msg", "Your remotely added job has executed!");
        
        Trigger trigger = newTrigger()
            .withIdentity("remotelyAddedTrigger", "default")
            .forJob(job.getKey())
            .withSchedule(cronSchedule("/5 * * ? * *"))
            .build();

        // schedule the job
        sched.scheduleJob(job, trigger);

        log.info("Remote job scheduled.");
    }

    public static void main(String[] args) throws Exception {

        RemoteClientExample example = new RemoteClientExample();
        example.run();
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example12/RemoteServerExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example12;

import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *  This example demonstrates how Quartz can be used in a client/server
 *  environment to remotely schedule jobs on a remote server using
 *  RMI (Remote Method Invocation).
 *
 *  This example will run a server that will execute the schedule.  The
 *  server itself will not schedule any jobs.   This example will also
 *  execute a client that will connect to the server (via RMI) to
 *  schedule the job.  Once the job is remotely scheduled, the scheduler on
 *  the server will run the job (at the correct time).
 *  Note:  This example works best when you run the client and server on
 *  different computers.  However, you can certainly run the server and
 *  the client on the same box!
 *
 *  Port # used for RMI connection can be modified in the example's
 *  property files
 *
 * @author Bill Kratzer
 */
public class RemoteServerExample {

  /**
   * This example will spawn a large number of jobs to run
   * 
   * @author James House, Bill Kratzer
   */
  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(RemoteServerExample.class);

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- (Not Scheduling any Jobs - relying on a remote client to schedule jobs --");

    log.info("------- Starting Scheduler ----------------");

    // start the schedule
    sched.start();

    log.info("------- Started Scheduler -----------------");

    log.info("------- Waiting ten minutes... ------------");

    // wait five minutes to give our jobs a chance to run
    try {
      Thread.sleep(600L * 1000L);
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");
  }

  public static void main(String[] args) throws Exception {

    RemoteServerExample example = new RemoteServerExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example12/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example12;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;

/**
 * <p>
 * A dumb implementation of Job, for unittesting purposes.
 * </p>
 * 
 * @author James House
 */
public class SimpleJob implements Job {

    public static final String MESSAGE = "msg";

    private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

    /**
     * Quartz requires a public empty constructor so that the
     * scheduler can instantiate the class whenever it needs.
     */
    public SimpleJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();

        String message = (String) context.getJobDetail().getJobDataMap().get(MESSAGE);

        _log.info("SimpleJob: " + jobKey + " executing at " + new Date());
        _log.info("SimpleJob: msg: " + message);
    }

    

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example13/ClusterExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example13;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Used to test/show the clustering features of JDBCJobStore (JobStoreTX or JobStoreCMT).
 * <p>
 * All instances MUST use a different properties file, because their instance Ids must be different, however all other
 * properties should be the same.
 * </p>
 * <p>
 * If you want it to clear out existing jobs and triggers, pass a command-line argument called "clearJobs".
 * </p>
 * <p>
 * You should probably start with a "fresh" set of tables (assuming you may have some data lingering in it from other
 * tests), since mixing data from a non-clustered setup with a clustered one can be bad.
 * </p>
 * <p>
 * Try killing one of the cluster instances while they are running, and see that the remaining instance(s) recover the
 * in-progress jobs. Note that detection of the failure may take up to 15 or so seconds with the default settings.
 * </p>
 * <p>
 * Also try running it with/without the shutdown-hook plugin registered with the scheduler.
 * (org.quartz.plugins.management.ShutdownHookPlugin).
 * </p>
 * <p>
 * <i>Note:</i> Never run clustering on separate machines, unless their clocks are synchronized using some form of
 * time-sync service (such as an NTP daemon).
 * </p>
 *
 * Configure the instance1.properties file and the instance2.properties
 * file as necessary (see the "Configuration" section below for details).
 *
 * This example uses a database to maintain scheduling information in a
 * clustered environment.   You will need to first install the Quartz
 * database tables.  SQL table creation scripts are included with the Quartz
 * distribution for many popular database platforms.
 *
 * You will need a JDBC Driver for your database. The example uses Postgres to demonstrate
 * You can download Postgres JDBC driver here http://jdbc.postgresql.org
 * Just put the jar under "lib" folder of the Quartz distribution
 *
 * After you have installed the database scripts, you will need to
 * configure both properties file so that Quartz knows how to connect to
 * your database.
 *
 * The following parameters need to be set: (this shows a PostgreSQL example)
 *
 * <pre>
 * org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
 * org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
 * org.quartz.jobStore.useProperties=false
 * org.quartz.jobStore.dataSource=myDS
 * org.quartz.jobStore.tablePrefix=QRTZ_
 * org.quartz.jobStore.isClustered=true
 *
 * org.quartz.dataSource.myDS.driver = org.postgresql.Driver
 * org.quartz.dataSource.myDS.URL = jdbc:postgresql://localhost:5432/quartz
 * org.quartz.dataSource.myDS.user = quartz
 * org.quartz.dataSource.myDS.password = quartz
 * org.quartz.dataSource.myDS.maxConnections = 5
 * org.quartz.dataSource.myDS.validationQuery=
 * </pre>
 *
 * @see SimpleRecoveryJob
 * @see SimpleRecoveryStatefulJob
 * @author James House
 */
public class ClusterExample {

  private static Logger _log = LoggerFactory.getLogger(ClusterExample.class);

  public void run(boolean inClearJobs, boolean inScheduleJobs) throws Exception {

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    if (inClearJobs) {
      _log.warn("***** Deleting existing jobs/triggers *****");
      sched.clear();
    }

    _log.info("------- Initialization Complete -----------");

    if (inScheduleJobs) {

      _log.info("------- Scheduling Jobs ------------------");

      String schedId = sched.getSchedulerInstanceId();

      int count = 1;

      JobDetail job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) // put triggers in group
                                                                                            // named after the cluster
                                                                                            // node instance just to
                                                                                            // distinguish (in logging)
                                                                                            // what was scheduled from
                                                                                            // where
          .requestRecovery() // ask scheduler to re-execute this job if it was in progress when the scheduler went
                             // down...
          .build();

      SimpleTrigger trigger = newTrigger().withIdentity("trigger_" + count, schedId)
          .startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(5)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;

      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) // put triggers in group named after
                                                                                  // the cluster node instance just to
                                                                                  // distinguish (in logging) what was
                                                                                  // scheduled from where
          .requestRecovery() // ask scheduler to re-execute this job if it was in progress when the scheduler went
                             // down...
          .build();

      trigger = newTrigger().withIdentity("trigger_" + count, schedId).startAt(futureDate(2, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(5)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;

      job = newJob(SimpleRecoveryStatefulJob.class).withIdentity("job_" + count, schedId) // put triggers in group named
                                                                                          // after the cluster node
                                                                                          // instance just to
                                                                                          // distinguish (in logging)
                                                                                          // what was scheduled from
                                                                                          // where
          .requestRecovery() // ask scheduler to re-execute this job if it was in progress when the scheduler went
                             // down...
          .build();

      trigger = newTrigger().withIdentity("trigger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(3)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;

      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) // put triggers in group named after
                                                                                  // the cluster node instance just to
                                                                                  // distinguish (in logging) what was
                                                                                  // scheduled from where
          .requestRecovery() // ask scheduler to re-execute this job if it was in progress when the scheduler went
                             // down...
          .build();

      trigger = newTrigger().withIdentity("trigger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(4)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " & repeat: " + trigger.getRepeatCount()
                + "/" + trigger.getRepeatInterval());
      sched.scheduleJob(job, trigger);

      count++;

      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) // put triggers in group named after
                                                                                  // the cluster node instance just to
                                                                                  // distinguish (in logging) what was
                                                                                  // scheduled from where
          .requestRecovery() // ask scheduler to re-execute this job if it was in progress when the scheduler went
                             // down...
          .build();

      trigger = newTrigger().withIdentity("trigger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInMilliseconds(4500L)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " & repeat: " + trigger.getRepeatCount()
                + "/" + trigger.getRepeatInterval());
      sched.scheduleJob(job, trigger);
    }

    // jobs don't start firing until start() has been called...
    _log.info("------- Starting Scheduler ---------------");
    sched.start();
    _log.info("------- Started Scheduler ----------------");

    _log.info("------- Waiting for one hour... ----------");
    try {
      Thread.sleep(3600L * 1000L);
    } catch (Exception e) {
      //
    }

    _log.info("------- Shutting Down --------------------");
    sched.shutdown();
    _log.info("------- Shutdown Complete ----------------");
  }

  public static void main(String[] args) throws Exception {
    boolean clearJobs = false;
    boolean scheduleJobs = true;

    for (String arg : args) {
      if (arg.equalsIgnoreCase("clearJobs")) {
        clearJobs = true;
      } else if (arg.equalsIgnoreCase("dontScheduleJobs")) {
        scheduleJobs = false;
      }
    }

    ClusterExample example = new ClusterExample();
    example.run(clearJobs, scheduleJobs);
  }
}


================================================
FILE: examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example13;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * <p>
 * A dumb implementation of Job, for unit testing purposes.
 * </p>
 * 
 * @author James House
 */
public class SimpleRecoveryJob implements Job {

  private static Logger       _log  = LoggerFactory.getLogger(SimpleRecoveryJob.class);

  private static final String COUNT = "count";

  /**
   * Quartz requires a public empty constructor so that the scheduler can instantiate the class whenever it needs.
   */
  public SimpleRecoveryJob() {
  }

  /**
   * <p>
   * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code> fires that
   * is associated with the <code>Job</code>.
   * </p>
   * 
   * @throws JobExecutionException if there is an exception while executing the job.
   */
  public void execute(JobExecutionContext context) throws JobExecutionException {

    JobKey jobKey = context.getJobDetail().getKey();

    // if the job is recovering print a message
    if (context.isRecovering()) {
      _log.info("SimpleRecoveryJob: " + jobKey + " RECOVERING at " + new Date());
    } else {
      _log.info("SimpleRecoveryJob: " + jobKey + " starting at " + new Date());
    }

    // delay for ten seconds
    long delay = 10L * 1000L;
    try {
      Thread.sleep(delay);
    } catch (Exception e) {
      //
    }

    JobDataMap data = context.getJobDetail().getJobDataMap();
    int count;
    if (data.containsKey(COUNT)) {
      count = data.getInt(COUNT);
    } else {
      count = 0;
    }
    count++;
    data.put(COUNT, count);

    _log.info("SimpleRecoveryJob: " + jobKey + " done at " + new Date() + "\n Execution #" + count);

  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryStatefulJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example13;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.PersistJobDataAfterExecution;

/**
 * This job has the same functionality of SimpleRecoveryJob except that this job implements is 'stateful', in that it
 * will have it's data (JobDataMap) automatically re-persisted after each execution, and only one instance of the
 * JobDetail can be executed at a time.
 * 
 * @author Bill Kratzer
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class SimpleRecoveryStatefulJob extends SimpleRecoveryJob {

  public SimpleRecoveryStatefulJob() {
    super();
  }
}


================================================
FILE: examples/src/main/java/org/quartz/examples/example14/PriorityExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 package org.quartz.examples.example14;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This Example will demonstrate how Triggers are ordered by priority.
 */
public class PriorityExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(PriorityExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory("org/quartz/examples/example14/quartz_priority.properties");
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -------------------");

    JobDetail job = newJob(TriggerEchoJob.class).withIdentity("TriggerEchoJob").build();

    // All three triggers will fire their first time at the same time,
    // ordered by their priority, and then repeat once, firing in a
    // staggered order that therefore ignores priority.
    //
    // We should see the following firing order:
    // 1. Priority10Trigger15SecondRepeat
    // 2. Priority5Trigger10SecondRepeat
    // 3. Priority1Trigger5SecondRepeat
    // 4. Priority1Trigger5SecondRepeat
    // 5. Priority5Trigger10SecondRepeat
    // 6. Priority10Trigger15SecondRepeat

    // Calculate the start time of all triggers as 5 seconds from now
    Date startTime = futureDate(5, IntervalUnit.SECOND);

    // First trigger has priority of 1, and will repeat after 5 seconds
    Trigger trigger1 = newTrigger().withIdentity("Priority1Trigger5SecondRepeat").startAt(startTime)
        .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5)).withPriority(1).forJob(job).build();

    // Second trigger has default priority of 5 (default), and will repeat after 10 seconds
    Trigger trigger2 = newTrigger().withIdentity("Priority5Trigger10SecondRepeat").startAt(startTime)
        .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(10)).forJob(job).build();

    // Third trigger has priority 10, and will repeat after 15 seconds
    Trigger trigger3 = newTrigger().withIdentity("Priority10Trigger15SecondRepeat").startAt(startTime)
        .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(15)).withPriority(10).forJob(job)
        .build();

    // Tell quartz to schedule the job using our trigger
    sched.scheduleJob(job, trigger1);
    sched.scheduleJob(trigger2);
    sched.scheduleJob(trigger3);

    // Start up the scheduler (nothing can actually run until the
    // scheduler has been started)
    sched.start();
    log.info("------- Started Scheduler -----------------");

    // wait long enough so that the scheduler as an opportunity to
    // fire the triggers
    log.info("------- Waiting 30 seconds... -------------");
    try {
      Thread.sleep(30L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");
  }

  public static void main(String[] args) throws Exception {
    PriorityExample example = new PriorityExample();
    example.run();
  }
}


================================================
FILE: examples/src/main/java/org/quartz/examples/example14/TriggerEchoJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 package org.quartz.examples.example14;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

/**
 * This is just a simple job that echos the name of the Trigger
 * that fired it.
 */
public class TriggerEchoJob implements Job {

    private static final Logger LOG = LoggerFactory.getLogger(TriggerEchoJob.class);

    /**
     * Empty constructor for job initialization
     *
     * <p>
     * Quartz requires a public empty constructor so that the
     * scheduler can instantiate the class whenever it needs.
     * </p>
     */
    public TriggerEchoJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {
        LOG.info("TRIGGER: " + context.getTrigger().getKey());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example15/NativeJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */

package org.quartz.examples.example15;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

/**
 * <p> Built in job for executing native executables in a separate process.</p> 
 * 
 * <pre>
 *             JobDetail job = new JobDetail("dumbJob", null, org.quartz.jobs.NativeJob.class);
 *             job.getJobDataMap().put(org.quartz.jobs.NativeJob.PROP_COMMAND, "echo \"hi\" &gt;&gt; foobar.txt");
 *             Trigger trigger = TriggerUtils.makeSecondlyTrigger(5);
 *             trigger.setName("dumbTrigger");
 *             sched.scheduleJob(job, trigger);
 * </pre>
 * 
 * If PROP_WAIT_FOR_PROCESS is true, then the Integer exit value of the process
 * will be saved as the job execution result in the JobExecutionContext.
 *
 * IMPORTANT SECURITY NOTE: having a class such as this one on your application's classpath, along with a way for
 * users of the application to schedule their own jobs, may provide a security risk of letting users run arbitrary
 * commands on your system.  Take necessary precautions to avoid arbitrary configuring and scheduling of native jobs.
 * 
 * @see #PROP_COMMAND
 * @see #PROP_PARAMETERS
 * @see #PROP_WAIT_FOR_PROCESS
 * @see #PROP_CONSUME_STREAMS
 * 
 * @author Matthew Payne
 * @author James House
 * @author Steinar Overbeck Cook
 */
public class NativeJob implements Job {

    private final Logger log = LoggerFactory.getLogger(getClass());

    /*
     *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     *
     * Constants.
     *  
     *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */
        
    /**
     * Required parameter that specifies the name of the command (executable) 
     * to be ran.
     */
    public static final String PROP_COMMAND = "command";
    
    /**
     * Optional parameter that specifies the parameters to be passed to the
     * executed command.
     */
    public static final String PROP_PARAMETERS = "parameters";
    
    
    /**
     * Optional parameter (value should be 'true' or 'false') that specifies 
     * whether the job should wait for the execution of the native process to 
     * complete before it completes.
     * 
     * <p>Defaults to <code>true</code>.</p>  
     */
    public static final String PROP_WAIT_FOR_PROCESS = "waitForProcess";
    
    /**
     * Optional parameter (value should be 'true' or 'false') that specifies 
     * whether the spawned process's stdout and stderr streams should be 
     * consumed.  If the process creates output, it is possible that it might
     * 'hang' if the streams are not consumed.
     * 
     * <p>Defaults to <code>false</code>.</p>  
     */
    public static final String PROP_CONSUME_STREAMS = "consumeStreams";
    
    
    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * 
     * Interface.
     * 
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        JobDataMap data = context.getMergedJobDataMap();
        
        String command = data.getString(PROP_COMMAND);

        String parameters = data.getString(PROP_PARAMETERS);

        if (parameters == null) {
            parameters = "";
        }

        boolean wait = true;
        if(data.containsKey(PROP_WAIT_FOR_PROCESS)) {
            wait = data.getBooleanValue(PROP_WAIT_FOR_PROCESS);
        }
        boolean consumeStreams = false;
        if(data.containsKey(PROP_CONSUME_STREAMS)) {
            consumeStreams = data.getBooleanValue(PROP_CONSUME_STREAMS);
        }
            
        Integer exitCode = this.runNativeCommand(command, parameters, wait, consumeStreams);
        context.setResult(exitCode);
        
    }

    protected Logger getLog() {
        return log;
    }
    
    private Integer runNativeCommand(String command, String parameters, boolean wait, boolean consumeStreams) throws JobExecutionException {

        String[] cmd;
        String[] args = new String[2];
        Integer  result = null;
        args[0] = command;
        args[1] = parameters;

        
        try {
            //with this variable will be done the switching
            String osName = System.getProperty("os.name");

            // specific for Windows
            if (osName.startsWith("Windows")) {
                cmd = new String[args.length + 2];
                if (osName.equals("Windows 95")) { // windows 95 only
                    cmd[0] = "command.com";
                } else {
                    cmd[0] = "cmd.exe";
                }
                cmd[1] = "/C";
                System.arraycopy(args, 0, cmd, 2, args.length);
            } else if (osName.equals("Linux")) {
                cmd = new String[3];
                cmd[0] = "/bin/sh";
                 cmd[1] = "-c";
                 cmd[2] = args[0] + " " + args[1];
            } else { // try this... 
                cmd = args;
            }

            Runtime rt = Runtime.getRuntime();
            // Executes the command
            getLog().info("About to run " + cmd[0] + " " + cmd[1] + " " + (cmd.length>2 ? cmd[2] : "") + " ..."); 
            Process proc = rt.exec(cmd);
            // Consumes the stdout from the process
            StreamConsumer stdoutConsumer = new StreamConsumer(proc.getInputStream(), "stdout");

            // Consumes the stderr from the process
            if(consumeStreams) {
                StreamConsumer stderrConsumer = new StreamConsumer(proc.getErrorStream(), "stderr");
                stdoutConsumer.start();
                stderrConsumer.start();
            }
            
            if(wait) {
                result = proc.waitFor();
            }
            // any error message?
            
        } catch (Throwable x) {
            throw new JobExecutionException("Error launching native command: ", x, false);
        }
        
        return result;
    }

    /**
     * Consumes data from the given input stream until EOF and prints the data to stdout
     *
     * @author cooste
     * @author jhouse
     */
    class StreamConsumer extends Thread {
        InputStream is;
        String type;

        /**
         *
         */
        public StreamConsumer(InputStream inputStream, String type) {
            this.is = inputStream;
            this.type = type;
        }

        /**
         * Runs this object as a separate thread, printing the contents of the InputStream
         * supplied during instantiation, to either stdout or stderr
         */
        @Override
        public void run() {
            BufferedReader br = null;
            try {
                br = new BufferedReader(new InputStreamReader(is));
                String line;

                while ((line = br.readLine()) != null) {
                    if(type.equalsIgnoreCase("stderr")) {
                        getLog().warn(type + ">" + line);
                    } else {
                        getLog().info(type + ">" + line);
                    }
                }
            } catch (IOException ioe) {
                getLog().error("Error consuming " + type + " stream of spawned process.", ioe);
            } finally {
                if(br != null) {
                    try { br.close(); } catch(Exception ignore) {}
                }
            }
        }
    }
    
}


================================================
FILE: examples/src/main/java/org/quartz/examples/example15/NativeJobExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 package org.quartz.examples.example15;

import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.examples.example14.TriggerEchoJob;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

/**
 * This Example will demonstrate how run a NativeJob.
 *
 * Please see the note int the NativeJob javadoc about security concerns.
 */
public class NativeJobExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(NativeJobExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -------------------");

    JobDetail job = newJob(NativeJob.class).withIdentity("MyNativeJob").build();
    job.getJobDataMap().put(NativeJob.PROP_COMMAND, "echo");
    job.getJobDataMap().put(NativeJob.PROP_PARAMETERS, "\"ran the native command and captured the stdout.\"");
    job.getJobDataMap().put(NativeJob.PROP_CONSUME_STREAMS, true);

    // Calculate the start time of all triggers as 5 seconds from now
    Date startTime = futureDate(5, IntervalUnit.SECOND);

    // First trigger has priority of 1, and will repeat after 5 seconds
    Trigger trigger1 = newTrigger().withIdentity("TriggerWith5SecondRepeat").startAt(startTime)
        .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5)).forJob(job).build();

    // Tell quartz to schedule the job using our trigger
    sched.scheduleJob(job, trigger1);

    // Start up the scheduler (nothing can actually run until the
    // scheduler has been started)
    sched.start();
    log.info("------- Started Scheduler -----------------");

    // wait long enough so that the scheduler as an opportunity to
    // fire the triggers
    log.info("------- Waiting 30 seconds... -------------");
    try {
      Thread.sleep(30L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");
  }

  public static void main(String[] args) throws Exception {
    NativeJobExample example = new NativeJobExample();
    example.run();
  }
}


================================================
FILE: examples/src/main/java/org/quartz/examples/example2/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example2;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

    /**
     * Empty constructor for job initialization
     */
    public SimpleJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("SimpleJob says: " + jobKey + " executing at " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example2/SimpleTriggerExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example2;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.JobKey.jobKey;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.DateBuilder;
import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This Example will demonstrate all of the basics of scheduling capabilities of Quartz using Simple Triggers.
 * 
 * @author Bill Kratzer
 */
public class SimpleTriggerExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(SimpleTriggerExample.class);

    log.info("------- Initializing -------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete --------");

    log.info("------- Scheduling Jobs ----------------");

    // jobs can be scheduled before sched.start() has been called

    // get a "nice round" time a few seconds in the future...
    Date startTime = DateBuilder.nextGivenSecondDate(null, 15);

    // job1 will only fire once at date/time "ts"
    JobDetail job = newJob(SimpleJob.class).withIdentity("job1", "group1").build();

    SimpleTrigger trigger = (SimpleTrigger) newTrigger().withIdentity("trigger1", "group1").startAt(startTime).build();

    // schedule it to run!
    Date ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // job2 will only fire once at date/time "ts"
    job = newJob(SimpleJob.class).withIdentity("job2", "group1").build();

    trigger = (SimpleTrigger) newTrigger().withIdentity("trigger2", "group1").startAt(startTime).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // job3 will run 11 times (run once and repeat 10 more times)
    // job3 will repeat every 10 seconds
    job = newJob(SimpleJob.class).withIdentity("job3", "group1").build();

    trigger = newTrigger().withIdentity("trigger3", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(10)).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // the same job (job3) will be scheduled by a another trigger
    // this time will only repeat twice at a 70 second interval

    trigger = newTrigger().withIdentity("trigger3", "group2").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(2)).forJob(job).build();

    ft = sched.scheduleJob(trigger);
    log.info(job.getKey() + " will [also] run at: " + ft + " and repeat: " + trigger.getRepeatCount()
             + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");

    // job4 will run 6 times (run once and repeat 5 more times)
    // job4 will repeat every 10 seconds
    job = newJob(SimpleJob.class).withIdentity("job4", "group1").build();

    trigger = newTrigger().withIdentity("trigger4", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(5)).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // job5 will run once, five minutes in the future
    job = newJob(SimpleJob.class).withIdentity("job5", "group1").build();

    trigger = (SimpleTrigger) newTrigger().withIdentity("trigger5", "group1")
        .startAt(futureDate(5, IntervalUnit.MINUTE)).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // job6 will run indefinitely, every 40 seconds
    job = newJob(SimpleJob.class).withIdentity("job6", "group1").build();

    trigger = newTrigger().withIdentity("trigger6", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(40).repeatForever()).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    log.info("------- Starting Scheduler ----------------");

    // All of the jobs have been added to the scheduler, but none of the jobs
    // will run until the scheduler has been started
    sched.start();

    log.info("------- Started Scheduler -----------------");

    // jobs can also be scheduled after start() has been called...
    // job7 will repeat 20 times, repeat every five minutes
    job = newJob(SimpleJob.class).withIdentity("job7", "group1").build();

    trigger = newTrigger().withIdentity("trigger7", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInMinutes(5).withRepeatCount(20)).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // jobs can be fired directly... (rather than waiting for a trigger)
    job = newJob(SimpleJob.class).withIdentity("job8", "group1").storeDurably().build();

    sched.addJob(job, true);

    log.info("'Manually' triggering job8...");
    sched.triggerJob(jobKey("job8", "group1"));

    log.info("------- Waiting 30 seconds... --------------");

    try {
      // wait 33 seconds to show jobs
      Thread.sleep(30L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // jobs can be re-scheduled...
    // job 7 will run immediately and repeat 10 times for every second
    log.info("------- Rescheduling... --------------------");
    trigger = newTrigger().withIdentity("trigger7", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInMinutes(5).withRepeatCount(20)).build();

    ft = sched.rescheduleJob(trigger.getKey(), trigger);
    log.info("job7 rescheduled to run at: " + ft);

    log.info("------- Waiting five minutes... ------------");
    try {
      // wait five minutes to show jobs
      Thread.sleep(300L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(true);

    log.info("------- Shutdown Complete -----------------");

    // display some stats about the schedule that just ran
    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    SimpleTriggerExample example = new SimpleTriggerExample();
    example.run();

  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example3/CronTriggerExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example3;

import static org.quartz.CronScheduleBuilder.cronSchedule;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This Example will demonstrate all of the basics of scheduling capabilities of Quartz using Cron Triggers.
 * 
 * @author Bill Kratzer
 */
public class CronTriggerExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(CronTriggerExample.class);

    log.info("------- Initializing -------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete --------");

    log.info("------- Scheduling Jobs ----------------");

    // jobs can be scheduled before sched.start() has been called

    // job 1 will run every 20 seconds
    JobDetail job = newJob(SimpleJob.class).withIdentity("job1", "group1").build();

    CronTrigger trigger = newTrigger().withIdentity("trigger1", "group1").withSchedule(cronSchedule("0/20 * * * * ?"))
        .build();

    Date ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 2 will run every other minute (at 15 seconds past the minute)
    job = newJob(SimpleJob.class).withIdentity("job2", "group1").build();

    trigger = newTrigger().withIdentity("trigger2", "group1").withSchedule(cronSchedule("15 0/2 * * * ?")).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 3 will run every other minute but only between 8am and 5pm
    job = newJob(SimpleJob.class).withIdentity("job3", "group1").build();

    trigger = newTrigger().withIdentity("trigger3", "group1").withSchedule(cronSchedule("0 0/2 8-17 * * ?")).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 4 will run every three minutes but only between 5pm and 11pm
    job = newJob(SimpleJob.class).withIdentity("job4", "group1").build();

    trigger = newTrigger().withIdentity("trigger4", "group1").withSchedule(cronSchedule("0 0/3 17-23 * * ?")).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 5 will run at 10am on the 1st and 15th days of the month
    job = newJob(SimpleJob.class).withIdentity("job5", "group1").build();

    trigger = newTrigger().withIdentity("trigger5", "group1").withSchedule(cronSchedule("0 0 10am 1,15 * ?")).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 6 will run every 30 seconds but only on Weekdays (Monday through Friday)
    job = newJob(SimpleJob.class).withIdentity("job6", "group1").build();

    trigger = newTrigger().withIdentity("trigger6", "group1").withSchedule(cronSchedule("0,30 * * ? * MON-FRI"))
        .build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    // job 7 will run every 30 seconds but only on Weekends (Saturday and Sunday)
    job = newJob(SimpleJob.class).withIdentity("job7", "group1").build();

    trigger = newTrigger().withIdentity("trigger7", "group1").withSchedule(cronSchedule("0,30 * * ? * SAT,SUN"))
        .build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " has been scheduled to run at: " + ft + " and repeat based on expression: "
             + trigger.getCronExpression());

    log.info("------- Starting Scheduler ----------------");

    // All of the jobs have been added to the scheduler, but none of the
    // jobs
    // will run until the scheduler has been started
    sched.start();

    log.info("------- Started Scheduler -----------------");

    log.info("------- Waiting five minutes... ------------");
    try {
      // wait five minutes to show jobs
      Thread.sleep(300L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(true);

    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    CronTriggerExample example = new CronTriggerExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example3/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example3;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

    /**
     * Quartz requires a public empty constructor so that the
     * scheduler can instantiate the class whenever it needs.
     */
    public SimpleJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("SimpleJob says: " + jobKey + " executing at " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example4/ColorJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example4;

import java.util.Date;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.PersistJobDataAfterExecution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>
 * This is just a simple job that receives parameters and
 * maintains state
 * </p>
 * 
 * @author Bill Kratzer
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class ColorJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(ColorJob.class);
    
    // parameter names specific to this job
    public static final String FAVORITE_COLOR = "favorite color";
    public static final String EXECUTION_COUNT = "count";
    
    // Since Quartz will re-instantiate a class every time it
    // gets executed, members non-static member variables can
    // not be used to maintain state!
    private int _counter = 1;

    /**
     * <p>
     * Empty constructor for job initialization
     * </p>
     * <p>
     * Quartz requires a public empty constructor so that the
     * scheduler can instantiate the class whenever it needs.
     * </p>
     */
    public ColorJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        
        // Grab and print passed parameters
        JobDataMap data = context.getJobDetail().getJobDataMap();
        String favoriteColor = data.getString(FAVORITE_COLOR);
        int count = data.getInt(EXECUTION_COUNT);
        _log.info("ColorJob: " + jobKey + " executing at " + new Date() + "\n" +
            "  favorite color is " + favoriteColor + "\n" + 
            "  execution count (from job map) is " + count + "\n" + 
            "  execution count (from job member variable) is " + _counter);
        
        // increment the count and store it back into the 
        // job map so that job state can be properly maintained
        count++;
        data.put(EXECUTION_COUNT, count);
        
        // Increment the local member variable 
        // This serves no real purpose since job state can not 
        // be maintained via member variables!
        _counter++;
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example4/JobStateExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example4;

import static org.quartz.DateBuilder.nextGivenSecondDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This Example will demonstrate how job parameters can be passed into jobs and how state can be maintained
 * 
 * @author Bill Kratzer
 */
public class JobStateExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(JobStateExample.class);

    log.info("------- Initializing -------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete --------");

    log.info("------- Scheduling Jobs ----------------");

    // get a "nice round" time a few seconds in the future....
    Date startTime = nextGivenSecondDate(null, 10);

    // job1 will only run 5 times (at start time, plus 4 repeats), every 10 seconds
    JobDetail job1 = newJob(ColorJob.class).withIdentity("job1", "group1").build();

    SimpleTrigger trigger1 = newTrigger().withIdentity("trigger1", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(4)).build();

    // pass initialization parameters into the job
    job1.getJobDataMap().put(ColorJob.FAVORITE_COLOR, "Green");
    job1.getJobDataMap().put(ColorJob.EXECUTION_COUNT, 1);

    // schedule the job to run
    Date scheduleTime1 = sched.scheduleJob(job1, trigger1);
    log.info(job1.getKey() + " will run at: " + scheduleTime1 + " and repeat: " + trigger1.getRepeatCount()
             + " times, every " + trigger1.getRepeatInterval() / 1000 + " seconds");

    // job2 will also run 5 times, every 10 seconds
    JobDetail job2 = newJob(ColorJob.class).withIdentity("job2", "group1").build();

    SimpleTrigger trigger2 = newTrigger().withIdentity("trigger2", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(4)).build();

    // pass initialization parameters into the job
    // this job has a different favorite color!
    job2.getJobDataMap().put(ColorJob.FAVORITE_COLOR, "Red");
    job2.getJobDataMap().put(ColorJob.EXECUTION_COUNT, 1);

    // schedule the job to run
    Date scheduleTime2 = sched.scheduleJob(job2, trigger2);
    log.info(job2.getKey().toString() + " will run at: " + scheduleTime2 + " and repeat: " + trigger2.getRepeatCount()
             + " times, every " + trigger2.getRepeatInterval() / 1000 + " seconds");

    log.info("------- Starting Scheduler ----------------");

    // All of the jobs have been added to the scheduler, but none of the jobs
    // will run until the scheduler has been started
    sched.start();

    log.info("------- Started Scheduler -----------------");

    log.info("------- Waiting 60 seconds... -------------");
    try {
      // wait five minutes to show jobs
      Thread.sleep(60L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(true);

    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    JobStateExample example = new JobStateExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example5/MisfireExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example5;

import static org.quartz.DateBuilder.nextGivenSecondDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * Demonstrates the behavior of <code>StatefulJob</code>s, as well as how misfire instructions affect the firings of
 * triggers of <code>StatefulJob</code> s - when the jobs take longer to execute that the frequency of the trigger's
 * repetition.
 * <p>
 * While the example is running, you should note that there are two triggers with identical schedules, firing identical
 * jobs. The triggers "want" to fire every 3 seconds, but the jobs take 10 seconds to execute. Therefore, by the time
 * the jobs complete their execution, the triggers have already "misfired" (unless the scheduler's "misfire threshold"
 * has been set to more than 7 seconds). You should see that one of the jobs has its misfire instruction set to
 * <code>SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT</code>, which causes it to fire
 * immediately, when the misfire is detected. The other trigger uses the default "smart policy" misfire instruction,
 * which causes the trigger to advance to its next fire time (skipping those that it has missed) - so that it does not
 * refire immediately, but rather at the next scheduled time.
 * </p>
 * 
 * @author <a href="mailto:bonhamcm@thirdeyeconsulting.com">Chris Bonham</a>
 */
public class MisfireExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(MisfireExample.class);

    log.info("------- Initializing -------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory("org/quartz/examples/example5/quartz_misfire.properties");
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -----------");

    // jobs can be scheduled before start() has been called

    // get a "nice round" time a few seconds in the future...
    Date startTime = nextGivenSecondDate(null, 15);

    // statefulJob1 will run every three seconds
    // (but it will delay for ten seconds)
    JobDetail job = newJob(StatefulDumbJob.class).withIdentity("statefulJob1", "group1")
        .usingJobData(StatefulDumbJob.EXECUTION_DELAY, 10000L).build();

    SimpleTrigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(3).repeatForever()).build();

    Date ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // statefulJob2 will run every three seconds
    // (but it will delay for ten seconds - and therefore purposely misfire after a few iterations)
    job = newJob(StatefulDumbJob.class).withIdentity("statefulJob2", "group1")
        .usingJobData(StatefulDumbJob.EXECUTION_DELAY, 10000L).build();

    trigger = newTrigger()
        .withIdentity("trigger2", "group1")
        .startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(3).repeatForever()
                          .withMisfireHandlingInstructionNowWithExistingCount()) // set misfire instructions
        .build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    log.info("------- Starting Scheduler ----------------");

    // jobs don't start firing until start() has been called...
    sched.start();

    log.info("------- Started Scheduler -----------------");

    try {
      // sleep for ten minutes for triggers to file....
      Thread.sleep(600L * 1000L);
    } catch (Exception e) {
      //
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(true);

    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");
  }

  public static void main(String[] args) throws Exception {

    MisfireExample example = new MisfireExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example5/StatefulDumbJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example5;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.PersistJobDataAfterExecution;

import java.util.Date;

/**
 * <p>
 * A dumb implementation of Job, for unit testing purposes.
 * </p>
 * 
 * @author James House
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class StatefulDumbJob implements Job {

  /*
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Constants.
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */

  public static final String NUM_EXECUTIONS  = "NumExecutions";

  public static final String EXECUTION_DELAY = "ExecutionDelay";

  /*
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Constructors.
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */

  public StatefulDumbJob() {
  }

  /*
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Interface.
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */

  /**
   * <p>
   * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code> fires that
   * is associated with the <code>Job</code>.
   * </p>
   * 
   * @throws JobExecutionException if there is an exception while executing the job.
   */
  public void execute(JobExecutionContext context) throws JobExecutionException {
    System.err.println("---" + context.getJobDetail().getKey() + " executing.[" + new Date() + "]");

    JobDataMap map = context.getJobDetail().getJobDataMap();

    int executeCount = 0;
    if (map.containsKey(NUM_EXECUTIONS)) {
      executeCount = map.getInt(NUM_EXECUTIONS);
    }

    executeCount++;

    map.put(NUM_EXECUTIONS, executeCount);

    long delay = 5000l;
    if (map.containsKey(EXECUTION_DELAY)) {
      delay = map.getLong(EXECUTION_DELAY);
    }

    try {
      Thread.sleep(delay);
    } catch (Exception ignore) {
      //
    }

    System.err.println("  -" + context.getJobDetail().getKey() + " complete (" + executeCount + ").");

  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example6/BadJob1.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example6;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.PersistJobDataAfterExecution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * <p>
 * A job dumb job that will throw a job execution exception
 * </p>
 * 
 * @author Bill Kratzer
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class BadJob1 implements Job {

  // Logging
  private static Logger _log = LoggerFactory.getLogger(BadJob1.class);
  private int calculation;

  /**
   * Empty public constructor for job initialization
   */
  public BadJob1() {
  }

  /**
   * <p>
   * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code> fires that
   * is associated with the <code>Job</code>.
   * </p>
   * 
   * @throws JobExecutionException if there is an exception while executing the job.
   */
  public void execute(JobExecutionContext context) throws JobExecutionException {
    JobKey jobKey = context.getJobDetail().getKey();
    JobDataMap dataMap = context.getJobDetail().getJobDataMap();

    int denominator = dataMap.getInt("denominator");
    _log.info("---" + jobKey + " executing at " + new Date() + " with denominator " + denominator);

    // a contrived example of an exception that
    // will be generated by this job due to a
    // divide by zero error (only on first run)
    try {
      calculation = 4815 / denominator;
    } catch (Exception e) {
      _log.info("--- Error in job!");
      JobExecutionException e2 = new JobExecutionException(e);

      // fix denominator so the next time this job run
      // it won't fail again
      dataMap.put("denominator", "1");

      // this job will refire immediately
      e2.setRefireImmediately(true);
      throw e2;
    }

    _log.info("---" + jobKey + " completed at " + new Date());
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example6/BadJob2.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example6;

import java.util.Date;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.PersistJobDataAfterExecution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>
 * A job dumb job that will throw a job execution exception
 * </p>
 * 
 * @author Bill Kratzer
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class BadJob2 implements Job {

    // Logging
    private static Logger _log = LoggerFactory.getLogger(BadJob2.class);
    private int calculation;

    /**
     * Empty public constructor for job initialization
     */
    public BadJob2() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code>
     * fires that is associated with the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *           if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("---" + jobKey + " executing at " + new Date());

        // a contrived example of an exception that
        // will be generated by this job due to a 
        // divide by zero error
        try {
            int zero = 0;
            calculation = 4815 / zero;
        } catch (Exception e) {
            _log.info("--- Error in job!");
            JobExecutionException e2 = 
                new JobExecutionException(e);
            // Quartz will automatically unschedule
            // all triggers associated with this job
            // so that it does not run again
            e2.setUnscheduleAllTriggers(true);
            throw e2;
        }

        _log.info("---" + jobKey + " completed at " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example6/JobExceptionExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example6;

import static org.quartz.DateBuilder.nextGivenSecondDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * This job demonstrates how Quartz can handle JobExecutionExceptions that are thrown by jobs.
 * 
 * @author Bill Kratzer
 */
public class JobExceptionExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(JobExceptionExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete ------------");

    log.info("------- Scheduling Jobs -------------------");

    // jobs can be scheduled before start() has been called

    // get a "nice round" time a few seconds in the future...
    Date startTime = nextGivenSecondDate(null, 15);

    // badJob1 will run every 10 seconds
    // this job will throw an exception and refire
    // immediately
    JobDetail job = newJob(BadJob1.class).withIdentity("badJob1", "group1").usingJobData("denominator", "0").build();

    SimpleTrigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(10).repeatForever()).build();

    Date ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // badJob2 will run every five seconds
    // this job will throw an exception and never
    // refire
    job = newJob(BadJob2.class).withIdentity("badJob2", "group1").build();

    trigger = newTrigger().withIdentity("trigger2", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();

    ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    log.info("------- Starting Scheduler ----------------");

    // jobs don't start firing until start() has been called...
    sched.start();

    log.info("------- Started Scheduler -----------------");

    try {
      // sleep for 30 seconds
      Thread.sleep(30L * 1000L);
    } catch (Exception e) {
      //
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(false);

    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");
  }

  public static void main(String[] args) throws Exception {

    JobExceptionExample example = new JobExceptionExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example7/DumbInterruptableJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example7;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.InterruptableJob;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.UnableToInterruptJobException;


/**
 * <p>
 * A dumb implementation of an InterruptableJob, for unit testing purposes.
 * </p>
 * 
 * @author <a href="mailto:bonhamcm@thirdeyeconsulting.com">Chris Bonham</a>
 * @author Bill Kratzer
 */
public class DumbInterruptableJob implements InterruptableJob {
    
    // logging services
    private static Logger _log = LoggerFactory.getLogger(DumbInterruptableJob.class);
    
    // has the job been interrupted?
    private boolean _interrupted = false;

    // job name 
    private JobKey _jobKey = null;
    
    /**
     * <p>
     * Empty constructor for job initialization
     * </p>
     */
    public DumbInterruptableJob() {
    }


    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a <code>{@link org.quartz.Trigger}</code>
     * fires that is associated with the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *           if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        _jobKey = context.getJobDetail().getKey();
        _log.info("---- " + _jobKey + " executing at " + new Date());

        try {
            // main job loop... see the JavaDOC for InterruptableJob for discussion...
            // do some work... in this example we are 'simulating' work by sleeping... :)

            for (int i = 0; i < 4; i++) {
                try {
                    Thread.sleep(1000L);
                } catch (Exception ignore) {
                    ignore.printStackTrace();
                }
                
                // periodically check if we've been interrupted...
                if(_interrupted) {
                    _log.info("--- " + _jobKey + "  -- Interrupted... bailing out!");
                    return; // could also choose to throw a JobExecutionException 
                             // if that made for sense based on the particular  
                             // job's responsibilities/behaviors
                }
            }
            
        } finally {
            _log.info("---- " + _jobKey + " completed at " + new Date());
        }
    }
    
    /**
     * <p>
     * Called by the Scheduler when a user
     * interrupts the <code>Job</code>.
     * </p>
     *
     * @throws org.quartz.UnableToInterruptJobException
     *           if there is an exception while interrupting the job.
     */
    public void interrupt() throws UnableToInterruptJobException {
        _log.info("---" + _jobKey + "  -- INTERRUPTING --");
        _interrupted = true;
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example7/InterruptExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example7;

import static org.quartz.DateBuilder.nextGivenSecondDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * Demonstrates the behavior of <code>StatefulJob</code>s, as well as how misfire instructions affect the firings of
 * triggers of <code>StatefulJob</code> s - when the jobs take longer to execute that the frequency of the trigger's
 * repetition.
 * <p>
 * While the example is running, you should note that there are two triggers with identical schedules, firing identical
 * jobs. The triggers "want" to fire every 3 seconds, but the jobs take 10 seconds to execute. Therefore, by the time
 * the jobs complete their execution, the triggers have already "misfired" (unless the scheduler's "misfire threshold"
 * has been set to more than 7 seconds). You should see that one of the jobs has its misfire instruction set to
 * <code>SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT</code>- which causes it to fire
 * immediately, when the misfire is detected. The other trigger uses the default "smart policy" misfire instruction,
 * which causes the trigger to advance to its next fire time (skipping those that it has missed) - so that it does not
 * refire immediately, but rather at the next scheduled time.
 * </p>
 * 
 * @author <a href="mailto:bonhamcm@thirdeyeconsulting.com">Chris Bonham</a>
 */
public class InterruptExample {

  public void run() throws Exception {
    final Logger log = LoggerFactory.getLogger(InterruptExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -------------------");

    // get a "nice round" time a few seconds in the future...
    Date startTime = nextGivenSecondDate(null, 15);

    JobDetail job = newJob(DumbInterruptableJob.class).withIdentity("interruptableJob1", "group1").build();

    SimpleTrigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(startTime)
        .withSchedule(simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();

    Date ft = sched.scheduleJob(job, trigger);
    log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every "
             + trigger.getRepeatInterval() / 1000 + " seconds");

    // start up the scheduler (jobs do not start to fire until
    // the scheduler has been started)
    sched.start();
    log.info("------- Started Scheduler -----------------");

    log.info("------- Starting loop to interrupt job every 7 seconds ----------");
    for (int i = 0; i < 50; i++) {
      try {
        Thread.sleep(7000L);
        // tell the scheduler to interrupt our job
        sched.interrupt(job.getKey());
      } catch (Exception e) {
        //
      }
    }

    log.info("------- Shutting Down ---------------------");

    sched.shutdown(true);

    log.info("------- Shutdown Complete -----------------");
    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    InterruptExample example = new InterruptExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example8/CalendarExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example8;

import static org.quartz.DateBuilder.dateOf;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.SimpleTrigger;
import org.quartz.examples.example2.SimpleJob;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.calendar.AnnualCalendar;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * This example will demonstrate how calendars can be used to exclude periods of time when scheduling should not take
 * place.
 */
public class CalendarExample {

  public void run() throws Exception {
    final Logger log = LoggerFactory.getLogger(CalendarExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -------------------");

    // Add the holiday calendar to the schedule
    AnnualCalendar holidays = new AnnualCalendar();

    // fourth of July (July 4)
    Calendar fourthOfJuly = new GregorianCalendar(2005, 6, 4);
    holidays.setDayExcluded(fourthOfJuly, true);
    // halloween (Oct 31)
    Calendar halloween = new GregorianCalendar(2005, 9, 31);
    holidays.setDayExcluded(halloween, true);
    // christmas (Dec 25)
    Calendar christmas = new GregorianCalendar(2005, 11, 25);
    holidays.setDayExcluded(christmas, true);

    // tell the schedule about our holiday calendar
    sched.addCalendar("holidays", holidays, false, false);

    // schedule a job to run hourly, starting on halloween
    // at 10 am
    Date runDate = dateOf(0, 0, 10, 31, 10);

    JobDetail job = newJob(SimpleJob.class).withIdentity("job1", "group1").build();

    SimpleTrigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runDate)
        .withSchedule(simpleSchedule().withIntervalInHours(1).repeatForever()).modifiedByCalendar("holidays").build();

    // schedule the job and print the first run date
    Date firstRunTime = sched.scheduleJob(job, trigger);

    // print out the first execution date.
    // Note: Since Halloween (Oct 31) is a holiday, then
    // we will not run until the next day! (Nov 1)
    log.info(job.getKey() + " will run at: " + firstRunTime + " and repeat: " + trigger.getRepeatCount()
             + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");

    // All of the jobs have been added to the scheduler, but none of the jobs
    // will run until the scheduler has been started
    log.info("------- Starting Scheduler ----------------");
    sched.start();

    // wait 30 seconds:
    // note: nothing will run
    log.info("------- Waiting 30 seconds... --------------");
    try {
      // wait 30 seconds to show jobs
      Thread.sleep(30L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    CalendarExample example = new CalendarExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example8/SimpleJob.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example8;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

    /**
     * Empty constructor for job initialization
     */
    public SimpleJob() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("SimpleJob says: " + jobKey + " executing at " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example9/Job1Listener.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example9;

import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobListener;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author wkratzer
 */
public class Job1Listener implements JobListener {

  private static Logger _log = LoggerFactory.getLogger(Job1Listener.class);

  public String getName() {
    return "job1_to_job2";
  }

  public void jobToBeExecuted(JobExecutionContext inContext) {
    _log.info("Job1Listener says: Job Is about to be executed.");
  }

  public void jobExecutionVetoed(JobExecutionContext inContext) {
    _log.info("Job1Listener says: Job Execution was vetoed.");
  }

  public void jobWasExecuted(JobExecutionContext inContext, JobExecutionException inException) {
    _log.info("Job1Listener says: Job was executed.");

    // Simple job #2
    JobDetail job2 = newJob(SimpleJob2.class).withIdentity("job2").build();

    Trigger trigger = newTrigger().withIdentity("job2Trigger").startNow().build();

    try {
      // schedule the job to run!
      inContext.getScheduler().scheduleJob(job2, trigger);
    } catch (SchedulerException e) {
      _log.warn("Unable to schedule job2!");
      e.printStackTrace();
    }

  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example9/ListenerExample.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example9;

import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.JobDetail;
import org.quartz.JobKey;
import org.quartz.JobListener;
import org.quartz.Matcher;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SchedulerMetaData;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.matchers.KeyMatcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Demonstrates the behavior of <code>JobListener</code>s. In particular, this example will use a job listener to
 * trigger another job after one job successfully executes.
 */
public class ListenerExample {

  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(ListenerExample.class);

    log.info("------- Initializing ----------------------");

    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");

    log.info("------- Scheduling Jobs -------------------");

    // schedule a job to run immediately

    JobDetail job = newJob(SimpleJob1.class).withIdentity("job1").build();

    Trigger trigger = newTrigger().withIdentity("trigger1").startNow().build();

    // Set up the listener
    JobListener listener = new Job1Listener();
    Matcher<JobKey> matcher = KeyMatcher.keyEquals(job.getKey());
    sched.getListenerManager().addJobListener(listener, matcher);

    // schedule the job to run
    sched.scheduleJob(job, trigger);

    // All of the jobs have been added to the scheduler, but none of the jobs
    // will run until the scheduler has been started
    log.info("------- Starting Scheduler ----------------");
    sched.start();

    // wait 30 seconds:
    // note: nothing will run
    log.info("------- Waiting 30 seconds... --------------");
    try {
      // wait 30 seconds to show jobs
      Thread.sleep(30L * 1000L);
      // executing...
    } catch (Exception e) {
      //
    }

    // shut down the scheduler
    log.info("------- Shutting Down ---------------------");
    sched.shutdown(true);
    log.info("------- Shutdown Complete -----------------");

    SchedulerMetaData metaData = sched.getMetaData();
    log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs.");

  }

  public static void main(String[] args) throws Exception {

    ListenerExample example = new ListenerExample();
    example.run();
  }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example9/SimpleJob1.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example9;

import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob1 implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob1.class);

    /**
     * Empty constructor for job initialization
     */
    public SimpleJob1() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("SimpleJob1 says: " + jobKey + " executing at " + new Date());
    }

}


================================================
FILE: examples/src/main/java/org/quartz/examples/example9/SimpleJob2.java
================================================
/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */
 
package org.quartz.examples.example9;

import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>
 * This is just a simple job that gets fired off many times by example 1
 * </p>
 * 
 * @author Bill Kratzer
 */
public class SimpleJob2 implements Job {

    private static Logger _log = LoggerFactory.getLogger(SimpleJob2.class);

    /**
     * Empty constructor for job initialization
     */
    public SimpleJob2() {
    }

    /**
     * <p>
     * Called by the <code>{@link org.quartz.Scheduler}</code> when a
     * <code>{@link org.quartz.Trigger}</code> fires that is associated with
     * the <code>Job</code>.
     * </p>
     * 
     * @throws JobExecutionException
     *             if there is an exception while executing the job.
     */
    public void execute(JobExecutionContext context)
        throws JobExecutionException {

        // This job simply prints out its job name and the
        // date and time that it is running
        JobKey jobKey = context.getJobDetail().getKey();
        _log.info("SimpleJob2 says: " + jobKey + " executing at " + new Date());
    }

}


================================================
FILE: examples/src/main/resources/log4j.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="default" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="[%p] %d{dd MMM hh:mm:ss.SSS aa} %t [%c]%n%m%n%n"/>
    </layout>
  </appender>


 <logger name="org.quartz">
   <level value="info" />
 </logger>

  <root>
    <level value="info" />
    <appender-ref ref="default" />
  </root>

  
</log4j:configuration>


================================================
FILE: examples/src/main/resources/org/quartz/examples/example10/quartz.properties
================================================

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================

org.quartz.scheduler.instanceName: Example10Scheduler
org.quartz.scheduler.instanceId: AUTO

#============================================================================
# Configure ThreadPool  
#============================================================================

org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 3
org.quartz.threadPool.threadPriority: 5

#============================================================================
# Configure JobStore  
#============================================================================

org.quartz.jobStore.misfireThreshold: 60000

org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore

#============================================================================
# Configure Plugins 
#============================================================================

org.quartz.plugin.triggHistory.class: org.quartz.plugins.history.LoggingJobHistoryPlugin

org.quartz.plugin.jobInitializer.class: org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames: org/quartz/examples/example10/quartz_data.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound: true
org.quartz.plugin.jobInitializer.scanInterval: 120
org.quartz.plugin.jobInitializer.wrapInUserTransaction: false

================================================
FILE: examples/src/main/resources/org/quartz/examples/example10/quartz_data.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
    version="1.8">
    
    <pre-processing-commands>
        <delete-jobs-in-group>*</delete-jobs-in-group>  <!-- clear all jobs in scheduler -->
        <delete-triggers-in-group>*</delete-triggers-in-group> <!-- clear all triggers in scheduler -->
    </pre-processing-commands>
    
    <processing-directives>
        <!-- if there are any jobs/trigger in scheduler of same name (as in this file), overwrite them -->
        <overwrite-existing-data>true</overwrite-existing-data>
        <!-- if there are any jobs/trigger in scheduler of same name (as in this file), and over-write is false, ignore them rather then generating an error -->
        <ignore-duplicates>false</ignore-duplicates> 
    </processing-directives>
    
    <schedule>
	    <job>
	        <name>TestJob1</name>
	        <job-class>org.quartz.examples.example10.SimpleJob</job-class>
	    </job>
	    
        <job>
            <name>TestDurableJob</name>
            <job-class>org.quartz.examples.example10.SimpleJob</job-class>
            <durability>true</durability>
            <recover>false</recover>
        </job>
	    
	    <trigger>
	        <simple>
	            <name>TestSimpleTrigger1AtFiveSecondInterval</name>
	            <job-name>TestJob1</job-name>
	            <repeat-count>-1</repeat-count> <!-- repeat indefinitely  -->
	            <repeat-interval>5000</repeat-interval>  <!--  every 5 seconds -->
	        </simple>
	    </trigger>
	
	    <job>
	        <name>TestJob2</name>
	        <group>GroupOfTestJob2</group>
	        <description>This is the description of TestJob2</description>
	        <job-class>org.quartz.examples.example10.SimpleJob</job-class>
	        <durability>false</durability>
	        <recover>true</recover>
	        <job-data-map>
	            <entry>
	                <key>someKey</key>
	                <value>someValue</value>
	            </entry>
	            <entry>
	                <key>someOtherKey</key>
	                <value>someOtherValue</value>
	            </entry>
	        </job-data-map>
	    </job>
	    
	    <trigger>
	        <simple>
	            <name>TestSimpleTrigger2AtTenSecondIntervalAndFiveRepeats</name>
	            <group>GroupOfTestJob2Triggers</group>
	            <job-name>TestJob2</job-name>
	            <job-group>GroupOfTestJob2</job-group>
	            <start-time>2010-02-09T10:15:00</start-time>
	            <misfire-instruction>MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT</misfire-instruction>
	            <repeat-count>5</repeat-count>
	            <repeat-interval>10000</repeat-interval>
	        </simple>
	    </trigger>
	    
	    <trigger>
	        <cron>
	            <name>TestCronTrigger2AtEveryMinute</name>
	            <group>GroupOfTestJob2Triggers</group>
	            <job-name>TestJob2</job-name>
	            <job-group>GroupOfTestJob2</job-group>
                <job-data-map>
                    <entry>
                        <key>someKey</key>
                        <value>overriddenValue</value>
                    </entry>
                    <entry>
                        <key>someOtherKey</key>
                        <value>someOtherOverriddenValue</value>
                    </entry>
                </job-data-map>
                <cron-expression>0 * * ? * *</cron-expression>
	        </cron>
	    </trigger>
	
	    <trigger>
	        <cron>
	            <name>TestCronTrigger2AtEveryMinuteOnThe45thSecond</name>
	            <group>GroupOfTestJob2Triggers</group>
	            <job-name>TestJob2</job-name>
	            <job-group>GroupOfTestJob2</job-group>
	            <start-time>2010-02-09T12:26:00.0</start-time>
	            <end-time>2012-02-09T12:26:00.0</end-time>
	            <misfire-instruction>MISFIRE_INSTRUCTION_SMART_POLICY</misfire-instruction>
	            <cron-expression>45 * * ? * *</cron-expression>
	            <time-zone>America/Los_Angeles</time-zone>
	        </cron>
	    </trigger>
    </schedule>    
</job-scheduling-data>


================================================
FILE: examples/src/main/resources/org/quartz/examples/example11/quartz.properties
================================================

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================

org.quartz.scheduler.instanceName: TestScheduler
org.quartz.scheduler.instanceId: AUTO

#============================================================================
# Configure ThreadPool  
#============================================================================

org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 15
org.quartz.threadPool.threadPriority: 5

#============================================================================
# Configure JobStore  
#============================================================================

org.quartz.jobStore.misfireThreshold: 60000

org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore


================================================
FILE: examples/src/main/resources/org/quartz/examples/example12/client.properties
================================================
# Properties file for use by StdSchedulerFactory
# to create a Quartz Scheduler Instance.
#

# Configure Main Scheduler Properties  ======================================

org.quartz.scheduler.instanceName: Sched1
org.quartz.scheduler.logger: schedLogger
org.quartz.scheduler.rmi.proxy: true
org.quartz.scheduler.rmi.registryHost: localhost
org.quartz.scheduler.rmi.registryPort: 1099


================================================
FILE: examples/src/main/resources/org/quartz/examples/example12/server.properties
================================================
#============================================================================
# Configure Main Scheduler Properties  
#============================================================================

org.quartz.scheduler.instanceName: Sched1
org.quartz.scheduler.rmi.export: true
org.quartz.scheduler.rmi.registryHost: localhost
org.quartz.scheduler.rmi.registryPort: 1099
org.quartz.scheduler.rmi.createRegistry: true

#============================================================================
# Configure ThreadPool  
#============================================================================

org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 10
org.quartz.threadPool.threadPriority: 5

#============================================================================
# Configure JobStore  
#============================================================================

org.quartz.jobStore.misfireThreshold: 60000

org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore


================================================
FILE: examples/src/main/resources/org/quartz/examples/example13/instance1.properties
================================================

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================

org.quartz.scheduler.instanceName: TestScheduler
org.quartz.scheduler.instanceId: instance_one

#============================================================================
# Configure ThreadPool  
#============================================================================

org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 5
org.quartz.threadPool.threadPriority: 5

#============================================================================
# Configure JobStore  
#============================================================================

org.quartz.jobStore.misfireThreshold: 60000

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=true

#============================================================================
# Configure Datasources  
#============================================================================

org.quartz.dataSource.myDS.driver: org.postgresql.Driver
org.quartz.dataSource.myDS.URL: jdbc:postgresql://localhost:5432/quartz
org.quartz.dataSource.myDS.user: quartz
org.quartz.dataSource.myDS.password: quartz
org.quartz.dataSource.myDS.maxConnections: 5
org.quartz.dataSource.myDS.validationQuery: select 0


================================================
FILE: examples/src/main/resources/org/quartz/examples/example13/instance2.properties
================================================

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================

org.quartz.scheduler.instanceName: TestScheduler
org.quartz.scheduler.instanceId: instance_two

#============================================================================
# Configure ThreadPool  
#============================================================================

org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 5
org.quartz.threadPool.threadPriority: 5

#============================================================================
# Configure JobStore  
#============================================================================

org.quartz.jobStore.misfireThreshold: 60000

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=true

#============================================================================
# Configure Datasources  
#============================================================================

org.quartz.dataSource.myDS.driver: org.postgresql.Driver
org.quartz.dataSource.myDS.URL: jdbc:postgresql://localhost:5432/quartz
org.quartz.dataSource.myDS.user: quartz
org.quartz.dataSource.myDS.password: quartz
org.quartz.dataSource.myDS.maxConnections: 5
org.quartz.dataSource.myDS.validationQuery: select 0



================================================
FILE: examples/src/main/resources/org/quartz/examples/example14/quartz_priority.properties
================================================
org.quartz.scheduler.instanceName: PriorityExampleScheduler

# Set thread count to 1 to force Triggers scheduled for the same time to 
# to be ordered by priority.
org.quartz.threadPool.threadCount: 1
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool

org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore


================================================
FILE: examples/src/main/resources/org/quartz/examples/example5/quartz_misfire.properties
================================================
org.quartz.scheduler.instanceName: MisfireExampleScheduler

org.quartz.threadPool.threadCount: 2
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool

# Set misfire threshold to 1 second
org.quartz.jobStore.misfireThreshold: 1000
org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore


================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


================================================
FILE: gradle.properties
================================================

quartzVersion = 2.5.1-SNAPSHOT

fullname=quartz-scheduler
name=quartz
version=$quartzVersion

slf4jVersion = 2.0.16
log4jVersion = 2.24.1
c3p0Version = 0.10.1
hikaricpVersion = 5.0.1

jbossVersion = 4.0.2
commonjVersion = 1.0

junitVersion = 4.13.2
junitPlatformVersion = 5.11.3
derbyVersion = 10.15.2.0
testcontainersVersion = 1.21.3

# For nexus-publish plugin
sonatypeUsername = OVERRIDE_ME
sonatypePassword = OVERRIDE_ME


================================================
FILE: gradlew
================================================
#!/bin/sh

#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
#
#   Gradle start up script for POSIX generated by Gradle.
#
#   Important for running:
#
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
#       noncompliant, but you have some other compliant shell such as ksh or
#       bash, then to run this script, type that shell name before the whole
#       command line, like:
#
#           ksh Gradle
#
#       Busybox and similar reduced shells will NOT work, because this script
#       requires all of these POSIX shell features:
#         * functions;
#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
#         * compound commands having a testable exit status, especially «case»;
#         * various built-in commands including «command», «set», and «ulimit».
#
#   Important for patching:
#
#   (2) This script targets any POSIX shell, so it avoids extensions provided
#       by Bash, Ksh, etc; in particular arrays are avoided.
#
#       The "traditional" practice of packing multiple parameters into a
#       space-separated string is a well documented source of bugs and security
#       problems, so this is (mostly) avoided, by progressively accumulating
#       options in "$@", and eventually passing that to Java.
#
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
#       see the in-line comments for details.
#
#       There are tweaks for specific operating systems such as AIX, CygWin,
#       Darwin, MinGW, and NonStop.
#
#   (3) This script is generated from the Groovy template
#       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
#       within the Gradle project.
#
#       You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################

# Attempt to set APP_HOME

# Resolve links: $0 may be a link
app_path=$0

# Need this for daisy-chained symlinks.
while
    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
    [ -h "$app_path" ]
do
    ls=$( ls -ld "$app_path" )
    link=${ls#*' -> '}
    case $link in             #(
      /*)   app_path=$link ;; #(
      *)    app_path=$APP_HOME$link ;;
    esac
done

# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum

warn () {
    echo "$*"
} >&2

die () {
    echo
    echo "$*"
    echo
    exit 1
} >&2

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in                #(
  CYGWIN* )         cygwin=true  ;; #(
  Darwin* )         darwin=true  ;; #(
  MSYS* | MINGW* )  msys=true    ;; #(
  NONSTOP* )        nonstop=true ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD=$JAVA_HOME/jre/sh/java
    else
        JAVACMD=$JAVA_HOME/bin/java
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
    fi
else
    JAVACMD=java
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
    case $MAX_FD in #(
      max*)
        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
        # shellcheck disable=SC3045
        MAX_FD=$( ulimit -H -n ) ||
            warn "Could not query maximum file descriptor limit"
    esac
    case $MAX_FD in  #(
      '' | soft) :;; #(
      *)
        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
        # shellcheck disable=SC3045
        ulimit -n "$MAX_FD" ||
            warn "Could not set maximum file descriptor limit to $MAX_FD"
    esac
fi

# Collect all arguments for the java command, stacking in reverse order:
#   * args from the command line
#   * the main class name
#   * -classpath
#   * -D...appname settings
#   * --module-path (only if needed)
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.

# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )

    JAVACMD=$( cygpath --unix "$JAVACMD" )

    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    for arg do
        if
            case $arg in                                #(
              -*)   false ;;                            # don't mess with options #(
              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
                    [ -e "$t" ] ;;                      #(
              *)    false ;;
            esac
        then
            arg=$( cygpath --path --ignore --mixed "$arg" )
        fi
        # Roll the args list around exactly as many times as the number of
        # args, so each arg winds up back in the position where it started, but
        # possibly modified.
        #
        # NB: a `for` loop captures its iteration list before it begins, so
        # changing the positional parameters here affects neither the number of
        # iterations, nor the values presented in `arg`.
        shift                   # remove old arg
        set -- "$@" "$arg"      # push replacement arg
    done
fi

# Collect all arguments for the java command;
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
#     shell script including quotes and variable substitutions, so put them in
#     double quotes to make sure that they get re-expanded; and
#   * put everything else in single quotes, so that it's not re-expanded.

set -- \
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
        -classpath "$CLASSPATH" \
        org.gradle.wrapper.GradleWrapperMain \
        "$@"

# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
    die "xargs is not available"
fi

# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
#   set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#

eval "set -- $(
        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
        xargs -n1 |
        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
        tr '\n' ' '
    )" '"$@"'

exec "$JAVACMD" "$@"


================================================
FILE: gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem      https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem  Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*

:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


================================================
FILE: quartz/build.gradle
================================================
plugins {
    id 'java-library'
    id 'maven-publish'
    id 'biz.aQute.bnd.builder'
}

repositories {
    mavenCentral()
}

publishing {
    publications {
        getByName('maven').pom.description = 'Quartz Enterprise Job Scheduler'
    }
}

dependencies {
    compileOnly project(':quartz-stubs')

    implementation "org.slf4j:slf4j-api:$slf4jVersion"
    runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion"
    implementation "com.mchange:c3p0:$c3p0Version"
    implementation "com.zaxxer:HikariCP:$hikaricpVersion"
    compileOnly "jboss:jboss-common:$jbossVersion"
    compileOnly "jboss:jboss-minimal:$jbossVersion"
    compileOnly "jboss:jboss-system:$jbossVersion"
    compileOnly "jboss:jboss-jmx:$jbossVersion"
    compileOnly "org.apache.geronimo.specs:geronimo-commonj_1.1_spec:$commonjVersion"

    implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.4'

    compileOnly 'jakarta.transaction:jakarta.transaction-api:2.0.1'
    testImplementation 'jakarta.transaction:jakarta.transaction-api:2.0.1'
    compileOnly 'jakarta.servlet:jakarta.servlet-api:6.1.0'

    testImplementation "org.apache.derby:derby:$derbyVersion"
    testImplementation "org.apache.derby:derbyclient:$derbyVersion"
    testImplementation "org.apache.derby:derbynet:$derbyVersion"
    testImplementation 'asm:asm:3.3.1'
    testImplementation 'org.hamcrest:hamcrest:3.0'
    testImplementation(platform("org.junit:junit-bom:5.11.4"))
    testImplementation 'org.junit.jupiter:junit-jupiter-engine'
    testImplementation 'org.junit.jupiter:junit-jupiter-params'
    testImplementation 'org.mockito:mockito-core:5.14.2'
    testImplementation "org.testcontainers:mssqlserver:$testcontainersVersion"
    testImplementation "org.testcontainers:mariadb:$testcontainersVersion"
    testImplementation "org.testcontainers:postgresql:$testcontainersVersion"
    testImplementation 'com.microsoft.sqlserver:mssql-jdbc:13.2.1.jre11'
    testImplementation 'org.mariadb.jdbc:mariadb-java-client:3.5.7'
    testImplementation 'org.postgresql:postgresql:42.7.8'
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}

test {
    useJUnitPlatform(){
        includeEngines("junit-jupiter")
    }
    maxParallelForks 1
    forkEvery 1
}

java {
    withJavadocJar()
    withSourcesJar()
}

javadoc {
    options {
        docTitle = "Quartz Enterprise Job Scheduler $project.version API"
        encoding = 'UTF-8'
        outputLevel = JavadocOutputLevel.QUIET
        splitIndex = false
        author = true;
        windowTitle = "Quartz Enterprise Job Scheduler $project.version API"
        bottom = 'Copyright IBM Corp. 2024, 2025'
    }
}


processResources {
    filesMatching('**/quartz-build.properties') {
        expand([version: project.version, fullname: project.fullname, name: project.name])
    }
}

================================================
FILE: quartz/src/main/java/org/quartz/Calendar.java
================================================

/* 
 * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
 * Copyright IBM Corp. 2024, 2025
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */

package org.quartz;

/**
 * An interface to be implemented by objects that define spaces of time during 
 * which an associated <code>{@link Trigger}</code> may (not) fire. Calendars 
 * do not define actual fire times, but rather are used to limit a 
 * <code>Trigger</code> from firing on its normal schedule if necessary. Most 
 * Calendars include all times by default and allow the user to specify times 
 * to exclude. 
 * 
 * <p>As such, it is often useful to think of Calendars as being used to <I>exclude</I> a block
 * of time - as opposed to <I>include</I> a block of time. (i.e. the 
 * schedule &quot;fire every five minutes except on Sundays&quot; could be 
 * implemented with a <code>SimpleTrigger</code> and a 
 * <code>WeeklyCalendar</code> which excludes Sundays)</p>
 * 
 * <p>Implementations MUST take care of being properly <code>Cloneable</code> 
 * and <code>Serializable</code>.</p>
 * 
 * @author James House
 * @author Juergen Donnerstag
 */
public interface Calendar extends java.io.Serializable, java.lang.Cloneable {

    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * 
     * Constants.
     * 
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    int MONTH = 0;

    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * 
     * Interface.
     * 
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    /**
     * <p>
     * Set a new base calendar or remove the existing one.
     * </p>
     */
    void setBaseCalendar(Calendar baseCalendar);

    /**
     * <p>
     * Get the base calendar. Will be null, if not set.
     * </p>
     */
    Calendar getBaseC
Download .txt
gitextract_68hlgy34/

├── .gitattributes
├── .github/
│   ├── dependabot.yml
│   ├── pull_request_template.md
│   └── stale.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE.txt
├── azure-pipelines.yml
├── build.gradle
├── checkstyle/
│   ├── README.txt
│   └── src/
│       └── main/
│           └── resources/
│               ├── checkstyle.xml
│               ├── header.txt
│               └── suppressions.xml
├── docs/
│   └── index.md
├── examples/
│   ├── build.gradle
│   ├── examples_guide.txt
│   └── src/
│       └── main/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           └── examples/
│           │               ├── example1/
│           │               │   ├── HelloJob.java
│           │               │   └── SimpleExample.java
│           │               ├── example10/
│           │               │   ├── PlugInExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example11/
│           │               │   ├── LoadExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example12/
│           │               │   ├── RemoteClientExample.java
│           │               │   ├── RemoteServerExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example13/
│           │               │   ├── ClusterExample.java
│           │               │   ├── SimpleRecoveryJob.java
│           │               │   └── SimpleRecoveryStatefulJob.java
│           │               ├── example14/
│           │               │   ├── PriorityExample.java
│           │               │   └── TriggerEchoJob.java
│           │               ├── example15/
│           │               │   ├── NativeJob.java
│           │               │   └── NativeJobExample.java
│           │               ├── example2/
│           │               │   ├── SimpleJob.java
│           │               │   └── SimpleTriggerExample.java
│           │               ├── example3/
│           │               │   ├── CronTriggerExample.java
│           │               │   └── SimpleJob.java
│           │               ├── example4/
│           │               │   ├── ColorJob.java
│           │               │   └── JobStateExample.java
│           │               ├── example5/
│           │               │   ├── MisfireExample.java
│           │               │   └── StatefulDumbJob.java
│           │               ├── example6/
│           │               │   ├── BadJob1.java
│           │               │   ├── BadJob2.java
│           │               │   └── JobExceptionExample.java
│           │               ├── example7/
│           │               │   ├── DumbInterruptableJob.java
│           │               │   └── InterruptExample.java
│           │               ├── example8/
│           │               │   ├── CalendarExample.java
│           │               │   └── SimpleJob.java
│           │               └── example9/
│           │                   ├── Job1Listener.java
│           │                   ├── ListenerExample.java
│           │                   ├── SimpleJob1.java
│           │                   └── SimpleJob2.java
│           └── resources/
│               ├── log4j.xml
│               └── org/
│                   └── quartz/
│                       └── examples/
│                           ├── example10/
│                           │   ├── quartz.properties
│                           │   └── quartz_data.xml
│                           ├── example11/
│                           │   └── quartz.properties
│                           ├── example12/
│                           │   ├── client.properties
│                           │   └── server.properties
│                           ├── example13/
│                           │   ├── instance1.properties
│                           │   └── instance2.properties
│                           ├── example14/
│                           │   └── quartz_priority.properties
│                           └── example5/
│                               └── quartz_misfire.properties
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── quartz/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   ├── org/
│       │   │   │   └── quartz/
│       │   │   │       ├── Calendar.java
│       │   │   │       ├── CalendarIntervalScheduleBuilder.java
│       │   │   │       ├── CalendarIntervalTrigger.java
│       │   │   │       ├── CronExpression.java
│       │   │   │       ├── CronScheduleBuilder.java
│       │   │   │       ├── CronTrigger.java
│       │   │   │       ├── DailyTimeIntervalScheduleBuilder.java
│       │   │   │       ├── DailyTimeIntervalTrigger.java
│       │   │   │       ├── DateBuilder.java
│       │   │   │       ├── DisallowConcurrentExecution.java
│       │   │   │       ├── ExecuteInJTATransaction.java
│       │   │   │       ├── InterruptableJob.java
│       │   │   │       ├── Job.java
│       │   │   │       ├── JobBuilder.java
│       │   │   │       ├── JobDataMap.java
│       │   │   │       ├── JobDetail.java
│       │   │   │       ├── JobExecutionContext.java
│       │   │   │       ├── JobExecutionException.java
│       │   │   │       ├── JobKey.java
│       │   │   │       ├── JobListener.java
│       │   │   │       ├── JobPersistenceException.java
│       │   │   │       ├── ListenerManager.java
│       │   │   │       ├── Matcher.java
│       │   │   │       ├── ObjectAlreadyExistsException.java
│       │   │   │       ├── PersistJobDataAfterExecution.java
│       │   │   │       ├── ScheduleBuilder.java
│       │   │   │       ├── Scheduler.java
│       │   │   │       ├── SchedulerConfigException.java
│       │   │   │       ├── SchedulerContext.java
│       │   │   │       ├── SchedulerException.java
│       │   │   │       ├── SchedulerFactory.java
│       │   │   │       ├── SchedulerListener.java
│       │   │   │       ├── SchedulerMetaData.java
│       │   │   │       ├── SimpleScheduleBuilder.java
│       │   │   │       ├── SimpleTrigger.java
│       │   │   │       ├── StatefulJob.java
│       │   │   │       ├── TimeOfDay.java
│       │   │   │       ├── Trigger.java
│       │   │   │       ├── TriggerBuilder.java
│       │   │   │       ├── TriggerKey.java
│       │   │   │       ├── TriggerListener.java
│       │   │   │       ├── TriggerUtils.java
│       │   │   │       ├── UnableToInterruptJobException.java
│       │   │   │       ├── commonj/
│       │   │   │       │   └── WorkManagerThreadExecutor.java
│       │   │   │       ├── core/
│       │   │   │       │   ├── JobExecutionProcessException.java
│       │   │   │       │   ├── JobRunShell.java
│       │   │   │       │   ├── JobRunShellFactory.java
│       │   │   │       │   ├── ListenerManagerImpl.java
│       │   │   │       │   ├── NullSampledStatisticsImpl.java
│       │   │   │       │   ├── QuartzScheduler.java
│       │   │   │       │   ├── QuartzSchedulerMBeanImpl.java
│       │   │   │       │   ├── QuartzSchedulerResources.java
│       │   │   │       │   ├── QuartzSchedulerThread.java
│       │   │   │       │   ├── RemotableQuartzScheduler.java
│       │   │   │       │   ├── SampledStatistics.java
│       │   │   │       │   ├── SampledStatisticsImpl.java
│       │   │   │       │   ├── SchedulerSignalerImpl.java
│       │   │   │       │   ├── jmx/
│       │   │   │       │   │   ├── CronTriggerSupport.java
│       │   │   │       │   │   ├── JobDataMapSupport.java
│       │   │   │       │   │   ├── JobDetailSupport.java
│       │   │   │       │   │   ├── JobExecutionContextSupport.java
│       │   │   │       │   │   ├── QuartzSchedulerMBean.java
│       │   │   │       │   │   ├── SimpleTriggerSupport.java
│       │   │   │       │   │   └── TriggerSupport.java
│       │   │   │       │   ├── mbeans-descriptors.xml
│       │   │   │       │   └── package.html
│       │   │   │       ├── ee/
│       │   │   │       │   ├── jboss/
│       │   │   │       │   │   └── doc-files/
│       │   │   │       │   │       └── quartz-service.xml
│       │   │   │       │   ├── jmx/
│       │   │   │       │   │   └── jboss/
│       │   │   │       │   │       ├── JBoss4RMIRemoteMBeanScheduler.java
│       │   │   │       │   │       ├── QuartzService.java
│       │   │   │       │   │       └── QuartzServiceMBean.java
│       │   │   │       │   ├── jta/
│       │   │   │       │   │   ├── JTAAnnotationAwareJobRunShellFactory.java
│       │   │   │       │   │   ├── JTAJobRunShell.java
│       │   │   │       │   │   ├── JTAJobRunShellFactory.java
│       │   │   │       │   │   └── UserTransactionHelper.java
│       │   │   │       │   └── servlet/
│       │   │   │       │       ├── QuartzInitializerListener.java
│       │   │   │       │       └── QuartzInitializerServlet.java
│       │   │   │       ├── helpers/
│       │   │   │       │   ├── VersionPrinter.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── impl/
│       │   │   │       │   ├── DefaultThreadExecutor.java
│       │   │   │       │   ├── DirectSchedulerFactory.java
│       │   │   │       │   ├── JobDetailImpl.java
│       │   │   │       │   ├── JobExecutionContextImpl.java
│       │   │   │       │   ├── QuartzServer.java
│       │   │   │       │   ├── RemoteMBeanScheduler.java
│       │   │   │       │   ├── RemoteScheduler.java
│       │   │   │       │   ├── SchedulerDetailsSetter.java
│       │   │   │       │   ├── SchedulerRepository.java
│       │   │   │       │   ├── StdJobRunShellFactory.java
│       │   │   │       │   ├── StdScheduler.java
│       │   │   │       │   ├── StdSchedulerFactory.java
│       │   │   │       │   ├── calendar/
│       │   │   │       │   │   ├── AnnualCalendar.java
│       │   │   │       │   │   ├── BaseCalendar.java
│       │   │   │       │   │   ├── CronCalendar.java
│       │   │   │       │   │   ├── DailyCalendar.java
│       │   │   │       │   │   ├── HolidayCalendar.java
│       │   │   │       │   │   ├── MonthlyCalendar.java
│       │   │   │       │   │   └── WeeklyCalendar.java
│       │   │   │       │   ├── jdbcjobstore/
│       │   │   │       │   │   ├── AttributeRestoringConnectionInvocationHandler.java
│       │   │   │       │   │   ├── CUBRIDDelegate.java
│       │   │   │       │   │   ├── CacheDelegate.java
│       │   │   │       │   │   ├── CalendarIntervalTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── Constants.java
│       │   │   │       │   │   ├── CronTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── DB2v6Delegate.java
│       │   │   │       │   │   ├── DB2v7Delegate.java
│       │   │   │       │   │   ├── DB2v8Delegate.java
│       │   │   │       │   │   ├── DBSemaphore.java
│       │   │   │       │   │   ├── DailyTimeIntervalTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── DriverDelegate.java
│       │   │   │       │   │   ├── FiredTriggerRecord.java
│       │   │   │       │   │   ├── GaussDBDelegate.java
│       │   │   │       │   │   ├── HSQLDBDelegate.java
│       │   │   │       │   │   ├── InvalidConfigurationException.java
│       │   │   │       │   │   ├── JTANonClusteredSemaphore.java
│       │   │   │       │   │   ├── JobStoreCMT.java
│       │   │   │       │   │   ├── JobStoreSupport.java
│       │   │   │       │   │   ├── JobStoreTX.java
│       │   │   │       │   │   ├── LockException.java
│       │   │   │       │   │   ├── MSSQLDelegate.java
│       │   │   │       │   │   ├── NoRecordFoundException.java
│       │   │   │       │   │   ├── NoSuchDelegateException.java
│       │   │   │       │   │   ├── PointbaseDelegate.java
│       │   │   │       │   │   ├── PostgreSQLDelegate.java
│       │   │   │       │   │   ├── SchedulerStateRecord.java
│       │   │   │       │   │   ├── Semaphore.java
│       │   │   │       │   │   ├── SimplePropertiesTriggerPersistenceDelegateSupport.java
│       │   │   │       │   │   ├── SimplePropertiesTriggerProperties.java
│       │   │   │       │   │   ├── SimpleSemaphore.java
│       │   │   │       │   │   ├── SimpleTriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── StdJDBCConstants.java
│       │   │   │       │   │   ├── StdJDBCDelegate.java
│       │   │   │       │   │   ├── StdRowLockSemaphore.java
│       │   │   │       │   │   ├── SybaseDelegate.java
│       │   │   │       │   │   ├── TablePrefixAware.java
│       │   │   │       │   │   ├── TriggerPersistenceDelegate.java
│       │   │   │       │   │   ├── TriggerStatus.java
│       │   │   │       │   │   ├── UpdateLockRowSemaphore.java
│       │   │   │       │   │   ├── Util.java
│       │   │   │       │   │   ├── WebLogicDelegate.java
│       │   │   │       │   │   └── oracle/
│       │   │   │       │   │       ├── OracleDelegate.java
│       │   │   │       │   │       └── weblogic/
│       │   │   │       │   │           └── WebLogicOracleDelegate.java
│       │   │   │       │   ├── matchers/
│       │   │   │       │   │   ├── AndMatcher.java
│       │   │   │       │   │   ├── EverythingMatcher.java
│       │   │   │       │   │   ├── GroupMatcher.java
│       │   │   │       │   │   ├── KeyMatcher.java
│       │   │   │       │   │   ├── NameMatcher.java
│       │   │   │       │   │   ├── NotMatcher.java
│       │   │   │       │   │   ├── OrMatcher.java
│       │   │   │       │   │   └── StringMatcher.java
│       │   │   │       │   ├── package.html
│       │   │   │       │   └── triggers/
│       │   │   │       │       ├── AbstractTrigger.java
│       │   │   │       │       ├── CalendarIntervalTriggerImpl.java
│       │   │   │       │       ├── CoreTrigger.java
│       │   │   │       │       ├── CronTriggerImpl.java
│       │   │   │       │       ├── DailyTimeIntervalTriggerImpl.java
│       │   │   │       │       ├── SimpleTriggerImpl.java
│       │   │   │       │       └── package.html
│       │   │   │       ├── listeners/
│       │   │   │       │   ├── BroadcastJobListener.java
│       │   │   │       │   ├── BroadcastSchedulerListener.java
│       │   │   │       │   ├── BroadcastTriggerListener.java
│       │   │   │       │   ├── JobChainingJobListener.java
│       │   │   │       │   ├── JobListenerSupport.java
│       │   │   │       │   ├── SchedulerListenerSupport.java
│       │   │   │       │   └── TriggerListenerSupport.java
│       │   │   │       ├── management/
│       │   │   │       │   ├── ManagementRESTServiceConfiguration.java
│       │   │   │       │   └── ManagementServer.java
│       │   │   │       ├── package.html
│       │   │   │       ├── plugins/
│       │   │   │       │   ├── SchedulerPluginWithUserTransactionSupport.java
│       │   │   │       │   ├── history/
│       │   │   │       │   │   ├── LoggingJobHistoryPlugin.java
│       │   │   │       │   │   └── LoggingTriggerHistoryPlugin.java
│       │   │   │       │   ├── interrupt/
│       │   │   │       │   │   └── JobInterruptMonitorPlugin.java
│       │   │   │       │   ├── management/
│       │   │   │       │   │   └── ShutdownHookPlugin.java
│       │   │   │       │   └── xml/
│       │   │   │       │       ├── FileScanJob.java
│       │   │   │       │       ├── FileScanListener.java
│       │   │   │       │       └── XMLSchedulingDataProcessorPlugin.java
│       │   │   │       ├── simpl/
│       │   │   │       │   ├── CascadingClassLoadHelper.java
│       │   │   │       │   ├── HostnameInstanceIdGenerator.java
│       │   │   │       │   ├── InitThreadContextClassLoadHelper.java
│       │   │   │       │   ├── LoadingLoaderClassLoadHelper.java
│       │   │   │       │   ├── PropertySettingJobFactory.java
│       │   │   │       │   ├── RAMJobStore.java
│       │   │   │       │   ├── SimpleClassLoadHelper.java
│       │   │   │       │   ├── SimpleInstanceIdGenerator.java
│       │   │   │       │   ├── SimpleJobFactory.java
│       │   │   │       │   ├── SimpleThreadPool.java
│       │   │   │       │   ├── SimpleTimeBroker.java
│       │   │   │       │   ├── SystemPropertyInstanceIdGenerator.java
│       │   │   │       │   ├── ThreadContextClassLoadHelper.java
│       │   │   │       │   ├── ZeroSizeThreadPool.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── spi/
│       │   │   │       │   ├── ClassLoadHelper.java
│       │   │   │       │   ├── InstanceIdGenerator.java
│       │   │   │       │   ├── JobFactory.java
│       │   │   │       │   ├── JobStore.java
│       │   │   │       │   ├── MutableTrigger.java
│       │   │   │       │   ├── OperableTrigger.java
│       │   │   │       │   ├── SchedulerPlugin.java
│       │   │   │       │   ├── SchedulerSignaler.java
│       │   │   │       │   ├── ThreadExecutor.java
│       │   │   │       │   ├── ThreadPool.java
│       │   │   │       │   ├── TimeBroker.java
│       │   │   │       │   ├── TriggerFiredBundle.java
│       │   │   │       │   ├── TriggerFiredResult.java
│       │   │   │       │   └── package.html
│       │   │   │       ├── utils/
│       │   │   │       │   ├── C3p0PoolingConnectionProvider.java
│       │   │   │       │   ├── CircularLossyQueue.java
│       │   │   │       │   ├── ClassUtils.java
│       │   │   │       │   ├── ConnectionProvider.java
│       │   │   │       │   ├── DBConnectionManager.java
│       │   │   │       │   ├── DirtyFlagMap.java
│       │   │   │       │   ├── FindbugsSuppressWarnings.java
│       │   │   │       │   ├── HikariCpPoolingConnectionProvider.java
│       │   │   │       │   ├── JNDIConnectionProvider.java
│       │   │   │       │   ├── Key.java
│       │   │   │       │   ├── PoolingConnectionProvider.java
│       │   │   │       │   ├── PropertiesParser.java
│       │   │   │       │   ├── StringKeyDirtyFlagMap.java
│       │   │   │       │   ├── counter/
│       │   │   │       │   │   ├── Counter.java
│       │   │   │       │   │   ├── CounterConfig.java
│       │   │   │       │   │   ├── CounterImpl.java
│       │   │   │       │   │   ├── CounterManager.java
│       │   │   │       │   │   ├── CounterManagerImpl.java
│       │   │   │       │   │   └── sampled/
│       │   │   │       │   │       ├── SampledCounter.java
│       │   │   │       │   │       ├── SampledCounterConfig.java
│       │   │   │       │   │       ├── SampledCounterImpl.java
│       │   │   │       │   │       ├── SampledRateCounter.java
│       │   │   │       │   │       ├── SampledRateCounterConfig.java
│       │   │   │       │   │       ├── SampledRateCounterImpl.java
│       │   │   │       │   │       └── TimeStampedCounterValue.java
│       │   │   │       │   └── weblogic/
│       │   │   │       │       └── WeblogicConnectionProvider.java
│       │   │   │       └── xml/
│       │   │   │           ├── ValidationException.java
│       │   │   │           └── XMLSchedulingDataProcessor.java
│       │   │   └── overview.html
│       │   └── resources/
│       │       ├── checkstyle.xml
│       │       └── org/
│       │           └── quartz/
│       │               ├── core/
│       │               │   └── quartz-build.properties
│       │               ├── impl/
│       │               │   └── jdbcjobstore/
│       │               │       ├── liquibase.quartz.init.xml
│       │               │       ├── tables_cloudscape.sql
│       │               │       ├── tables_cubrid.sql
│       │               │       ├── tables_db2.sql
│       │               │       ├── tables_db2_v72.sql
│       │               │       ├── tables_db2_v8.sql
│       │               │       ├── tables_db2_v95.sql
│       │               │       ├── tables_derby.sql
│       │               │       ├── tables_derby_previous.sql
│       │               │       ├── tables_firebird.sql
│       │               │       ├── tables_gauss_default_compatibility.sql
│       │               │       ├── tables_gauss_m_compatibility.sql
│       │               │       ├── tables_h2.sql
│       │               │       ├── tables_hsqldb.sql
│       │               │       ├── tables_hsqldb_old.sql
│       │               │       ├── tables_informix.sql
│       │               │       ├── tables_mysql.sql
│       │               │       ├── tables_mysql_innodb.sql
│       │               │       ├── tables_oracle.sql
│       │               │       ├── tables_oracle23.sql
│       │               │       ├── tables_pointbase.sql
│       │               │       ├── tables_postgres.sql
│       │               │       ├── tables_sapdb.sql
│       │               │       ├── tables_solid.sql
│       │               │       ├── tables_sqlServer.sql
│       │               │       └── tables_sybase.sql
│       │               ├── quartz.properties
│       │               └── xml/
│       │                   ├── job_scheduling_data_1_8.xsd
│       │                   └── job_scheduling_data_2_0.xsd
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           ├── AbstractJobStoreTest.java
│           │           ├── AbstractSchedulerTest.java
│           │           ├── AnnualCalendarTest.java
│           │           ├── CalendarIntervalTriggerTest.java
│           │           ├── CronExpressionTest.java
│           │           ├── CronScheduleBuilderTest.java
│           │           ├── CronTriggerTest.java
│           │           ├── DailyTimeIntervalScheduleBuilderTest.java
│           │           ├── DateBuilderTest.java
│           │           ├── DefaultSchedulerTest.java
│           │           ├── DisallowConcurrentExecutionJobTest.java
│           │           ├── FlakyJdbcSchedulerTest.java
│           │           ├── InterruptableJobTest.java
│           │           ├── JdbcSchedulerTest.java
│           │           ├── JobBuilderTest.java
│           │           ├── JobDataMapTest.java
│           │           ├── JobDetailTest.java
│           │           ├── MonthlyCalendarTest.java
│           │           ├── PriorityTest.java
│           │           ├── Qtz205SchedulerListenerTest.java
│           │           ├── Quartz601Test.java
│           │           ├── RAMSchedulerTest.java
│           │           ├── SerializationTestSupport.java
│           │           ├── SimpleTriggerTest.java
│           │           ├── TriggerBuilderTest.java
│           │           ├── TriggerComparatorTest.java
│           │           ├── VersionTest.java
│           │           ├── core/
│           │           │   ├── ListenerManagerTest.java
│           │           │   ├── QTZ212_SchedulerListener_Test.java
│           │           │   ├── QTZ385Test.java
│           │           │   └── RecoverJobsTest.java
│           │           ├── impl/
│           │           │   ├── DirectSchedulerFactoryTest.java
│           │           │   ├── JobDetailImplTest.java
│           │           │   ├── MockConnectionProvider.java
│           │           │   ├── RemoteMBeanSchedulerTest.java
│           │           │   ├── SchedulerDetailsSetterTest.java
│           │           │   ├── StdSchedulerFactoryCustomConnectionProviderTest.java
│           │           │   ├── StdSchedulerFactoryTest.java
│           │           │   ├── calendar/
│           │           │   │   ├── BaseCalendarTest.java
│           │           │   │   └── DailyCalendarTest.java
│           │           │   ├── jdbcjobstore/
│           │           │   │   ├── DeleteNonExistsJobTest.java
│           │           │   │   ├── GaussDBDelegateTest.java
│           │           │   │   ├── JdbcJobStoreTest.java
│           │           │   │   ├── JdbcQuartzTestUtilities.java
│           │           │   │   ├── MSSQLJdbcStoreTest.java
│           │           │   │   ├── MariaDBJdbcStoreTest.java
│           │           │   │   ├── PostgresJdbcStoreTest.java
│           │           │   │   ├── StdJDBCDelegateTest.java
│           │           │   │   └── UpdateLockRowSemaphoreTest.java
│           │           │   ├── matchers/
│           │           │   │   └── GroupMatcherTest.java
│           │           │   └── triggers/
│           │           │       └── DailyTimeIntervalTriggerImplTest.java
│           │           ├── integrations/
│           │           │   └── tests/
│           │           │       ├── HelloJob.java
│           │           │       ├── JdbcQuartzDerbyUtilities.java
│           │           │       ├── JobClassNotFoundExceptionErrorsTriggersTest.java
│           │           │       ├── JobDataMapStorageTest.java
│           │           │       ├── QTZ179_TriggerLostAfterDbRestart_Test.java
│           │           │       ├── QTZ283_IgnoreMisfirePolicyJdbcStore_Test.java
│           │           │       ├── QTZ336_MissSchedulingChangeSignalTest.java
│           │           │       ├── QuartzDatabasePauseAndResumeTest.java
│           │           │       ├── QuartzDatabaseSimplePropertiesTest.java
│           │           │       ├── QuartzDerbyCronTriggerTest.java
│           │           │       ├── QuartzDerbyTestSupport.java
│           │           │       ├── QuartzMSSQLDatabaseCronTriggerTest.java
│           │           │       ├── QuartzMSSQLTestSupport.java
│           │           │       ├── QuartzMemoryCronTriggerTest.java
│           │           │       ├── QuartzMemoryPauseAndResumeTest.java
│           │           │       ├── QuartzMemoryTestSupport.java
│           │           │       ├── StdRowLockSemaphoreTest.java
│           │           │       └── TrackingJob.java
│           │           ├── simpl/
│           │           │   ├── PropertySettingJobFactoryTest.java
│           │           │   ├── RAMJobStoreTest.java
│           │           │   └── SystemPropertyInstanceIdGeneratorTest.java
│           │           ├── utils/
│           │           │   ├── C3p0PoolingConnectionProviderTest.java
│           │           │   ├── CircularLossyQueueTest.java
│           │           │   ├── ClassUtilsTest.java
│           │           │   ├── DirtyFlagMapTest.java
│           │           │   ├── HikariCpPoolingConnectionProviderTest.java
│           │           │   └── PropertiesParserTest.java
│           │           └── xml/
│           │               ├── XMLSchedulingDataProcessorPluginTest.java
│           │               └── XMLSchedulingDataProcessorTest.java
│           └── resources/
│               ├── container-license-acceptance.txt
│               ├── log4j.properties
│               ├── org/
│               │   └── quartz/
│               │       ├── AnnualCalendar-1.5.1.ser
│               │       ├── CalendarIntervalTriggerImpl-2.0.ser
│               │       ├── CronExpression-1.5.2.ser
│               │       ├── CronTrigger-1.5.2.ser
│               │       ├── CronTriggerImpl-2.0.ser
│               │       ├── JobDataMap-1.4.5.ser
│               │       ├── JobDataMap-1.5.1.ser
│               │       ├── JobDataMap-2.1.ser
│               │       ├── SimpleTrigger-1.5.2.ser
│               │       ├── SimpleTriggerImpl-2.0.ser
│               │       ├── impl/
│               │       │   └── calendar/
│               │       │       └── DailyCalendar-1.5.2.ser
│               │       ├── properties/
│               │       │   └── quartzCustomConnectionProvider.properties
│               │       └── xml/
│               │           ├── bad-job-config.xml
│               │           ├── delete-no-jobclass.xml
│               │           ├── directives_no-overwrite_ignoredups.xml
│               │           ├── directives_overwrite_no-ignoredups.xml
│               │           ├── job-scheduling-data-2.0_trigger-samples.xml
│               │           ├── overwrite-no-jobclass.xml
│               │           ├── quartz-test.properties
│               │           ├── quartz-xml-plugin-test.properties
│               │           ├── simple-job-trigger-no-repeat.xml
│               │           ├── simple-job-trigger-with-timezones.xml
│               │           └── simple-job-trigger.xml
│               └── tables_derby_drop.sql
├── quartz-jobs/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── org/
│       │           └── quartz/
│       │               └── jobs/
│       │                   ├── DirectoryScanJob.java
│       │                   ├── DirectoryScanListener.java
│       │                   ├── FileScanJob.java
│       │                   ├── FileScanListener.java
│       │                   ├── NoOpJob.java
│       │                   └── ee/
│       │                       ├── ejb/
│       │                       │   ├── EJB3InvokerJob.java
│       │                       │   └── EJBInvokerJob.java
│       │                       ├── jms/
│       │                       │   ├── JmsHelper.java
│       │                       │   ├── JmsJobException.java
│       │                       │   ├── JmsMessageFactory.java
│       │                       │   ├── SendDestinationMessageJob.java
│       │                       │   ├── SendQueueMessageJob.java
│       │                       │   └── SendTopicMessageJob.java
│       │                       ├── jmx/
│       │                       │   └── JMXInvokerJob.java
│       │                       └── mail/
│       │                           └── SendMailJob.java
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── quartz/
│           │           ├── integrations/
│           │           │   └── tests/
│           │           │       ├── AutoInterruptableJobTest.java
│           │           │       ├── DummyClassLoadHelper.java
│           │           │       ├── HelloJob.java
│           │           │       └── QTZ225_SchedulerClassLoadHelperForPlugins_Test.java
│           │           └── jobs/
│           │               ├── MyJobListener.java
│           │               ├── SendMailJobAuthTestBase.java
│           │               ├── SendMailJobFakeAuth.java
│           │               ├── SendMailJobRealAuth.java
│           │               ├── SendMailJobTest.java
│           │               └── SimpleValidator.java
│           └── resources/
│               ├── log4j.properties
│               └── org/
│                   └── quartz/
│                       └── tests/
│                           └── QTZ225/
│                               ├── log4j.xml
│                               ├── quartz.properties
│                               └── quartz_data.xml
├── quartz-stubs/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               ├── oracle/
│               │   └── sql/
│               │       └── BLOB.java
│               ├── org/
│               │   └── quartz/
│               │       └── jobs/
│               │           ├── DirectoryScanListener.java
│               │           └── FileScanListener.java
│               └── weblogic/
│                   └── jdbc/
│                       ├── jts/
│                       │   └── Driver.java
│                       └── vendor/
│                           └── oracle/
│                               └── OracleThinBlob.java
├── readme.adoc
└── settings.gradle
Download .txt
Showing preview only (444K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4805 symbols across 384 files)

FILE: examples/src/main/java/org/quartz/examples/example1/HelloJob.java
  class HelloJob (line 35) | public class HelloJob implements Job {
    method HelloJob (line 48) | public HelloJob() {
    method execute (line 61) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example1/SimpleExample.java
  class SimpleExample (line 40) | public class SimpleExample {
    method run (line 42) | public void run() throws Exception {
    method main (line 91) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example10/PlugInExample.java
  class PlugInExample (line 33) | public class PlugInExample {
    method run (line 35) | public void run() throws Exception {
    method main (line 78) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example10/SimpleJob.java
  class SimpleJob (line 38) | public class SimpleJob implements Job {
    method SimpleJob (line 45) | public SimpleJob() {
    method execute (line 58) | @SuppressWarnings("unchecked")

FILE: examples/src/main/java/org/quartz/examples/example11/LoadExample.java
  class LoadExample (line 50) | public class LoadExample {
    method LoadExample (line 54) | public LoadExample(int inNumberOfJobs) {
    method run (line 58) | public void run() throws Exception {
    method main (line 117) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example11/SimpleJob.java
  class SimpleJob (line 37) | public class SimpleJob implements Job {
    method SimpleJob (line 47) | public SimpleJob() {
    method execute (line 58) | public void execute(JobExecutionContext context) throws JobExecutionEx...

FILE: examples/src/main/java/org/quartz/examples/example12/RemoteClientExample.java
  class RemoteClientExample (line 60) | public class RemoteClientExample {
    method run (line 62) | public void run() throws Exception {
    method main (line 90) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example12/RemoteServerExample.java
  class RemoteServerExample (line 47) | public class RemoteServerExample {
    method run (line 54) | public void run() throws Exception {
    method main (line 90) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example12/SimpleJob.java
  class SimpleJob (line 37) | public class SimpleJob implements Job {
    method SimpleJob (line 47) | public SimpleJob() {
    method execute (line 60) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example13/ClusterExample.java
  class ClusterExample (line 99) | public class ClusterExample {
    method run (line 103) | public void run(boolean inClearJobs, boolean inScheduleJobs) throws Ex...
    method main (line 230) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryJob.java
  class SimpleRecoveryJob (line 38) | public class SimpleRecoveryJob implements Job {
    method SimpleRecoveryJob (line 47) | public SimpleRecoveryJob() {
    method execute (line 58) | public void execute(JobExecutionContext context) throws JobExecutionEx...

FILE: examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryStatefulJob.java
  class SimpleRecoveryStatefulJob (line 31) | @PersistJobDataAfterExecution
    method SimpleRecoveryStatefulJob (line 35) | public SimpleRecoveryStatefulJob() {

FILE: examples/src/main/java/org/quartz/examples/example14/PriorityExample.java
  class PriorityExample (line 39) | public class PriorityExample {
    method run (line 41) | public void run() throws Exception {
    method main (line 110) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example14/TriggerEchoJob.java
  class TriggerEchoJob (line 30) | public class TriggerEchoJob implements Job {
    method TriggerEchoJob (line 42) | public TriggerEchoJob() {
    method execute (line 55) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example15/NativeJob.java
  class NativeJob (line 60) | public class NativeJob implements Job {
    method execute (line 113) | public void execute(JobExecutionContext context)
    method getLog (line 140) | protected Logger getLog() {
    method runNativeCommand (line 144) | private Integer runNativeCommand(String command, String parameters, bo...
    class StreamConsumer (line 208) | class StreamConsumer extends Thread {
      method StreamConsumer (line 215) | public StreamConsumer(InputStream inputStream, String type) {
      method run (line 224) | @Override

FILE: examples/src/main/java/org/quartz/examples/example15/NativeJobExample.java
  class NativeJobExample (line 42) | public class NativeJobExample {
    method run (line 44) | public void run() throws Exception {
    method main (line 93) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example2/SimpleJob.java
  class SimpleJob (line 37) | public class SimpleJob implements Job {
    method SimpleJob (line 44) | public SimpleJob() {
    method execute (line 57) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example2/SimpleTriggerExample.java
  class SimpleTriggerExample (line 44) | public class SimpleTriggerExample {
    method run (line 46) | public void run() throws Exception {
    method main (line 202) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example3/CronTriggerExample.java
  class CronTriggerExample (line 41) | public class CronTriggerExample {
    method run (line 43) | public void run() throws Exception {
    method main (line 153) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example3/SimpleJob.java
  class SimpleJob (line 37) | public class SimpleJob implements Job {
    method SimpleJob (line 45) | public SimpleJob() {
    method execute (line 58) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example4/ColorJob.java
  class ColorJob (line 41) | @PersistJobDataAfterExecution
    method ColorJob (line 65) | public ColorJob() {
    method execute (line 78) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example4/JobStateExample.java
  class JobStateExample (line 42) | public class JobStateExample {
    method run (line 44) | public void run() throws Exception {
    method main (line 119) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example5/MisfireExample.java
  class MisfireExample (line 54) | public class MisfireExample {
    method run (line 56) | public void run() throws Exception {
    method main (line 126) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example5/StatefulDumbJob.java
  class StatefulDumbJob (line 37) | @PersistJobDataAfterExecution
    method StatefulDumbJob (line 55) | public StatefulDumbJob() {
    method execute (line 71) | public void execute(JobExecutionContext context) throws JobExecutionEx...

FILE: examples/src/main/java/org/quartz/examples/example6/BadJob1.java
  class BadJob1 (line 40) | @PersistJobDataAfterExecution
    method BadJob1 (line 51) | public BadJob1() {
    method execute (line 62) | public void execute(JobExecutionContext context) throws JobExecutionEx...

FILE: examples/src/main/java/org/quartz/examples/example6/BadJob2.java
  class BadJob2 (line 39) | @PersistJobDataAfterExecution
    method BadJob2 (line 50) | public BadJob2() {
    method execute (line 62) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example6/JobExceptionExample.java
  class JobExceptionExample (line 42) | public class JobExceptionExample {
    method run (line 44) | public void run() throws Exception {
    method main (line 110) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example7/DumbInterruptableJob.java
  class DumbInterruptableJob (line 40) | public class DumbInterruptableJob implements InterruptableJob {
    method DumbInterruptableJob (line 56) | public DumbInterruptableJob() {
    method execute (line 69) | public void execute(JobExecutionContext context)
    method interrupt (line 109) | public void interrupt() throws UnableToInterruptJobException {

FILE: examples/src/main/java/org/quartz/examples/example7/InterruptExample.java
  class InterruptExample (line 54) | public class InterruptExample {
    method run (line 56) | public void run() throws Exception {
    method main (line 107) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example8/CalendarExample.java
  class CalendarExample (line 45) | public class CalendarExample {
    method run (line 47) | public void run() throws Exception {
    method main (line 120) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example8/SimpleJob.java
  class SimpleJob (line 37) | public class SimpleJob implements Job {
    method SimpleJob (line 44) | public SimpleJob() {
    method execute (line 57) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example9/Job1Listener.java
  class Job1Listener (line 36) | public class Job1Listener implements JobListener {
    method getName (line 40) | public String getName() {
    method jobToBeExecuted (line 44) | public void jobToBeExecuted(JobExecutionContext inContext) {
    method jobExecutionVetoed (line 48) | public void jobExecutionVetoed(JobExecutionContext inContext) {
    method jobWasExecuted (line 52) | public void jobWasExecuted(JobExecutionContext inContext, JobExecution...

FILE: examples/src/main/java/org/quartz/examples/example9/ListenerExample.java
  class ListenerExample (line 41) | public class ListenerExample {
    method run (line 43) | public void run() throws Exception {
    method main (line 96) | public static void main(String[] args) throws Exception {

FILE: examples/src/main/java/org/quartz/examples/example9/SimpleJob1.java
  class SimpleJob1 (line 37) | public class SimpleJob1 implements Job {
    method SimpleJob1 (line 44) | public SimpleJob1() {
    method execute (line 57) | public void execute(JobExecutionContext context)

FILE: examples/src/main/java/org/quartz/examples/example9/SimpleJob2.java
  class SimpleJob2 (line 37) | public class SimpleJob2 implements Job {
    method SimpleJob2 (line 44) | public SimpleJob2() {
    method execute (line 57) | public void execute(JobExecutionContext context)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/DirectoryScanJob.java
  class DirectoryScanJob (line 47) | @DisallowConcurrentExecution
    method DirectoryScanJob (line 81) | public DirectoryScanJob() {
    method execute (line 87) | public void execute(JobExecutionContext context) throws JobExecutionEx...
    method getUpdatedOrNewFiles (line 151) | protected File[] getUpdatedOrNewFiles(String dirName, final long lastD...

FILE: quartz-jobs/src/main/java/org/quartz/jobs/DirectoryScanListener.java
  type DirectoryScanListener (line 34) | public interface DirectoryScanListener {
    method filesUpdatedOrAdded (line 40) | void filesUpdatedOrAdded(File[] updatedFiles);

FILE: quartz-jobs/src/main/java/org/quartz/jobs/FileScanJob.java
  class FileScanJob (line 47) | @DisallowConcurrentExecution
    method FileScanJob (line 81) | public FileScanJob() {
    method execute (line 87) | public void execute(JobExecutionContext context) throws JobExecutionEx...
    method getLastModifiedDate (line 146) | protected long getLastModifiedDate(String fileName) {

FILE: quartz-jobs/src/main/java/org/quartz/jobs/FileScanListener.java
  type FileScanListener (line 28) | public interface FileScanListener {
    method fileUpdated (line 30) | void fileUpdated(String fileName);

FILE: quartz-jobs/src/main/java/org/quartz/jobs/NoOpJob.java
  class NoOpJob (line 35) | public class NoOpJob implements Job {
    method NoOpJob (line 46) | public NoOpJob() {
    method execute (line 62) | public void execute(JobExecutionContext context)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/ejb/EJB3InvokerJob.java
  class EJB3InvokerJob (line 48) | public class EJB3InvokerJob extends EJBInvokerJob {
    method execute (line 50) | @Override

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/ejb/EJBInvokerJob.java
  class EJBInvokerJob (line 78) | public class EJBInvokerJob implements Job {
    method EJBInvokerJob (line 113) | public EJBInvokerJob() {
    method execute (line 125) | public void execute(JobExecutionContext context)
    method getInitialContext (line 249) | protected InitialContext getInitialContext(JobDataMap jobDataMap)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/JmsHelper.java
  class JmsHelper (line 37) | public final class JmsHelper {
    method closeResource (line 60) | public static void closeResource(final Object resource) {
    method getInitialContext (line 75) | public static InitialContext getInitialContext(final JobDataMap dataMap)
    method getMessageFactory (line 107) | public static JmsMessageFactory getMessageFactory(final String name)
    method isDestinationSecure (line 123) | public static boolean isDestinationSecure(final JobDataMap dataMap) {
    method useTransaction (line 128) | public static boolean useTransaction(final JobDataMap dataMap) {
    method JmsHelper (line 132) | private JmsHelper() {

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/JmsJobException.java
  class JmsJobException (line 30) | public final class JmsJobException extends SchedulerException {
    method JmsJobException (line 33) | public JmsJobException(final String message) {
    method JmsJobException (line 37) | public JmsJobException(final String message, final Throwable cause) {
    method JmsJobException (line 41) | public JmsJobException(final Throwable cause) {

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/JmsMessageFactory.java
  type JmsMessageFactory (line 38) | public interface JmsMessageFactory {
    method createMessage (line 50) | Message createMessage(JobDataMap jobDataMap, Session session);

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/SendDestinationMessageJob.java
  class SendDestinationMessageJob (line 80) | public final class SendDestinationMessageJob implements Job {
    method execute (line 82) | public void execute(final JobExecutionContext jobCtx)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/SendQueueMessageJob.java
  class SendQueueMessageJob (line 73) | public final class SendQueueMessageJob implements Job {
    method execute (line 75) | public void execute(final JobExecutionContext jobCtx)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jms/SendTopicMessageJob.java
  class SendTopicMessageJob (line 79) | public final class SendTopicMessageJob implements Job {
    method execute (line 81) | public void execute(final JobExecutionContext jobCtx)

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/jmx/JMXInvokerJob.java
  class JMXInvokerJob (line 69) | public class JMXInvokerJob implements Job {
    method execute (line 73) | public void execute(JobExecutionContext context) throws JobExecutionEx...
    method split (line 160) | private String[] split(String str, String splitStr) // Same as String....
    method invoke (line 173) | private Object invoke(String objectName, String method, Object[] param...
    method getLog (line 185) | protected Logger getLog() {

FILE: quartz-jobs/src/main/java/org/quartz/jobs/ee/mail/SendMailJob.java
  class SendMailJob (line 52) | public class SendMailJob implements Job {
    method execute (line 125) | public void execute(JobExecutionContext context)
    method getLog (line 145) | protected Logger getLog() {
    method prepareMimeMessage (line 149) | protected MimeMessage prepareMimeMessage(MailInfo mailInfo)
    method setMimeMessageContent (line 178) | protected void setMimeMessageContent(MimeMessage mimeMessage, MailInfo...
    method getMailSession (line 187) | protected Session getMailSession(final MailInfo mailInfo) throws Messa...
    method createMailInfo (line 210) | protected MailInfo createMailInfo() {
    method populateMailInfo (line 214) | protected MailInfo populateMailInfo(JobDataMap data, MailInfo mailInfo) {
    method getRequiredParm (line 247) | protected String getRequiredParm(JobDataMap data, String property, Str...
    method getOptionalParm (line 257) | protected String getOptionalParm(JobDataMap data, String property) {
    class MailInfo (line 267) | protected static class MailInfo {
      method toString (line 280) | @Override
      method getCc (line 285) | public String getCc() {
      method setCc (line 289) | public void setCc(String cc) {
      method getContentType (line 293) | public String getContentType() {
      method setContentType (line 297) | public void setContentType(String contentType) {
      method getFrom (line 301) | public String getFrom() {
      method setFrom (line 305) | public void setFrom(String from) {
      method getMessage (line 309) | public String getMessage() {
      method setMessage (line 313) | public void setMessage(String message) {
      method getReplyTo (line 317) | public String getReplyTo() {
      method setReplyTo (line 321) | public void setReplyTo(String replyTo) {
      method getSmtpHost (line 325) | public String getSmtpHost() {
      method setSmtpHost (line 329) | public void setSmtpHost(String smtpHost) {
      method getSubject (line 333) | public String getSubject() {
      method setSubject (line 337) | public void setSubject(String subject) {
      method getTo (line 341) | public String getTo() {
      method setTo (line 345) | public void setTo(String to) {
      method getSmtpProperties (line 349) | public Properties getSmtpProperties() {
      method setSmtpProperties (line 353) | public void setSmtpProperties(Properties smtpProperties) {
      method getUsername (line 357) | public String getUsername() {
      method setUsername (line 361) | public void setUsername(String username) {
      method getPassword (line 365) | public String getPassword() {
      method setPassword (line 369) | public void setPassword(String password) {

FILE: quartz-jobs/src/test/java/org/quartz/integrations/tests/AutoInterruptableJobTest.java
  class AutoInterruptableJobTest (line 44) | public class AutoInterruptableJobTest extends TestCase {
    class TestInterruptableJob (line 48) | public static class TestInterruptableJob implements InterruptableJob {
      method execute (line 52) | public void execute(JobExecutionContext context)
      method interrupt (line 77) | public void interrupt() throws UnableToInterruptJobException {
    method setUp (line 83) | @Override
    method testJobAutoInterruption (line 87) | public void testJobAutoInterruption() throws Exception {

FILE: quartz-jobs/src/test/java/org/quartz/integrations/tests/DummyClassLoadHelper.java
  class DummyClassLoadHelper (line 30) | public class DummyClassLoadHelper extends CascadingClassLoadHelper {
    method loadClass (line 32) | @Override

FILE: quartz-jobs/src/test/java/org/quartz/integrations/tests/HelloJob.java
  class HelloJob (line 36) | public class HelloJob implements Job {
    method HelloJob (line 49) | public HelloJob() {
    method execute (line 62) | public void execute(JobExecutionContext context) throws JobExecutionEx...

FILE: quartz-jobs/src/test/java/org/quartz/integrations/tests/QTZ225_SchedulerClassLoadHelperForPlugins_Test.java
  class QTZ225_SchedulerClassLoadHelperForPlugins_Test (line 48) | public class QTZ225_SchedulerClassLoadHelperForPlugins_Test {
    method setUp (line 53) | @Before
    method dummyClassLoadHelperSuccessfullyLoadedImaginaryJobClassTest (line 70) | @Test
    method tearDown (line 77) | @After

FILE: quartz-jobs/src/test/java/org/quartz/jobs/MyJobListener.java
  class MyJobListener (line 10) | public class MyJobListener implements JobListener {
    method getName (line 14) | @Override
    method jobToBeExecuted (line 19) | @Override
    method jobExecutionVetoed (line 24) | @Override
    method jobWasExecuted (line 29) | @Override

FILE: quartz-jobs/src/test/java/org/quartz/jobs/SendMailJobAuthTestBase.java
  class SendMailJobAuthTestBase (line 20) | public abstract class SendMailJobAuthTestBase {
    method SendMailJobAuthTestBase (line 29) | public SendMailJobAuthTestBase(String sender, String username, String ...
    method setUp (line 35) | @Before
    method tearDown (line 50) | @After
    method testWithAuthentication (line 56) | @Test
    method assertAuthentication (line 74) | public abstract void assertAuthentication() throws Exception;
    method configureSendMailJob (line 76) | protected void configureSendMailJob(JobDetail job) {

FILE: quartz-jobs/src/test/java/org/quartz/jobs/SendMailJobFakeAuth.java
  class SendMailJobFakeAuth (line 10) | @Ignore
    method SendMailJobFakeAuth (line 12) | public SendMailJobFakeAuth() {
    method assertAuthentication (line 16) | @Override

FILE: quartz-jobs/src/test/java/org/quartz/jobs/SendMailJobRealAuth.java
  class SendMailJobRealAuth (line 8) | @Ignore
    method SendMailJobRealAuth (line 10) | public SendMailJobRealAuth() {
    method assertAuthentication (line 14) | @Override

FILE: quartz-jobs/src/test/java/org/quartz/jobs/SendMailJobTest.java
  class SendMailJobTest (line 34) | @Ignore
    method setup (line 40) | @Before
    method tearDown (line 50) | @After
    method testSendMailJobNoAuthentication (line 56) | @Test
    method testRealAccountSendMail (line 98) | @Ignore

FILE: quartz-jobs/src/test/java/org/quartz/jobs/SimpleValidator.java
  class SimpleValidator (line 9) | class SimpleValidator implements UsernamePasswordValidator {
    method login (line 12) | @Override

FILE: quartz-stubs/src/main/java/oracle/sql/BLOB.java
  class BLOB (line 26) | public class BLOB implements Blob {
    method length (line 28) | public long length() throws SQLException {
    method getBytes (line 32) | public byte[] getBytes(long pos, int length) throws SQLException {
    method getBinaryStream (line 36) | public InputStream getBinaryStream() throws SQLException {
    method position (line 40) | public long position(byte[] pattern, long start) throws SQLException {
    method position (line 44) | public long position(Blob pattern, long start) throws SQLException {
    method setBytes (line 48) | public int setBytes(long pos, byte[] bytes) throws SQLException {
    method setBytes (line 52) | public int setBytes(long pos, byte[] bytes, int offset, int len) throw...
    method setBinaryStream (line 56) | public OutputStream setBinaryStream(long pos) throws SQLException {
    method truncate (line 60) | public void truncate(long len) throws SQLException {
    method free (line 64) | public void free() throws SQLException {
    method getBinaryStream (line 68) | public InputStream getBinaryStream(long pos, long length) throws SQLEx...
    method putBytes (line 72) | public int putBytes(long pos, byte[] data) throws SQLException {
    method trim (line 76) | public void trim(long length) throws SQLException {

FILE: quartz-stubs/src/main/java/org/quartz/jobs/DirectoryScanListener.java
  type DirectoryScanListener (line 32) | public interface DirectoryScanListener {
    method filesUpdatedOrAdded (line 38) | void filesUpdatedOrAdded(File[] updatedFiles);

FILE: quartz-stubs/src/main/java/org/quartz/jobs/FileScanListener.java
  type FileScanListener (line 27) | public interface FileScanListener {
    method fileUpdated (line 29) | void fileUpdated(String fileName);

FILE: quartz-stubs/src/main/java/weblogic/jdbc/jts/Driver.java
  class Driver (line 27) | public class Driver implements java.sql.Driver {
    method connect (line 29) | public Connection connect(String url, Properties info) throws SQLExcep...
    method acceptsURL (line 33) | public boolean acceptsURL(String url) throws SQLException {
    method getPropertyInfo (line 37) | public DriverPropertyInfo[] getPropertyInfo(String url, Properties inf...
    method getMajorVersion (line 41) | public int getMajorVersion() {
    method getMinorVersion (line 45) | public int getMinorVersion() {
    method jdbcCompliant (line 49) | public boolean jdbcCompliant() {
    method getParentLogger (line 53) | public Logger getParentLogger() {

FILE: quartz-stubs/src/main/java/weblogic/jdbc/vendor/oracle/OracleThinBlob.java
  type OracleThinBlob (line 24) | public interface OracleThinBlob {
    method getBinaryOutputStream (line 26) | public abstract OutputStream getBinaryOutputStream() throws SQLException;
    method getBufferSize (line 28) | public abstract int getBufferSize() throws SQLException;
    method getChunkSize (line 30) | public abstract int getChunkSize() throws SQLException;
    method putBytes (line 32) | public abstract int putBytes(long l, byte abyte0[]) throws SQLException;
    method truncate (line 34) | public abstract void truncate(long l) throws SQLException;
    method trim (line 36) | public abstract void trim(long l) throws SQLException;

FILE: quartz/src/main/java/org/quartz/Calendar.java
  type Calendar (line 42) | public interface Calendar extends java.io.Serializable, java.lang.Clonea...
    method setBaseCalendar (line 67) | void setBaseCalendar(Calendar baseCalendar);
    method getBaseCalendar (line 74) | Calendar getBaseCalendar();
    method isTimeIncluded (line 82) | boolean isTimeIncluded(long timeStamp);
    method getNextIncludedTime (line 90) | long getNextIncludedTime(long timeStamp);
    method getDescription (line 100) | String getDescription();
    method setDescription (line 109) | void setDescription(String description);
    method clone (line 111) | Object clone();

FILE: quartz/src/main/java/org/quartz/CalendarIntervalScheduleBuilder.java
  class CalendarIntervalScheduleBuilder (line 60) | public class CalendarIntervalScheduleBuilder extends ScheduleBuilder<Cal...
    method CalendarIntervalScheduleBuilder (line 70) | protected CalendarIntervalScheduleBuilder() {
    method calendarIntervalSchedule (line 78) | public static CalendarIntervalScheduleBuilder calendarIntervalSchedule...
    method build (line 89) | @Override
    method withInterval (line 113) | public CalendarIntervalScheduleBuilder withInterval(int timeInterval, ...
    method withIntervalInSeconds (line 134) | public CalendarIntervalScheduleBuilder withIntervalInSeconds(int inter...
    method withIntervalInMinutes (line 150) | public CalendarIntervalScheduleBuilder withIntervalInMinutes(int inter...
    method withIntervalInHours (line 166) | public CalendarIntervalScheduleBuilder withIntervalInHours(int interva...
    method withIntervalInDays (line 182) | public CalendarIntervalScheduleBuilder withIntervalInDays(int interval...
    method withIntervalInWeeks (line 198) | public CalendarIntervalScheduleBuilder withIntervalInWeeks(int interva...
    method withIntervalInMonths (line 214) | public CalendarIntervalScheduleBuilder withIntervalInMonths(int interv...
    method withIntervalInYears (line 230) | public CalendarIntervalScheduleBuilder withIntervalInYears(int interva...
    method withMisfireHandlingInstructionIgnoreMisfires (line 244) | public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionI...
    method withMisfireHandlingInstructionDoNothing (line 256) | public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionD...
    method withMisfireHandlingInstructionFireAndProceed (line 268) | public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionF...
    method inTimeZone (line 279) | public CalendarIntervalScheduleBuilder inTimeZone(TimeZone timezone) {
    method preserveHourOfDayAcrossDaylightSavings (line 310) | public CalendarIntervalScheduleBuilder preserveHourOfDayAcrossDaylight...
    method skipDayIfHourDoesNotExist (line 335) | public CalendarIntervalScheduleBuilder skipDayIfHourDoesNotExist(boole...
    method validateInterval (line 340) | private void validateInterval(int timeInterval) {

FILE: quartz/src/main/java/org/quartz/CalendarIntervalTrigger.java
  type CalendarIntervalTrigger (line 52) | public interface CalendarIntervalTrigger extends Trigger {
    method getRepeatIntervalUnit (line 76) | IntervalUnit getRepeatIntervalUnit();
    method getRepeatInterval (line 85) | int getRepeatInterval();
    method getTimesTriggered (line 93) | int getTimesTriggered();
    method getTimeZone (line 105) | TimeZone getTimeZone();
    method isPreserveHourOfDayAcrossDaylightSavings (line 134) | boolean isPreserveHourOfDayAcrossDaylightSavings();
    method isSkipDayIfHourDoesNotExist (line 156) | boolean isSkipDayIfHourDoesNotExist();
    method getTriggerBuilder (line 159) | TriggerBuilder<CalendarIntervalTrigger> getTriggerBuilder();

FILE: quartz/src/main/java/org/quartz/CronExpression.java
  class CronExpression (line 208) | public final class CronExpression implements Serializable, Cloneable {
    method CronExpression (line 279) | public CronExpression(String cronExpression) throws ParseException {
    method CronExpression (line 296) | public CronExpression(CronExpression expression) {
    method isSatisfiedBy (line 322) | public boolean isSatisfiedBy(Date date) {
    method getNextValidTimeAfter (line 343) | public Date getNextValidTimeAfter(Date date) {
    method getNextInvalidTimeAfter (line 355) | public Date getNextInvalidTimeAfter(Date date) {
    method getTimeZone (line 390) | public TimeZone getTimeZone() {
    method setTimeZone (line 402) | public void setTimeZone(TimeZone timeZone) {
    method toString (line 411) | @Override
    method isValidExpression (line 424) | public static boolean isValidExpression(String cronExpression) {
    method validateExpression (line 435) | public static void validateExpression(String cronExpression) throws Pa...
    method buildExpression (line 447) | protected void buildExpression(String expression) throws ParseException {
    method storeExpressionVals (line 536) | protected int storeExpressionVals(int pos, String s, int type)
    method checkIncrementRange (line 726) | private void checkIncrementRange(int incr, int type, int idxPos) throw...
    method checkNext (line 740) | protected int checkNext(int pos, String s, int val, int type)
    method getCronExpression (line 874) | public String getCronExpression() {
    method getExpressionSummary (line 878) | public String getExpressionSummary() {
    method getExpressionSetSummary (line 915) | protected String getExpressionSetSummary(java.util.Set<Integer> set) {
    method getExpressionSetSummary (line 941) | protected String getExpressionSetSummary(java.util.ArrayList<Integer> ...
    method skipWhiteSpace (line 967) | protected int skipWhiteSpace(int i, String s) {
    method findNextWhiteSpace (line 974) | protected int findNextWhiteSpace(int i, String s) {
    method addToSet (line 981) | protected void addToSet(int val, int end, int incr, int type)
    method getSet (line 1114) | TreeSet<Integer> getSet(int type) {
    method getValue (line 1135) | protected ValueSet getValue(int v, String s, int i) {
    method getNumericValue (line 1153) | protected int getNumericValue(String s, int i) {
    method getMonthNumber (line 1159) | protected int getMonthNumber(String s) {
    method getDayOfWeekNumber (line 1169) | protected int getDayOfWeekNumber(String s) {
    method getTimeAfter (line 1185) | public Date getTimeAfter(Date afterTime) {
    method setCalendarHour (line 1544) | protected void setCalendarHour(Calendar cal, int hour) {
    method getTimeBefore (line 1560) | public Date getTimeBefore(Date endTime) {
    method getFinalFireTime (line 1605) | public Date getFinalFireTime() {
    method isLeapYear (line 1610) | protected boolean isLeapYear(int year) {
    method getLastDayOfMonth (line 1614) | protected int getLastDayOfMonth(int monthNum, int year) {
    method findSmallestDay (line 1648) | private Optional<Integer> findSmallestDay(int day, int mon, int year, ...
    method readObject (line 1673) | private void readObject(java.io.ObjectInputStream stream)
    method clone (line 1683) | @Override
  class ValueSet (line 1690) | class ValueSet {

FILE: quartz/src/main/java/org/quartz/CronScheduleBuilder.java
  class CronScheduleBuilder (line 63) | public class CronScheduleBuilder extends ScheduleBuilder<CronTrigger> {
    method CronScheduleBuilder (line 68) | protected CronScheduleBuilder(CronExpression cronExpression) {
    method build (line 82) | @Override
    method cronSchedule (line 106) | public static CronScheduleBuilder cronSchedule(String cronExpression) {
    method cronScheduleNonvalidatedExpression (line 129) | public static CronScheduleBuilder cronScheduleNonvalidatedExpression(
    method cronScheduleNoParseException (line 134) | private static CronScheduleBuilder cronScheduleNoParseException(
    method cronSchedule (line 157) | public static CronScheduleBuilder cronSchedule(CronExpression cronExpr...
    method dailyAtHourAndMinute (line 172) | public static CronScheduleBuilder dailyAtHourAndMinute(int hour, int m...
    method atHourAndMinuteOnGivenDaysOfWeek (line 203) | public static CronScheduleBuilder atHourAndMinuteOnGivenDaysOfWeek(
    method weeklyOnDayAndHourAndMinute (line 243) | public static CronScheduleBuilder weeklyOnDayAndHourAndMinute(
    method monthlyOnDayAndHourAndMinute (line 269) | public static CronScheduleBuilder monthlyOnDayAndHourAndMinute(
    method inTimeZone (line 289) | public CronScheduleBuilder inTimeZone(TimeZone timezone) {
    method withMisfireHandlingInstructionIgnoreMisfires (line 301) | public CronScheduleBuilder withMisfireHandlingInstructionIgnoreMisfire...
    method withMisfireHandlingInstructionDoNothing (line 313) | public CronScheduleBuilder withMisfireHandlingInstructionDoNothing() {
    method withMisfireHandlingInstructionFireAndProceed (line 325) | public CronScheduleBuilder withMisfireHandlingInstructionFireAndProcee...

FILE: quartz/src/main/java/org/quartz/CronTrigger.java
  type CronTrigger (line 172) | public interface CronTrigger extends Trigger {
    method getCronExpression (line 196) | String getCronExpression();
    method getTimeZone (line 204) | TimeZone getTimeZone();
    method getExpressionSummary (line 206) | String getExpressionSummary();
    method getTriggerBuilder (line 208) | TriggerBuilder<CronTrigger> getTriggerBuilder();

FILE: quartz/src/main/java/org/quartz/DailyTimeIntervalScheduleBuilder.java
  class DailyTimeIntervalScheduleBuilder (line 69) | public class DailyTimeIntervalScheduleBuilder extends ScheduleBuilder<Da...
    method DailyTimeIntervalScheduleBuilder (line 120) | protected DailyTimeIntervalScheduleBuilder() {
    method dailyTimeIntervalSchedule (line 128) | public static DailyTimeIntervalScheduleBuilder dailyTimeIntervalSchedu...
    method build (line 139) | @Override
    method withInterval (line 176) | public DailyTimeIntervalScheduleBuilder withInterval(int timeInterval,...
    method withIntervalInSeconds (line 195) | public DailyTimeIntervalScheduleBuilder withIntervalInSeconds(int inte...
    method withIntervalInMinutes (line 209) | public DailyTimeIntervalScheduleBuilder withIntervalInMinutes(int inte...
    method withIntervalInHours (line 223) | public DailyTimeIntervalScheduleBuilder withIntervalInHours(int interv...
    method onDaysOfTheWeek (line 235) | public DailyTimeIntervalScheduleBuilder onDaysOfTheWeek(Set<Integer> o...
    method onDaysOfTheWeek (line 253) | public DailyTimeIntervalScheduleBuilder onDaysOfTheWeek(Integer ... on...
    method onMondayThroughFriday (line 264) | public DailyTimeIntervalScheduleBuilder onMondayThroughFriday() {
    method onSaturdayAndSunday (line 274) | public DailyTimeIntervalScheduleBuilder onSaturdayAndSunday() {
    method onEveryDay (line 284) | public DailyTimeIntervalScheduleBuilder onEveryDay() {
    method startingDailyAt (line 294) | public DailyTimeIntervalScheduleBuilder startingDailyAt(TimeOfDay time...
    method endingDailyAt (line 307) | public DailyTimeIntervalScheduleBuilder endingDailyAt(TimeOfDay timeOf...
    method endingDailyAfterCount (line 318) | public DailyTimeIntervalScheduleBuilder endingDailyAfterCount(int coun...
    method withMisfireHandlingInstructionIgnoreMisfires (line 369) | public DailyTimeIntervalScheduleBuilder withMisfireHandlingInstruction...
    method withMisfireHandlingInstructionDoNothing (line 381) | public DailyTimeIntervalScheduleBuilder withMisfireHandlingInstruction...
    method withMisfireHandlingInstructionFireAndProceed (line 393) | public DailyTimeIntervalScheduleBuilder withMisfireHandlingInstruction...
    method withRepeatCount (line 405) | public DailyTimeIntervalScheduleBuilder withRepeatCount(int repeatCoun...
    method validateInterval (line 410) | private void validateInterval(int timeInterval) {

FILE: quartz/src/main/java/org/quartz/DailyTimeIntervalTrigger.java
  type DailyTimeIntervalTrigger (line 54) | public interface DailyTimeIntervalTrigger extends Trigger {
    method getRepeatIntervalUnit (line 91) | IntervalUnit getRepeatIntervalUnit();
    method getRepeatCount (line 101) | int getRepeatCount();
    method getRepeatInterval (line 110) | int getRepeatInterval();
    method getStartTimeOfDay (line 115) | TimeOfDay getStartTimeOfDay();
    method getEndTimeOfDay (line 120) | TimeOfDay getEndTimeOfDay();
    method getDaysOfWeek (line 128) | Set<Integer> getDaysOfWeek();
    method getTimesTriggered (line 136) | int getTimesTriggered();
    method getTriggerBuilder (line 138) | TriggerBuilder<DailyTimeIntervalTrigger> getTriggerBuilder();

FILE: quartz/src/main/java/org/quartz/DateBuilder.java
  class DateBuilder (line 65) | public class DateBuilder {
    type IntervalUnit (line 67) | public enum IntervalUnit { MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEE...
    method DateBuilder (line 128) | private DateBuilder() {
    method DateBuilder (line 135) | private DateBuilder(TimeZone tz) {
    method DateBuilder (line 142) | private DateBuilder(Locale lc) {
    method DateBuilder (line 150) | private DateBuilder(TimeZone tz, Locale lc) {
    method setClock (line 157) | void setClock(Clock clock) {
    method newDate (line 164) | public static DateBuilder newDate() {
    method newDateInTimezone (line 171) | public static DateBuilder newDateInTimezone(TimeZone tz) {
    method newDateInLocale (line 178) | public static DateBuilder newDateInLocale(Locale lc) {
    method newDateInTimeZoneAndLocale (line 185) | public static DateBuilder newDateInTimeZoneAndLocale(TimeZone tz, Loca...
    method build (line 192) | public Date build() {
    method atHourOfDay (line 216) | public DateBuilder atHourOfDay(int atHour) {
    method atMinute (line 226) | public DateBuilder atMinute(int atMinute) {
    method atSecond (line 236) | public DateBuilder atSecond(int atSecond) {
    method atHourMinuteAndSecond (line 243) | public DateBuilder atHourMinuteAndSecond(int atHour, int atMinute, int...
    method onDay (line 257) | public DateBuilder onDay(int onDay) {
    method inMonth (line 267) | public DateBuilder inMonth(int inMonth) {
    method inMonthOnDay (line 274) | public DateBuilder inMonthOnDay(int inMonth, int onDay) {
    method inYear (line 286) | public DateBuilder inYear(int inYear) {
    method inTimeZone (line 296) | public DateBuilder inTimeZone(TimeZone timezone) {
    method inLocale (line 304) | public DateBuilder inLocale(Locale locale) {
    method futureDate (line 309) | public static Date futureDate(int interval, IntervalUnit unit) {
    method futureDate (line 313) | static Date futureDate(int interval, IntervalUnit unit, Clock clock) {
    method translate (line 317) | private static ChronoUnit translate(IntervalUnit unit) {
    method tomorrowAt (line 345) | public static Date tomorrowAt(int hour, int minute, int second) {
    method tomorrowAt (line 349) | static Date tomorrowAt(int hour, int minute, int second, Clock clock) {
    method todayAt (line 372) | public static Date todayAt(int hour, int minute, int second) {
    method todayAt (line 376) | static Date todayAt(int hour, int minute, int second, Clock clock) {
    method dateOf (line 394) | public static Date dateOf(int hour, int minute, int second) {
    method dateOf (line 398) | static Date dateOf(int hour, int minute, int second, Clock clock) {
    method dateOf (line 423) | public static Date dateOf(int hour, int minute, int second,
    method dateOf (line 428) | static Date dateOf(int hour, int minute, int second,
    method dateOf (line 456) | public static Date dateOf(int hour, int minute, int second,
    method dateOf (line 461) | static Date dateOf(int hour, int minute, int second,
    method evenHourDateAfterNow (line 482) | public static Date evenHourDateAfterNow() {
    method evenHourDateAfterNow (line 486) | static Date evenHourDateAfterNow(Clock clock) {
    method evenHourDate (line 507) | public static Date evenHourDate(Date date) {
    method evenHourDate (line 511) | static Date evenHourDate(Date date, Clock clock) {
    method evenHourDateBefore (line 536) | public static Date evenHourDateBefore(Date date) {
    method evenHourDateBefore (line 540) | static Date evenHourDateBefore(Date date, Clock clock) {
    method evenMinuteDateAfterNow (line 561) | public static Date evenMinuteDateAfterNow() {
    method evenMinuteDateAfterNow (line 565) | static Date evenMinuteDateAfterNow(Clock clock) {
    method evenMinuteDate (line 586) | public static Date evenMinuteDate(Date date) {
    method evenMinuteDate (line 590) | public static Date evenMinuteDate(Date date, Clock clock) {
    method evenMinuteDateBefore (line 613) | public static Date evenMinuteDateBefore(Date date) {
    method evenMinuteDateBefore (line 617) | static Date evenMinuteDateBefore(Date date, Clock clock) {
    method evenSecondDateAfterNow (line 630) | public static Date evenSecondDateAfterNow() {
    method evenSecondDateAfterNow (line 634) | static Date evenSecondDateAfterNow(Clock clock) {
    method evenSecondDate (line 649) | public static Date evenSecondDate(Date date) {
    method evenSecondDate (line 653) | static Date evenSecondDate(Date date, Clock clock) {
    method evenSecondDateBefore (line 676) | public static Date evenSecondDateBefore(Date date) {
    method evenSecondDateBefore (line 680) | static Date evenSecondDateBefore(Date date, Clock clock) {
    method nextGivenMinuteDate (line 782) | public static Date nextGivenMinuteDate(Date date, int minuteBase) {
    method nextGivenMinuteDate (line 786) | static Date nextGivenMinuteDate(Date date, int minuteBase, Clock clock) {
    method nextGivenSecondDate (line 830) | public static Date nextGivenSecondDate(Date date, int secondBase) {
    method nextGivenSecondDate (line 834) | static Date nextGivenSecondDate(Date date, int secondBase, Clock clock) {
    method translateTime (line 869) | public static Date translateTime(Date date, TimeZone src, TimeZone des...
    method validateDayOfWeek (line 879) | public static void validateDayOfWeek(int dayOfWeek) {
    method validateHour (line 885) | public static void validateHour(int hour) {
    method validateMinute (line 892) | public static void validateMinute(int minute) {
    method validateSecond (line 899) | public static void validateSecond(int second) {
    method validateDayOfMonth (line 906) | public static void validateDayOfMonth(int day) {
    method validateMonth (line 912) | public static void validateMonth(int month) {
    method validateYear (line 919) | public static void validateYear(int year) {

FILE: quartz/src/main/java/org/quartz/InterruptableJob.java
  type InterruptableJob (line 72) | public interface InterruptableJob extends Job {
    method interrupt (line 91) | void interrupt()

FILE: quartz/src/main/java/org/quartz/Job.java
  type Job (line 48) | public interface Job {
    method execute (line 77) | void execute(JobExecutionContext context)

FILE: quartz/src/main/java/org/quartz/JobBuilder.java
  class JobBuilder (line 60) | public class JobBuilder {
    method JobBuilder (line 70) | protected JobBuilder() {
    method newJob (line 78) | public static JobBuilder newJob() {
    method newJob (line 88) | public static JobBuilder newJob(Class <? extends Job> jobClass) {
    method build (line 100) | public JobDetail build() {
    method withIdentity (line 131) | public JobBuilder withIdentity(String name) {
    method withIdentity (line 149) | public JobBuilder withIdentity(String name, String group) {
    method withIdentity (line 165) | public JobBuilder withIdentity(JobKey jobKey) {
    method withDescription (line 177) | public JobBuilder withDescription(String jobDescription) {
    method ofType (line 190) | public JobBuilder ofType(Class <? extends Job> jobClazz) {
    method requestRecovery (line 208) | public JobBuilder requestRecovery() {
    method requestRecovery (line 225) | public JobBuilder requestRecovery(boolean jobShouldRecover) {
    method storeDurably (line 242) | public JobBuilder storeDurably() {
    method storeDurably (line 258) | public JobBuilder storeDurably(boolean jobDurability) {
    method usingJobData (line 269) | public JobBuilder usingJobData(String dataKey, String value) {
    method usingJobData (line 280) | public JobBuilder usingJobData(String dataKey, Integer value) {
    method usingJobData (line 291) | public JobBuilder usingJobData(String dataKey, Long value) {
    method usingJobData (line 302) | public JobBuilder usingJobData(String dataKey, Float value) {
    method usingJobData (line 313) | public JobBuilder usingJobData(String dataKey, Double value) {
    method usingJobData (line 324) | public JobBuilder usingJobData(String dataKey, Boolean value) {
    method usingJobData (line 336) | public JobBuilder usingJobData(JobDataMap newJobDataMap) {
    method setJobData (line 348) | public JobBuilder setJobData(JobDataMap newJobDataMap) {

FILE: quartz/src/main/java/org/quartz/JobDataMap.java
  class JobDataMap (line 64) | public class JobDataMap extends StringKeyDirtyFlagMap implements Seriali...
    method JobDataMap (line 81) | public JobDataMap() {
    method JobDataMap (line 90) | public JobDataMap(Map<?, ?> map) {
    method putAsString (line 115) | public void putAsString(String key, boolean value) {
    method putAsString (line 127) | public void putAsString(String key, Boolean value) {
    method putAsString (line 139) | public void putAsString(String key, char value) {
    method putAsString (line 151) | public void putAsString(String key, Character value) {
    method putAsString (line 163) | public void putAsString(String key, double value) {
    method putAsString (line 175) | public void putAsString(String key, Double value) {
    method putAsString (line 187) | public void putAsString(String key, float value) {
    method putAsString (line 199) | public void putAsString(String key, Float value) {
    method putAsString (line 211) | public void putAsString(String key, int value) {
    method putAsString (line 223) | public void putAsString(String key, Integer value) {
    method putAsString (line 235) | public void putAsString(String key, long value) {
    method putAsString (line 247) | public void putAsString(String key, Long value) {
    method getIntFromString (line 261) | public int getIntFromString(String key) {
    method getIntValue (line 275) | public int getIntValue(String key) {
    method getIntegerFromString (line 293) | public Integer getIntegerFromString(String key) {
    method getBooleanValueFromString (line 307) | public boolean getBooleanValueFromString(String key) {
    method getBooleanValue (line 322) | public boolean getBooleanValue(String key) {
    method getBooleanFromString (line 340) | public Boolean getBooleanFromString(String key) {
    method getCharFromString (line 354) | public char getCharFromString(String key) {
    method getCharacterFromString (line 368) | public Character getCharacterFromString(String key) {
    method getDoubleValueFromString (line 382) | public double getDoubleValueFromString(String key) {
    method getDoubleValue (line 396) | public double getDoubleValue(String key) {
    method getDoubleFromString (line 414) | public Double getDoubleFromString(String key) {
    method getFloatValueFromString (line 428) | public float getFloatValueFromString(String key) {
    method getFloatValue (line 442) | public float getFloatValue(String key) {
    method getFloatFromString (line 460) | public Float getFloatFromString(String key) {
    method getLongValueFromString (line 474) | public long getLongValueFromString(String key) {
    method getLongValue (line 488) | public long getLongValue(String key) {
    method getLongFromString (line 506) | public Long getLongFromString(String key) {

FILE: quartz/src/main/java/org/quartz/JobDetail.java
  type JobDetail (line 50) | public interface JobDetail extends Serializable, Cloneable {
    method getKey (line 52) | JobKey getKey();
    method getDescription (line 62) | String getDescription();
    method getJobClass (line 69) | Class<? extends Job> getJobClass();
    method getJobDataMap (line 76) | JobDataMap getJobDataMap();
    method isDurable (line 91) | boolean isDurable();
    method isPersistJobDataAfterExecution (line 97) | boolean isPersistJobDataAfterExecution();
    method isConcurrentExecutionDisallowed (line 103) | boolean isConcurrentExecutionDisallowed();
    method requestsRecovery (line 118) | boolean requestsRecovery();
    method clone (line 120) | Object clone();
    method getJobBuilder (line 126) | JobBuilder getJobBuilder();

FILE: quartz/src/main/java/org/quartz/JobExecutionContext.java
  type JobExecutionContext (line 64) | public interface JobExecutionContext {
    method getScheduler (line 72) | Scheduler getScheduler();
    method getTrigger (line 80) | Trigger getTrigger();
    method getCalendar (line 88) | Calendar getCalendar();
    method isRecovering (line 96) | boolean isRecovering();
    method getRecoveringTriggerKey (line 111) | TriggerKey getRecoveringTriggerKey() throws IllegalStateException;
    method getRefireCount (line 113) | int getRefireCount();
    method getMergedJobDataMap (line 140) | JobDataMap getMergedJobDataMap();
    method getJobDetail (line 147) | JobDetail getJobDetail();
    method getJobInstance (line 160) | Job getJobInstance();
    method getFireTime (line 170) | Date getFireTime();
    method getScheduledFireTime (line 180) | Date getScheduledFireTime();
    method getPreviousFireTime (line 182) | Date getPreviousFireTime();
    method getNextFireTime (line 184) | Date getNextFireTime();
    method getFireInstanceId (line 194) | String getFireInstanceId();
    method getResult (line 210) | Object getResult();
    method setResult (line 223) | void setResult(Object result);
    method getJobRunTime (line 233) | long getJobRunTime();
    method put (line 246) | void put(Object key, Object value);
    method get (line 253) | Object get(Object key);

FILE: quartz/src/main/java/org/quartz/JobExecutionException.java
  class JobExecutionException (line 39) | public class JobExecutionException extends SchedulerException {
    method JobExecutionException (line 71) | public JobExecutionException() {
    method JobExecutionException (line 79) | public JobExecutionException(Throwable cause) {
    method JobExecutionException (line 88) | public JobExecutionException(String msg) {
    method JobExecutionException (line 98) | public JobExecutionException(boolean refireImmediately) {
    method JobExecutionException (line 108) | public JobExecutionException(Throwable cause, boolean refireImmediatel...
    method JobExecutionException (line 120) | public JobExecutionException(String msg, Throwable cause) {
    method JobExecutionException (line 130) | public JobExecutionException(String msg, Throwable cause,
    method JobExecutionException (line 141) | public JobExecutionException(String msg, boolean refireImmediately) {
    method setRefireImmediately (line 155) | public void setRefireImmediately(boolean refire) {
    method refireImmediately (line 159) | public boolean refireImmediately() {
    method setUnscheduleFiringTrigger (line 163) | public void setUnscheduleFiringTrigger(boolean unscheduleTrigg) {
    method unscheduleFiringTrigger (line 167) | public boolean unscheduleFiringTrigger() {
    method setUnscheduleAllTriggers (line 171) | public void setUnscheduleAllTriggers(boolean unscheduleAllTriggs) {
    method unscheduleAllTriggers (line 175) | public boolean unscheduleAllTriggers() {

FILE: quartz/src/main/java/org/quartz/JobKey.java
  class JobKey (line 58) | public final class JobKey extends Key<JobKey> {
    method JobKey (line 62) | public JobKey(String name) {
    method JobKey (line 66) | public JobKey(String name, String group) {
    method jobKey (line 70) | public static JobKey jobKey(String name) {
    method jobKey (line 74) | public static JobKey jobKey(String name, String group) {

FILE: quartz/src/main/java/org/quartz/JobListener.java
  type JobListener (line 37) | public interface JobListener {
    method getName (line 52) | String getName();
    method jobToBeExecuted (line 68) | void jobToBeExecuted(JobExecutionContext context);
    method jobExecutionVetoed (line 80) | void jobExecutionVetoed(JobExecutionContext context);
    method jobWasExecuted (line 90) | void jobWasExecuted(JobExecutionContext context,

FILE: quartz/src/main/java/org/quartz/JobPersistenceException.java
  class JobPersistenceException (line 28) | public class JobPersistenceException extends SchedulerException {
    method JobPersistenceException (line 45) | public JobPersistenceException(String msg) {
    method JobPersistenceException (line 56) | public JobPersistenceException(String msg, Throwable cause) {

FILE: quartz/src/main/java/org/quartz/ListenerManager.java
  type ListenerManager (line 39) | public interface ListenerManager {
    method addJobListener (line 50) | void addJobListener(JobListener jobListener);
    method addJobListener (line 62) | void addJobListener(JobListener jobListener, Matcher<JobKey> matcher);
    method addJobListener (line 74) | void addJobListener(JobListener jobListener, Matcher<JobKey>... matche...
    method addJobListener (line 86) | void addJobListener(JobListener jobListener, List<Matcher<JobKey>> mat...
    method addJobListenerMatcher (line 96) | boolean addJobListenerMatcher(String listenerName, Matcher<JobKey> mat...
    method removeJobListenerMatcher (line 106) | boolean removeJobListenerMatcher(String listenerName, Matcher<JobKey> ...
    method setJobListenerMatchers (line 118) | boolean setJobListenerMatchers(String listenerName, List<Matcher<JobKe...
    method getJobListenerMatchers (line 128) | List<Matcher<JobKey>> getJobListenerMatchers(String listenerName);
    method removeJobListener (line 136) | boolean removeJobListener(String name);
    method getJobListeners (line 142) | List<JobListener> getJobListeners();
    method getJobListener (line 147) | JobListener getJobListener(String name);
    method addTriggerListener (line 158) | void addTriggerListener(TriggerListener triggerListener);
    method addTriggerListener (line 170) | void addTriggerListener(TriggerListener triggerListener, Matcher<Trigg...
    method addTriggerListener (line 182) | void addTriggerListener(TriggerListener triggerListener, Matcher<Trigg...
    method addTriggerListener (line 194) | void addTriggerListener(TriggerListener triggerListener, List<Matcher<...
    method addTriggerListenerMatcher (line 204) | boolean addTriggerListenerMatcher(String listenerName, Matcher<Trigger...
    method removeTriggerListenerMatcher (line 214) | boolean removeTriggerListenerMatcher(String listenerName, Matcher<Trig...
    method setTriggerListenerMatchers (line 226) | boolean setTriggerListenerMatchers(String listenerName, List<Matcher<T...
    method getTriggerListenerMatchers (line 236) | List<Matcher<TriggerKey>> getTriggerListenerMatchers(String listenerNa...
    method removeTriggerListener (line 244) | boolean removeTriggerListener(String name);
    method getTriggerListeners (line 250) | List<TriggerListener> getTriggerListeners();
    method getTriggerListener (line 255) | TriggerListener getTriggerListener(String name);
    method addSchedulerListener (line 261) | void addSchedulerListener(SchedulerListener schedulerListener);
    method removeSchedulerListener (line 270) | boolean removeSchedulerListener(SchedulerListener schedulerListener);
    method getSchedulerListeners (line 276) | List<SchedulerListener> getSchedulerListeners();

FILE: quartz/src/main/java/org/quartz/Matcher.java
  type Matcher (line 32) | public interface Matcher<T extends Key<?>> extends Serializable {
    method isMatch (line 34) | boolean isMatch(T key);
    method hashCode (line 36) | int hashCode();
    method equals (line 38) | boolean equals(Object obj);

FILE: quartz/src/main/java/org/quartz/ObjectAlreadyExistsException.java
  class ObjectAlreadyExistsException (line 30) | public class ObjectAlreadyExistsException extends JobPersistenceException {
    method ObjectAlreadyExistsException (line 48) | public ObjectAlreadyExistsException(String msg) {
    method ObjectAlreadyExistsException (line 63) | public ObjectAlreadyExistsException(JobDetail offendingJob) {
    method ObjectAlreadyExistsException (line 79) | public ObjectAlreadyExistsException(Trigger offendingTrigger) {

FILE: quartz/src/main/java/org/quartz/ScheduleBuilder.java
  class ScheduleBuilder (line 23) | public abstract class ScheduleBuilder<T extends Trigger>  {
    method build (line 25) | protected abstract MutableTrigger build();

FILE: quartz/src/main/java/org/quartz/Scheduler.java
  type Scheduler (line 111) | public interface Scheduler {
    method getSchedulerName (line 205) | String getSchedulerName() throws SchedulerException;
    method getSchedulerInstanceId (line 210) | String getSchedulerInstanceId() throws SchedulerException;
    method getContext (line 215) | SchedulerContext getContext() throws SchedulerException;
    method start (line 242) | void start() throws SchedulerException;
    method startDelayed (line 258) | void startDelayed(int seconds) throws SchedulerException;
    method isStarted (line 274) | boolean isStarted() throws SchedulerException;
    method standby (line 294) | void standby() throws SchedulerException;
    method isInStandbyMode (line 302) | boolean isInStandbyMode() throws SchedulerException;
    method shutdown (line 315) | void shutdown() throws SchedulerException;
    method shutdown (line 331) | void shutdown(boolean waitForJobsToComplete)
    method isShutdown (line 337) | boolean isShutdown() throws SchedulerException;
    method getMetaData (line 348) | SchedulerMetaData getMetaData() throws SchedulerException;
    method getCurrentlyExecutingJobs (line 369) | List<JobExecutionContext> getCurrentlyExecutingJobs() throws Scheduler...
    method setJobFactory (line 383) | void setJobFactory(JobFactory factory) throws SchedulerException;
    method getListenerManager (line 397) | ListenerManager getListenerManager()  throws SchedulerException;
    method scheduleJob (line 419) | Date scheduleJob(JobDetail jobDetail, Trigger trigger)
    method scheduleJob (line 431) | Date scheduleJob(Trigger trigger) throws SchedulerException;
    method scheduleJobs (line 443) | void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> triggersAndJo...
    method scheduleJob (line 455) | void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> triggersF...
    method unscheduleJob (line 463) | boolean unscheduleJob(TriggerKey triggerKey)
    method unscheduleJobs (line 478) | boolean unscheduleJobs(List<TriggerKey> triggerKeys)
    method rescheduleJob (line 496) | Date rescheduleJob(TriggerKey triggerKey, Trigger newTrigger)
    method addJob (line 517) | void addJob(JobDetail jobDetail, boolean replace)
    method addJob (line 538) | void addJob(JobDetail jobDetail, boolean replace, boolean storeNonDura...
    method deleteJob (line 549) | boolean deleteJob(JobKey jobKey)
    method deleteJobs (line 567) | boolean deleteJobs(List<JobKey> jobKeys)
    method triggerJob (line 574) | void triggerJob(JobKey jobKey)
    method triggerJob (line 584) | void triggerJob(JobKey jobKey, JobDataMap data)
    method pauseJob (line 593) | void pauseJob(JobKey jobKey)
    method pauseJobs (line 623) | void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerException;
    method pauseTrigger (line 630) | void pauseTrigger(TriggerKey triggerKey)
    method pauseTriggers (line 659) | void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerE...
    method resumeJob (line 673) | void resumeJob(JobKey jobKey)
    method resumeJobs (line 690) | void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerException;
    method resumeTrigger (line 703) | void resumeTrigger(TriggerKey triggerKey)
    method resumeTriggers (line 718) | void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws Scheduler...
    method pauseAll (line 735) | void pauseAll() throws SchedulerException;
    method resumeAll (line 748) | void resumeAll() throws SchedulerException;
    method getJobGroupNames (line 754) | List<String> getJobGroupNames() throws SchedulerException;
    method getJobKeys (line 763) | Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws SchedulerE...
    method getTriggersOfJob (line 775) | List<? extends Trigger> getTriggersOfJob(JobKey jobKey)
    method getTriggerGroupNames (line 781) | List<String> getTriggerGroupNames() throws SchedulerException;
    method getTriggerKeys (line 790) | Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throw...
    method getPausedTriggerGroups (line 795) | Set<String> getPausedTriggerGroups() throws SchedulerException;
    method getJobDetail (line 807) | JobDetail getJobDetail(JobKey jobKey)
    method getJobDetails (line 822) | List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher)
    method getTrigger (line 833) | Trigger getTrigger(TriggerKey triggerKey)
    method getTriggerState (line 841) | TriggerState getTriggerState(TriggerKey triggerKey)
    method resetTriggerFromErrorState (line 858) | void resetTriggerFromErrorState(TriggerKey triggerKey)
    method addCalendar (line 873) | void addCalendar(String calName, Calendar calendar, boolean replace, b...
    method deleteCalendar (line 890) | boolean deleteCalendar(String calName) throws SchedulerException;
    method getCalendar (line 895) | Calendar getCalendar(String calName) throws SchedulerException;
    method getCalendarNames (line 900) | List<String> getCalendarNames() throws SchedulerException;
    method interrupt (line 931) | boolean interrupt(JobKey jobKey) throws UnableToInterruptJobException;
    method interrupt (line 955) | boolean interrupt(String fireInstanceId) throws UnableToInterruptJobEx...
    method checkExists (line 965) | boolean checkExists(JobKey jobKey) throws SchedulerException;
    method checkExists (line 975) | boolean checkExists(TriggerKey triggerKey) throws SchedulerException;
    method clear (line 983) | void clear() throws SchedulerException;

FILE: quartz/src/main/java/org/quartz/SchedulerConfigException.java
  class SchedulerConfigException (line 28) | public class SchedulerConfigException extends SchedulerException {
    method SchedulerConfigException (line 45) | public SchedulerConfigException(String msg) {
    method SchedulerConfigException (line 55) | public SchedulerConfigException(String msg, Throwable cause) {

FILE: quartz/src/main/java/org/quartz/SchedulerContext.java
  class SchedulerContext (line 42) | public class SchedulerContext extends StringKeyDirtyFlagMap implements S...
    method SchedulerContext (line 49) | public SchedulerContext() {
    method SchedulerContext (line 56) | public SchedulerContext(Map<?, ?> map) {

FILE: quartz/src/main/java/org/quartz/SchedulerException.java
  class SchedulerException (line 34) | public class SchedulerException extends Exception {
    method SchedulerException (line 46) | public SchedulerException() {
    method SchedulerException (line 50) | public SchedulerException(String msg) {
    method SchedulerException (line 54) | public SchedulerException(Throwable cause) {
    method SchedulerException (line 58) | public SchedulerException(String msg, Throwable cause) {
    method getUnderlyingException (line 84) | public Throwable getUnderlyingException() {
    method toString (line 88) | @Override

FILE: quartz/src/main/java/org/quartz/SchedulerFactory.java
  type SchedulerFactory (line 33) | public interface SchedulerFactory {
    method getScheduler (line 51) | Scheduler getScheduler() throws SchedulerException;
    method getScheduler (line 58) | Scheduler getScheduler(String schedName) throws SchedulerException;
    method getAllSchedulers (line 66) | Collection<Scheduler> getAllSchedulers() throws SchedulerException;

FILE: quartz/src/main/java/org/quartz/SchedulerListener.java
  type SchedulerListener (line 32) | public interface SchedulerListener {
    method jobScheduled (line 48) | void jobScheduled(Trigger trigger);
    method jobUnscheduled (line 58) | void jobUnscheduled(TriggerKey triggerKey);
    method triggerFinalized (line 66) | void triggerFinalized(Trigger trigger);
    method triggerPaused (line 74) | void triggerPaused(TriggerKey triggerKey);
    method triggersPaused (line 86) | void triggersPaused(String triggerGroup);
    method triggerResumed (line 94) | void triggerResumed(TriggerKey triggerKey);
    method triggersResumed (line 102) | void triggersResumed(String triggerGroup);
    method jobAdded (line 110) | void jobAdded(JobDetail jobDetail);
    method jobDeleted (line 118) | void jobDeleted(JobKey jobKey);
    method jobPaused (line 126) | void jobPaused(JobKey jobKey);
    method jobsPaused (line 136) | void jobsPaused(String jobGroup);
    method jobResumed (line 144) | void jobResumed(JobKey jobKey);
    method jobsResumed (line 152) | void jobsResumed(String jobGroup);
    method schedulerError (line 168) | void schedulerError(String msg, SchedulerException cause);
    method schedulerInStandbyMode (line 176) | void schedulerInStandbyMode();
    method schedulerStarted (line 184) | void schedulerStarted();
    method schedulerStarting (line 192) | void schedulerStarting();
    method schedulerShutdown (line 200) | void schedulerShutdown();
    method schedulerShuttingdown (line 208) | void schedulerShuttingdown();
    method schedulingDataCleared (line 214) | void schedulingDataCleared();

FILE: quartz/src/main/java/org/quartz/SchedulerMetaData.java
  class SchedulerMetaData (line 30) | public class SchedulerMetaData implements java.io.Serializable {
    method SchedulerMetaData (line 80) | public SchedulerMetaData(String schedName, String schedInst,
    method getSchedulerName (line 115) | public String getSchedulerName() {
    method getSchedulerInstanceId (line 124) | public String getSchedulerInstanceId() {
    method getSchedulerClass (line 133) | public Class<?> getSchedulerClass() {
    method getRunningSince (line 144) | public Date getRunningSince() {
    method getNumberOfJobsExecuted (line 154) | public int getNumberOfJobsExecuted() {
    method isSchedulerRemote (line 164) | public boolean isSchedulerRemote() {
    method isStarted (line 178) | public boolean isStarted() {
    method isInStandbyMode (line 185) | public boolean isInStandbyMode() {
    method isShutdown (line 194) | public boolean isShutdown() {
    method getJobStoreClass (line 204) | public Class<?> getJobStoreClass() {
    method isJobStoreSupportsPersistence (line 214) | public boolean isJobStoreSupportsPersistence() {
    method isJobStoreClustered (line 224) | public boolean isJobStoreClustered() {
    method getThreadPoolClass (line 234) | public Class<?> getThreadPoolClass() {
    method getThreadPoolSize (line 244) | public int getThreadPoolSize() {
    method getVersion (line 253) | public String getVersion() {
    method toString (line 262) | @Override
    method getSummary (line 284) | public String getSummary() throws SchedulerException {

FILE: quartz/src/main/java/org/quartz/SimpleScheduleBuilder.java
  class SimpleScheduleBuilder (line 59) | public class SimpleScheduleBuilder extends ScheduleBuilder<SimpleTrigger> {
    method SimpleScheduleBuilder (line 65) | protected SimpleScheduleBuilder() {
    method simpleSchedule (line 73) | public static SimpleScheduleBuilder simpleSchedule() {
    method repeatMinutelyForever (line 82) | public static SimpleScheduleBuilder repeatMinutelyForever() {
    method repeatMinutelyForever (line 95) | public static SimpleScheduleBuilder repeatMinutelyForever(int minutes) {
    method repeatSecondlyForever (line 107) | public static SimpleScheduleBuilder repeatSecondlyForever() {
    method repeatSecondlyForever (line 120) | public static SimpleScheduleBuilder repeatSecondlyForever(int seconds) {
    method repeatHourlyForever (line 132) | public static SimpleScheduleBuilder repeatHourlyForever() {
    method repeatHourlyForever (line 145) | public static SimpleScheduleBuilder repeatHourlyForever(int hours) {
    method repeatMinutelyForTotalCount (line 160) | public static SimpleScheduleBuilder repeatMinutelyForTotalCount(int co...
    method repeatMinutelyForTotalCount (line 177) | public static SimpleScheduleBuilder repeatMinutelyForTotalCount(int co...
    method repeatSecondlyForTotalCount (line 194) | public static SimpleScheduleBuilder repeatSecondlyForTotalCount(int co...
    method repeatSecondlyForTotalCount (line 211) | public static SimpleScheduleBuilder repeatSecondlyForTotalCount(int co...
    method repeatHourlyForTotalCount (line 228) | public static SimpleScheduleBuilder repeatHourlyForTotalCount(int coun...
    method repeatHourlyForTotalCount (line 245) | public static SimpleScheduleBuilder repeatHourlyForTotalCount(int coun...
    method build (line 261) | @Override
    method withIntervalInMilliseconds (line 280) | public SimpleScheduleBuilder withIntervalInMilliseconds(long intervalI...
    method withIntervalInSeconds (line 294) | public SimpleScheduleBuilder withIntervalInSeconds(int intervalInSecon...
    method withIntervalInMinutes (line 308) | public SimpleScheduleBuilder withIntervalInMinutes(int intervalInMinut...
    method withIntervalInHours (line 322) | public SimpleScheduleBuilder withIntervalInHours(int intervalInHours) {
    method withRepeatCount (line 336) | public SimpleScheduleBuilder withRepeatCount(int triggerRepeatCount) {
    method repeatForever (line 352) | public SimpleScheduleBuilder repeatForever() {
    method withMisfireHandlingInstructionIgnoreMisfires (line 364) | public SimpleScheduleBuilder withMisfireHandlingInstructionIgnoreMisfi...
    method withMisfireHandlingInstructionFireNow (line 377) | public SimpleScheduleBuilder withMisfireHandlingInstructionFireNow() {
    method withMisfireHandlingInstructionNextWithExistingCount (line 389) | public SimpleScheduleBuilder withMisfireHandlingInstructionNextWithExi...
    method withMisfireHandlingInstructionNextWithRemainingCount (line 401) | public SimpleScheduleBuilder withMisfireHandlingInstructionNextWithRem...
    method withMisfireHandlingInstructionNowWithExistingCount (line 413) | public SimpleScheduleBuilder withMisfireHandlingInstructionNowWithExis...
    method withMisfireHandlingInstructionNowWithRemainingCount (line 425) | public SimpleScheduleBuilder withMisfireHandlingInstructionNowWithRema...

FILE: quartz/src/main/java/org/quartz/SimpleTrigger.java
  type SimpleTrigger (line 31) | public interface SimpleTrigger extends Trigger {
    method getRepeatCount (line 149) | int getRepeatCount();
    method getRepeatInterval (line 156) | long getRepeatInterval();
    method getTimesTriggered (line 163) | int getTimesTriggered();
    method getTriggerBuilder (line 165) | TriggerBuilder<SimpleTrigger> getTriggerBuilder();

FILE: quartz/src/main/java/org/quartz/StatefulJob.java
  type StatefulJob (line 49) | @Deprecated

FILE: quartz/src/main/java/org/quartz/TimeOfDay.java
  class TimeOfDay (line 37) | public class TimeOfDay implements Serializable {
    method TimeOfDay (line 53) | public TimeOfDay(int hour, int minute, int second) {
    method TimeOfDay (line 67) | public TimeOfDay(int hour, int minute) {
    method validate (line 74) | private void validate() {
    method hourMinuteAndSecondOfDay (line 91) | public static TimeOfDay hourMinuteAndSecondOfDay(int hour, int minute,...
    method hourAndMinuteOfDay (line 102) | public static TimeOfDay hourAndMinuteOfDay(int hour, int minute) {
    method getHour (line 111) | public int getHour() {
    method getMinute (line 120) | public int getMinute() {
    method getSecond (line 129) | public int getSecond() {
    method before (line 138) | public boolean before(TimeOfDay timeOfDay) {
    method equals (line 158) | @Override
    method hashCode (line 168) | @Override
    method getTimeOfDayForDate (line 174) | public Date getTimeOfDayForDate(Date dateTime) {
    method hourAndMinuteAndSecondFromDate (line 191) | public static TimeOfDay hourAndMinuteAndSecondFromDate(Date dateTime) {
    method hourAndMinuteAndSecondFromDate (line 202) | public static TimeOfDay hourAndMinuteAndSecondFromDate(Date dateTime, ...
    method hourAndMinuteFromDate (line 218) | public static TimeOfDay hourAndMinuteFromDate(Date dateTime) {
    method hourAndMinuteFromDate (line 229) | public static TimeOfDay hourAndMinuteFromDate(Date dateTime, TimeZone ...
    method toString (line 240) | @Override

FILE: quartz/src/main/java/org/quartz/Trigger.java
  type Trigger (line 58) | public interface Trigger extends Serializable, Cloneable, Comparable<Tri...
    type TriggerState (line 62) | enum TriggerState { NONE, NORMAL, PAUSED, COMPLETE, ERROR, BLOCKED }
    type CompletedExecutionInstruction (line 91) | enum CompletedExecutionInstruction { NOOP, RE_EXECUTE_JOB, SET_TRIGGER...
    method getKey (line 133) | TriggerKey getKey();
    method getJobKey (line 135) | JobKey getJobKey();
    method getDescription (line 143) | String getDescription();
    method getCalendarName (line 151) | String getCalendarName();
    method getJobDataMap (line 162) | JobDataMap getJobDataMap();
    method getPriority (line 176) | int getPriority();
    method mayFireAgain (line 187) | boolean mayFireAgain();
    method getStartTime (line 192) | Date getStartTime();
    method getEndTime (line 201) | Date getEndTime();
    method getNextFireTime (line 217) | Date getNextFireTime();
    method getPreviousFireTime (line 223) | Date getPreviousFireTime();
    method getFireTimeAfter (line 230) | Date getFireTimeAfter(Date afterTime);
    method getFinalFireTime (line 240) | Date getFinalFireTime();
    method getMisfireInstruction (line 257) | int getMisfireInstruction();
    method getTriggerBuilder (line 265) | TriggerBuilder<? extends Trigger> getTriggerBuilder();
    method getScheduleBuilder (line 273) | ScheduleBuilder<? extends Trigger> getScheduleBuilder();
    method equals (line 280) | boolean equals(Object other);
    method compareTo (line 289) | int compareTo(Trigger other);
    class TriggerTimeComparator (line 298) | class TriggerTimeComparator implements Comparator<Trigger>, Serializab...
      method compare (line 303) | public static int compare(Date nextFireTime1, int priority1, Trigger...
      method compare (line 331) | public int compare(Trigger t1, Trigger t2) {

FILE: quartz/src/main/java/org/quartz/TriggerBuilder.java
  class TriggerBuilder (line 66) | public class TriggerBuilder<T extends Trigger> {
    method TriggerBuilder (line 79) | private TriggerBuilder() {
    method newTrigger (line 89) | public static TriggerBuilder<Trigger> newTrigger() {
    method build (line 98) | @SuppressWarnings("unchecked")
    method withIdentity (line 134) | public TriggerBuilder<T> withIdentity(String name) {
    method withIdentity (line 152) | public TriggerBuilder<T> withIdentity(String name, String group) {
    method withIdentity (line 168) | public TriggerBuilder<T> withIdentity(TriggerKey triggerKey) {
    method withDescription (line 180) | public TriggerBuilder<T> withDescription(String triggerDescription) {
    method withPriority (line 195) | public TriggerBuilder<T> withPriority(int triggerPriority) {
    method modifiedByCalendar (line 209) | public TriggerBuilder<T> modifiedByCalendar(String calName) {
    method startAt (line 225) | public TriggerBuilder<T> startAt(Date triggerStartTime) {
    method startAt (line 239) | public TriggerBuilder<T> startAt(Instant triggerStartTime){
    method startNow (line 252) | public TriggerBuilder<T> startNow() {
    method endAt (line 266) | public TriggerBuilder<T> endAt(Date triggerEndTime) {
    method withSchedule (line 285) | @SuppressWarnings("unchecked")
    method forJob (line 299) | public TriggerBuilder<T> forJob(JobKey keyOfJobToFire) {
    method forJob (line 313) | public TriggerBuilder<T> forJob(String jobName) {
    method forJob (line 328) | public TriggerBuilder<T> forJob(String jobName, String jobGroup) {
    method forJob (line 341) | public TriggerBuilder<T> forJob(JobDetail jobDetail) {
    method usingJobData (line 355) | public TriggerBuilder<T> usingJobData(String dataKey, String value) {
    method usingJobData (line 366) | public TriggerBuilder<T> usingJobData(String dataKey, Integer value) {
    method usingJobData (line 377) | public TriggerBuilder<T> usingJobData(String dataKey, Long value) {
    method usingJobData (line 388) | public TriggerBuilder<T> usingJobData(String dataKey, Float value) {
    method usingJobData (line 399) | public TriggerBuilder<T> usingJobData(String dataKey, Double value) {
    method usingJobData (line 410) | public TriggerBuilder<T> usingJobData(String dataKey, Boolean value) {
    method usingJobData (line 423) | public TriggerBuilder<T> usingJobData(JobDataMap newJobDataMap) {

FILE: quartz/src/main/java/org/quartz/TriggerKey.java
  class TriggerKey (line 59) | public final class TriggerKey extends Key<TriggerKey> {
    method TriggerKey (line 63) | public TriggerKey(String name) {
    method TriggerKey (line 67) | public TriggerKey(String name, String group) {
    method triggerKey (line 71) | public static TriggerKey triggerKey(String name) {
    method triggerKey (line 75) | public static TriggerKey triggerKey(String name, String group) {

FILE: quartz/src/main/java/org/quartz/TriggerListener.java
  type TriggerListener (line 37) | public interface TriggerListener {
    method getName (line 52) | String getName();
    method triggerFired (line 72) | void triggerFired(Trigger trigger, JobExecutionContext context);
    method vetoJobExecution (line 93) | boolean vetoJobExecution(Trigger trigger, JobExecutionContext context);
    method triggerMisfired (line 112) | void triggerMisfired(Trigger trigger);
    method triggerComplete (line 131) | void triggerComplete(Trigger trigger, JobExecutionContext context,

FILE: quartz/src/main/java/org/quartz/TriggerUtils.java
  class TriggerUtils (line 38) | public class TriggerUtils {
    method TriggerUtils (line 51) | private TriggerUtils() {
    method computeFireTimes (line 76) | public static List<Date> computeFireTimes(OperableTrigger trigger, org...
    method computeEndTimeToAllowParticularNumberOfFirings (line 115) | public static Date computeEndTimeToAllowParticularNumberOfFirings(Oper...
    method computeFireTimesBetween (line 170) | public static List<Date> computeFireTimesBetween(OperableTrigger trigger,

FILE: quartz/src/main/java/org/quartz/UnableToInterruptJobException.java
  class UnableToInterruptJobException (line 30) | public class UnableToInterruptJobException extends SchedulerException {
    method UnableToInterruptJobException (line 47) | public UnableToInterruptJobException(String msg) {
    method UnableToInterruptJobException (line 56) | public UnableToInterruptJobException(Throwable cause) {

FILE: quartz/src/main/java/org/quartz/commonj/WorkManagerThreadExecutor.java
  class WorkManagerThreadExecutor (line 40) | public class WorkManagerThreadExecutor implements ThreadExecutor {
    method execute (line 46) | public void execute(Thread thread) {
    method initialize (line 55) | public void initialize() {
    method setWorkManagerName (line 68) | public void setWorkManagerName(String workManagerName) {
  class DelegatingWork (line 74) | class DelegatingWork implements Work {
    method DelegatingWork (line 83) | public DelegatingWork(Runnable delegate) {
    method getDelegate (line 90) | public final Runnable getDelegate() {
    method run (line 97) | public void run() {
    method isDaemon (line 101) | public boolean isDaemon() {
    method release (line 109) | public void release() {

FILE: quartz/src/main/java/org/quartz/core/JobExecutionProcessException.java
  class JobExecutionProcessException (line 24) | public class JobExecutionProcessException extends SchedulerException
    type ProcessErrorMessage (line 26) | enum ProcessErrorMessage
      method ProcessErrorMessage (line 34) | ProcessErrorMessage(String errorMsg)
      method getErrorMsg (line 39) | public String getErrorMsg()
    method JobExecutionProcessException (line 48) | public JobExecutionProcessException(JobExecutionContext jobExecutionCo...
    method JobExecutionProcessException (line 54) | public JobExecutionProcessException(JobListener listener, JobExecution...
    method JobExecutionProcessException (line 60) | public JobExecutionProcessException(TriggerListener listener, JobExecu...
    method getJobExecutionContext (line 66) | public JobExecutionContext getJobExecutionContext()

FILE: quartz/src/main/java/org/quartz/core/JobRunShell.java
  class JobRunShell (line 59) | public class JobRunShell extends SchedulerListenerSupport implements Run...
    method JobRunShell (line 97) | public JobRunShell(Scheduler scheduler, TriggerFiredBundle bundle) {
    method schedulerShuttingdown (line 110) | @Override
    method getLog (line 115) | @Override
    method initialize (line 120) | public void initialize(QuartzScheduler sched)
    method requestShutdown (line 147) | public void requestShutdown() {
    method run (line 151) | public void run() {
    method begin (line 276) | protected void begin() throws SchedulerException {
    method complete (line 279) | protected void complete(boolean successfulExecution)
    method passivate (line 283) | public void passivate() {
    method notifyListenersBeginning (line 288) | private boolean notifyListenersBeginning(JobExecutionContext jobExCtx)...
    method notifyJobListenersComplete (line 336) | private boolean notifyJobListenersComplete(JobExecutionContext jobExCt...
    method notifyTriggerListenersComplete (line 352) | private boolean notifyTriggerListenersComplete(JobExecutionContext job...
    class VetoedException (line 372) | static class VetoedException extends Exception {
      method VetoedException (line 376) | public VetoedException() {

FILE: quartz/src/main/java/org/quartz/core/JobRunShellFactory.java
  type JobRunShellFactory (line 35) | public interface JobRunShellFactory {
    method initialize (line 52) | void initialize(Scheduler scheduler)
    method createJobRunShell (line 61) | JobRunShell createJobRunShell(TriggerFiredBundle bundle) throws Schedu...

FILE: quartz/src/main/java/org/quartz/core/ListenerManagerImpl.java
  class ListenerManagerImpl (line 20) | public class ListenerManagerImpl implements ListenerManager {
    method addJobListener (line 33) | public void addJobListener(JobListener jobListener, Matcher<JobKey> .....
    method addJobListener (line 37) | public void addJobListener(JobListener jobListener, List<Matcher<JobKe...
    method addJobListener (line 56) | public void addJobListener(JobListener jobListener) {
    method addJobListener (line 60) | public void addJobListener(JobListener jobListener, Matcher<JobKey> ma...
    method addJobListenerMatcher (line 79) | public boolean addJobListenerMatcher(String listenerName, Matcher<JobK...
    method removeJobListenerMatcher (line 92) | public boolean removeJobListenerMatcher(String listenerName, Matcher<J...
    method getJobListenerMatchers (line 104) | public List<Matcher<JobKey>> getJobListenerMatchers(String listenerNam...
    method setJobListenerMatchers (line 113) | public boolean setJobListenerMatchers(String listenerName, List<Matche...
    method removeJobListener (line 127) | public boolean removeJobListener(String name) {
    method getJobListeners (line 133) | public List<JobListener> getJobListeners() {
    method getJobListener (line 139) | public JobListener getJobListener(String name) {
    method addTriggerListener (line 145) | public void addTriggerListener(TriggerListener triggerListener, Matche...
    method addTriggerListener (line 149) | public void addTriggerListener(TriggerListener triggerListener, List<M...
    method addTriggerListener (line 169) | public void addTriggerListener(TriggerListener triggerListener) {
    method addTriggerListener (line 173) | public void addTriggerListener(TriggerListener triggerListener, Matche...
    method addTriggerListenerMatcher (line 191) | public boolean addTriggerListenerMatcher(String listenerName, Matcher<...
    method removeTriggerListenerMatcher (line 204) | public boolean removeTriggerListenerMatcher(String listenerName, Match...
    method getTriggerListenerMatchers (line 216) | public List<Matcher<TriggerKey>> getTriggerListenerMatchers(String lis...
    method setTriggerListenerMatchers (line 225) | public boolean setTriggerListenerMatchers(String listenerName, List<Ma...
    method removeTriggerListener (line 238) | public boolean removeTriggerListener(String name) {
    method getTriggerListeners (line 245) | public List<TriggerListener> getTriggerListeners() {
    method getTriggerListener (line 251) | public TriggerListener getTriggerListener(String name) {
    method addSchedulerListener (line 258) | public void addSchedulerListener(SchedulerListener schedulerListener) {
    method removeSchedulerListener (line 264) | public boolean removeSchedulerListener(SchedulerListener schedulerList...
    method getSchedulerListeners (line 270) | public List<SchedulerListener> getSchedulerListeners() {

FILE: quartz/src/main/java/org/quartz/core/NullSampledStatisticsImpl.java
  class NullSampledStatisticsImpl (line 3) | public class NullSampledStatisticsImpl implements SampledStatistics {
    method getJobsCompletedMostRecentSample (line 4) | public long getJobsCompletedMostRecentSample() {
    method getJobsExecutingMostRecentSample (line 8) | public long getJobsExecutingMostRecentSample() {
    method getJobsScheduledMostRecentSample (line 12) | public long getJobsScheduledMostRecentSample() {
    method shutdown (line 16) | public void shutdown() {

FILE: quartz/src/main/java/org/quartz/core/QuartzScheduler.java
  class QuartzScheduler (line 95) | public class QuartzScheduler implements RemotableQuartzScheduler {
    method QuartzScheduler (line 203) | public QuartzScheduler(QuartzSchedulerResources resources, long idleWa...
    method initialize (line 227) | public void initialize() throws SchedulerException {
    method getVersion (line 305) | public String getVersion() {
    method getVersionMajor (line 310) | public static String getVersionMajor() {
    method getVersionMinor (line 314) | public static String getVersionMinor() {
    method getVersionIteration (line 318) | public static String getVersionIteration() {
    method getSchedulerSignaler (line 322) | public SchedulerSignaler getSchedulerSignaler() {
    method getLog (line 326) | public Logger getLog() {
    method registerJMX (line 333) | private void registerJMX() throws Exception {
    method unregisterJMX (line 343) | private void unregisterJMX() throws Exception {
    method bind (line 356) | private void bind() throws RemoteException {
    method unBind (line 423) | private void unBind() throws RemoteException {
    method getSchedulerName (line 449) | public String getSchedulerName() {
    method getSchedulerInstanceId (line 458) | public String getSchedulerInstanceId() {
    method getSchedulerThreadGroup (line 467) | public ThreadGroup getSchedulerThreadGroup() {
    method addNoGCObject (line 479) | public void addNoGCObject(Object obj) {
    method removeNoGCObject (line 483) | public boolean removeNoGCObject(Object obj) {
    method getSchedulerContext (line 492) | public SchedulerContext getSchedulerContext() throws SchedulerException {
    method isSignalOnSchedulingChange (line 496) | public boolean isSignalOnSchedulingChange() {
    method setSignalOnSchedulingChange (line 500) | public void setSignalOnSchedulingChange(boolean signalOnSchedulingChan...
    method start (line 520) | public void start() throws SchedulerException {
    method startDelayed (line 546) | public void startDelayed(final int seconds) throws SchedulerException
    method standby (line 573) | public void standby() {
    method isInStandbyMode (line 585) | public boolean isInStandbyMode() {
    method runningSince (line 589) | public Date runningSince() {
    method numJobsExecuted (line 595) | public int numJobsExecuted() {
    method getJobStoreClass (line 599) | public Class<?> getJobStoreClass() {
    method supportsPersistence (line 603) | public boolean supportsPersistence() {
    method isClustered (line 607) | public boolean isClustered() {
    method getThreadPoolClass (line 611) | public Class<?> getThreadPoolClass() {
    method getThreadPoolSize (line 615) | public int getThreadPoolSize() {
    method shutdown (line 630) | public void shutdown() {
    method shutdown (line 648) | public void shutdown(boolean waitForJobsToComplete) {
    method isShutdown (line 736) | public boolean isShutdown() {
    method isShuttingDown (line 740) | public boolean isShuttingDown() {
    method isStarted (line 744) | public boolean isStarted() {
    method validateState (line 748) | public void validateState() throws SchedulerException {
    method getCurrentlyExecutingJobs (line 773) | public List<JobExecutionContext> getCurrentlyExecutingJobs() {
    method scheduleJob (line 799) | public Date scheduleJob(JobDetail jobDetail,
    method scheduleJob (line 860) | public Date scheduleJob(Trigger trigger)
    method addJob (line 912) | public void addJob(JobDetail jobDetail, boolean replace) throws Schedu...
    method addJob (line 916) | public void addJob(JobDetail jobDetail, boolean replace, boolean store...
    method deleteJob (line 939) | public boolean deleteJob(JobKey jobKey) throws SchedulerException {
    method deleteJobs (line 965) | public boolean deleteJobs(List<JobKey> jobKeys)  throws SchedulerExcep...
    method scheduleJobs (line 977) | public void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> trigge...
    method scheduleJob (line 1023) | public void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> tr...
    method unscheduleJobs (line 1030) | public boolean unscheduleJobs(List<TriggerKey> triggerKeys) throws Sch...
    method unscheduleJob (line 1048) | public boolean unscheduleJob(TriggerKey triggerKey) throws SchedulerEx...
    method rescheduleJob (line 1075) | public Date rescheduleJob(TriggerKey triggerKey,
    method newTriggerId (line 1120) | private String newTriggerId() {
    method triggerJob (line 1135) | @SuppressWarnings("deprecation")
    method triggerJob (line 1164) | public void triggerJob(OperableTrigger trig) throws SchedulerException {
    method pauseTrigger (line 1189) | public void pauseTrigger(TriggerKey triggerKey) throws SchedulerExcept...
    method pauseTriggers (line 1203) | public void pauseTriggers(GroupMatcher<TriggerKey> matcher)
    method pauseJob (line 1225) | public void pauseJob(JobKey jobKey) throws SchedulerException {
    method pauseJobs (line 1240) | public void pauseJobs(GroupMatcher<JobKey> groupMatcher)
    method resumeTrigger (line 1267) | public void resumeTrigger(TriggerKey triggerKey) throws SchedulerExcep...
    method resumeTriggers (line 1287) | public void resumeTriggers(GroupMatcher<TriggerKey> matcher)
    method getPausedTriggerGroups (line 1302) | public Set<String> getPausedTriggerGroups() throws SchedulerException {
    method resumeJob (line 1319) | public void resumeJob(JobKey jobKey) throws SchedulerException {
    method resumeJobs (line 1340) | public void resumeJobs(GroupMatcher<JobKey> matcher)
    method pauseAll (line 1370) | public void pauseAll() throws SchedulerException {
    method resumeAll (line 1391) | public void resumeAll() throws SchedulerException {
    method getJobGroupNames (line 1404) | public List<String> getJobGroupNames()
    method getJobKeys (line 1417) | public Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher)
    method getTriggersOfJob (line 1434) | public List<? extends Trigger> getTriggersOfJob(JobKey jobKey) throws ...
    method getTriggerGroupNames (line 1446) | public List<String> getTriggerGroupNames()
    method getTriggerKeys (line 1459) | public Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher)
    method getJobDetail (line 1476) | public JobDetail getJobDetail(JobKey jobKey) throws SchedulerException {
    method getJobDetails (line 1482) | public List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher) thr...
    method getTrigger (line 1498) | public Trigger getTrigger(TriggerKey triggerKey) throws SchedulerExcep...
    method checkExists (line 1512) | public boolean checkExists(JobKey jobKey) throws SchedulerException {
    method checkExists (line 1527) | public boolean checkExists(TriggerKey triggerKey) throws SchedulerExce...
    method clear (line 1540) | public void clear() throws SchedulerException {
    method getTriggerState (line 1555) | public TriggerState getTriggerState(TriggerKey triggerKey) throws Sche...
    method resetTriggerFromErrorState (line 1562) | public void resetTriggerFromErrorState(TriggerKey triggerKey) throws S...
    method addCalendar (line 1578) | public void addCalendar(String calName, Calendar calendar, boolean rep...
    method deleteCalendar (line 1593) | public boolean deleteCalendar(String calName)
    method getCalendar (line 1605) | public Calendar getCalendar(String calName)
    method getCalendarNames (line 1617) | public List<String> getCalendarNames()
    method getListenerManager (line 1624) | public ListenerManager getListenerManager() {
    method addInternalJobListener (line 1634) | public void addInternalJobListener(JobListener jobListener) {
    method removeInternalJobListener (line 1655) | public boolean removeInternalJobListener(String name) {
    method getInternalJobListeners (line 1667) | public List<JobListener> getInternalJobListeners() {
    method getInternalJobListener (line 1679) | public JobListener getInternalJobListener(String name) {
    method addInternalTriggerListener (line 1691) | public void addInternalTriggerListener(TriggerListener triggerListener) {
    method removeinternalTriggerListener (line 1712) | public boolean removeinternalTriggerListener(String name) {
    method getInternalTriggerListeners (line 1724) | public List<TriggerListener> getInternalTriggerListeners() {
    method getInternalTriggerListener (line 1736) | public TriggerListener getInternalTriggerListener(String name) {
    method addInternalSchedulerListener (line 1748) | public void addInternalSchedulerListener(SchedulerListener schedulerLi...
    method removeInternalSchedulerListener (line 1763) | public boolean removeInternalSchedulerListener(SchedulerListener sched...
    method getInternalSchedulerListeners (line 1775) | public List<SchedulerListener> getInternalSchedulerListeners() {
    method notifyJobStoreJobComplete (line 1781) | protected void notifyJobStoreJobComplete(OperableTrigger trigger, JobD...
    method notifyJobStoreJobVetoed (line 1785) | protected void notifyJobStoreJobVetoed(OperableTrigger trigger, JobDet...
    method notifySchedulerThread (line 1789) | protected void notifySchedulerThread(long candidateNewNextFireTime) {
    method buildTriggerListenerList (line 1795) | private List<TriggerListener> buildTriggerListenerList()
    method buildJobListenerList (line 1804) | private List<JobListener> buildJobListenerList()
    method buildSchedulerListenerList (line 1813) | private List<SchedulerListener> buildSchedulerListenerList() {
    method matchJobListener (line 1821) | private boolean matchJobListener(JobListener listener, JobKey key) {
    method matchTriggerListener (line 1832) | private boolean matchTriggerListener(TriggerListener listener, Trigger...
    method notifyTriggerListenersFired (line 1843) | public boolean notifyTriggerListenersFired(JobExecutionContext jec)
    method notifyTriggerListenersMisfired (line 1870) | public void notifyTriggerListenersMisfired(Trigger trigger)
    method notifyTriggerListenersComplete (line 1889) | public void notifyTriggerListenersComplete(JobExecutionContext jec,
    method notifyJobListenersToBeExecuted (line 1906) | public void notifyJobListenersToBeExecuted(JobExecutionContext jec)
    method notifyJobListenersWasVetoed (line 1923) | public void notifyJobListenersWasVetoed(JobExecutionContext jec)
    method notifyJobListenersWasExecuted (line 1940) | public void notifyJobListenersWasExecuted(JobExecutionContext jec,
    method notifySchedulerListenersError (line 1957) | public void notifySchedulerListenersError(String msg, SchedulerExcepti...
    method notifySchedulerListenersScheduled (line 1975) | public void notifySchedulerListenersScheduled(Trigger trigger) {
    method notifySchedulerListenersUnscheduled (line 1989) | public void notifySchedulerListenersUnscheduled(TriggerKey triggerKey) {
    method notifySchedulerListenersFinalized (line 2006) | public void notifySchedulerListenersFinalized(Trigger trigger) {
    method notifySchedulerListenersPausedTrigger (line 2020) | public void notifySchedulerListenersPausedTrigger(TriggerKey triggerKe...
    method notifySchedulerListenersPausedTriggers (line 2034) | public void notifySchedulerListenersPausedTriggers(String group) {
    method notifySchedulerListenersResumedTrigger (line 2048) | public void notifySchedulerListenersResumedTrigger(TriggerKey key) {
    method notifySchedulerListenersResumedTriggers (line 2062) | public void notifySchedulerListenersResumedTriggers(String group) {
    method notifySchedulerListenersPausedJob (line 2076) | public void notifySchedulerListenersPausedJob(JobKey key) {
    method notifySchedulerListenersPausedJobs (line 2090) | public void notifySchedulerListenersPausedJobs(String group) {
    method notifySchedulerListenersResumedJob (line 2104) | public void notifySchedulerListenersResumedJob(JobKey key) {
    method notifySchedulerListenersResumedJobs (line 2118) | public void notifySchedulerListenersResumedJobs(String group) {
    method notifySchedulerListenersInStandbyMode (line 2132) | public void notifySchedulerListenersInStandbyMode() {
    method notifySchedulerListenersStarted (line 2148) | public void notifySchedulerListenersStarted() {
    method notifySchedulerListenersStarting (line 2164) | public void notifySchedulerListenersStarting() {
    method notifySchedulerListenersShutdown (line 2180) | public void notifySchedulerListenersShutdown() {
    method notifySchedulerListenersShuttingdown (line 2196) | public void notifySchedulerListenersShuttingdown() {
    method notifySchedulerListenersJobAdded (line 2212) | public void notifySchedulerListenersJobAdded(JobDetail jobDetail) {
    method notifySchedulerListenersJobDeleted (line 2228) | public void notifySchedulerListenersJobDeleted(JobKey jobKey) {
    method setJobFactory (line 2244) | public void setJobFactory(JobFactory factory) throws SchedulerException {
    method getJobFactory (line 2255) | public JobFactory getJobFactory()  {
    method interrupt (line 2272) | public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobExc...
    method interrupt (line 2311) | public boolean interrupt(String fireInstanceId) throws UnableToInterru...
    method shutdownPlugins (line 2334) | private void shutdownPlugins() {
    method startPlugins (line 2340) | private void startPlugins() {
  class ErrorLogger (line 2354) | class ErrorLogger extends SchedulerListenerSupport {
    method ErrorLogger (line 2355) | ErrorLogger() {
    method schedulerError (line 2358) | @Override
  class ExecutingJobsManager (line 2371) | class ExecutingJobsManager implements JobListener {
    method ExecutingJobsManager (line 2376) | ExecutingJobsManager() {
    method getName (line 2379) | public String getName() {
    method getNumJobsCurrentlyExecuting (line 2383) | public int getNumJobsCurrentlyExecuting() {
    method jobToBeExecuted (line 2389) | public void jobToBeExecuted(JobExecutionContext context) {
    method jobWasExecuted (line 2398) | public void jobWasExecuted(JobExecutionContext context,
    method getNumJobsFired (line 2405) | public int getNumJobsFired() {
    method getExecutingJobs (line 2409) | public List<JobExecutionContext> getExecutingJobs() {
    method jobExecutionVetoed (line 2416) | public void jobExecutionVetoed(JobExecutionContext context) {

FILE: quartz/src/main/java/org/quartz/core/QuartzSchedulerMBeanImpl.java
  class QuartzSchedulerMBeanImpl (line 52) | public class QuartzSchedulerMBeanImpl extends StandardMBean implements
    method QuartzSchedulerMBeanImpl (line 87) | protected QuartzSchedulerMBeanImpl(QuartzScheduler scheduler)
    method getCurrentlyExecutingJobs (line 97) | public TabularData getCurrentlyExecutingJobs() throws Exception {
    method getAllJobDetails (line 106) | public TabularData getAllJobDetails() throws Exception {
    method getAllTriggers (line 120) | public List<CompositeData> getAllTriggers() throws Exception {
    method addJob (line 134) | public void addJob(CompositeData jobDetail, boolean replace) throws Ex...
    method invokeSetter (line 142) | private static void invokeSetter(Object target, String attribute, Obje...
    method getWrapperIfPrimitive (line 154) | private static Class<?> getWrapperIfPrimitive(Class<?> c) {
    method findMethod (line 166) | private static Method findMethod(Class<?> targetType, String methodName,
    method scheduleBasicJob (line 190) | public void scheduleBasicJob(Map<String, Object> jobDetailInfo,
    method scheduleJob (line 204) | public void scheduleJob(Map<String, Object> abstractJobInfo,
    method scheduleJob (line 261) | public void scheduleJob(String jobName, String jobGroup,
    method addJob (line 300) | public void addJob(Map<String, Object> abstractJobInfo,    boolean rep...
    method newPlainException (line 331) | private Exception newPlainException(Exception e) {
    method deleteCalendar (line 342) | public void deleteCalendar(String calendarName) throws Exception {
    method deleteJob (line 350) | public boolean deleteJob(String jobName, String jobGroupName) throws E...
    method getCalendarNames (line 358) | public List<String> getCalendarNames()    throws Exception {
    method getJobDetail (line 366) | public CompositeData getJobDetail(String jobName, String jobGroupName)
    method getJobGroupNames (line 376) | public List<String> getJobGroupNames()    throws Exception {
    method getJobNames (line 384) | public List<String> getJobNames(String groupName) throws Exception {
    method getJobStoreClassName (line 396) | public String getJobStoreClassName() {
    method getPausedTriggerGroups (line 400) | public Set<String> getPausedTriggerGroups() throws Exception {
    method getTrigger (line 408) | public CompositeData getTrigger(String name, String groupName) throws ...
    method getTriggerGroupNames (line 417) | public List<String> getTriggerGroupNames()    throws Exception {
    method getTriggerNames (line 425) | public List<String> getTriggerNames(String groupName) throws Exception {
    method getTriggerState (line 437) | public String getTriggerState(String triggerName, String triggerGroupN...
    method getTriggersOfJob (line 447) | public List<CompositeData> getTriggersOfJob(String jobName, String job...
    method interruptJob (line 456) | public boolean interruptJob(String jobName, String jobGroupName) throw...
    method interruptJob (line 464) | public boolean interruptJob(String fireInstanceId) throws Exception {
    method scheduleJob (line 472) | public Date scheduleJob(String jobName, String jobGroup,
    method unscheduleJob (line 491) | public boolean unscheduleJob(String triggerName, String triggerGroup) ...
    method clear (line 499) | public void clear() throws Exception {
    method getVersion (line 507) | public String getVersion() {
    method isShutdown (line 511) | public boolean isShutdown() {
    method isStarted (line 515) | public boolean isStarted() {
    method start (line 519) | public void start() throws Exception {
    method shutdown (line 527) | public void shutdown() {
    method standby (line 531) | public void standby() {
    method isStandbyMode (line 535) | public boolean isStandbyMode() {
    method getSchedulerName (line 539) | public String getSchedulerName() {
    method getSchedulerInstanceId (line 543) | public String getSchedulerInstanceId() {
    method getThreadPoolClassName (line 547) | public String getThreadPoolClassName() {
    method getThreadPoolSize (line 551) | public int getThreadPoolSize() {
    method pauseJob (line 555) | public void pauseJob(String jobName, String jobGroup) throws Exception {
    method pauseJobs (line 563) | public void pauseJobs(GroupMatcher<JobKey> matcher) throws Exception {
    method pauseJobGroup (line 571) | public void pauseJobGroup(String jobGroup) throws Exception {
    method pauseJobsStartingWith (line 575) | public void pauseJobsStartingWith(String jobGroupPrefix) throws Except...
    method pauseJobsEndingWith (line 579) | public void pauseJobsEndingWith(String jobGroupSuffix) throws Exception {
    method pauseJobsContaining (line 583) | public void pauseJobsContaining(String jobGroupToken) throws Exception {
    method pauseJobsAll (line 587) | public void pauseJobsAll() throws Exception {
    method pauseAllTriggers (line 591) | public void pauseAllTriggers() throws Exception {
    method pauseTriggers (line 599) | private void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws Ex...
    method pauseTriggerGroup (line 607) | public void pauseTriggerGroup(String triggerGroup) throws Exception {
    method pauseTriggersStartingWith (line 611) | public void pauseTriggersStartingWith(String triggerGroupPrefix) throw...
    method pauseTriggersEndingWith (line 615) | public void pauseTriggersEndingWith(String triggerGroupSuffix) throws ...
    method pauseTriggersContaining (line 619) | public void pauseTriggersContaining(String triggerGroupToken) throws E...
    method pauseTriggersAll (line 623) | public void pauseTriggersAll() throws Exception {
    method pauseTrigger (line 627) | public void pauseTrigger(String triggerName, String triggerGroup) thro...
    method resumeAllTriggers (line 635) | public void resumeAllTriggers() throws Exception {
    method resumeJob (line 643) | public void resumeJob(String jobName, String jobGroup) throws Exception {
    method resumeJobs (line 651) | public void resumeJobs(GroupMatcher<JobKey> matcher) throws Exception {
    method resumeJobGroup (line 659) | public void resumeJobGroup(String jobGroup) throws Exception {
    method resumeJobsStartingWith (line 663) | public void resumeJobsStartingWith(String jobGroupPrefix) throws Excep...
    method resumeJobsEndingWith (line 667) | public void resumeJobsEndingWith(String jobGroupSuffix) throws Excepti...
    method resumeJobsContaining (line 671) | public void resumeJobsContaining(String jobGroupToken) throws Exception {
    method resumeJobsAll (line 675) | public void resumeJobsAll() throws Exception {
    method resumeTrigger (line 679) | public void resumeTrigger(String triggerName, String triggerGroup) thr...
    method resumeTriggers (line 687) | private void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws E...
    method resumeTriggerGroup (line 695) | public void resumeTriggerGroup(String triggerGroup) throws Exception {
    method resumeTriggersStartingWith (line 699) | public void resumeTriggersStartingWith(String triggerGroupPrefix) thro...
    method resumeTriggersEndingWith (line 703) | public void resumeTriggersEndingWith(String triggerGroupSuffix) throws...
    method resumeTriggersContaining (line 707) | public void resumeTriggersContaining(String triggerGroupToken) throws ...
    method resumeTriggersAll (line 711) | public void resumeTriggersAll() throws Exception {
    method triggerJob (line 715) | public void triggerJob(String jobName, String jobGroup, Map<String, St...
    method triggerJob (line 724) | public void triggerJob(CompositeData trigger) throws Exception {
    method jobAdded (line 734) | public void jobAdded(JobDetail jobDetail) {
    method jobDeleted (line 738) | public void jobDeleted(JobKey jobKey) {
    method jobScheduled (line 745) | public void jobScheduled(Trigger trigger) {
    method jobUnscheduled (line 749) | public void jobUnscheduled(TriggerKey triggerKey) {
    method schedulingDataCleared (line 756) | public void schedulingDataCleared() {
    method jobPaused (line 760) | public void jobPaused(JobKey jobKey) {
    method jobsPaused (line 767) | public void jobsPaused(String jobGroup) {
    method jobsResumed (line 774) | public void jobsResumed(String jobGroup) {
    method jobResumed (line 781) | public void jobResumed(JobKey jobKey) {
    method schedulerError (line 788) | public void schedulerError(String msg, SchedulerException cause) {
    method schedulerStarted (line 792) | public void schedulerStarted() {
    method schedulerStarting (line 797) | public void schedulerStarting() {
    method schedulerInStandbyMode (line 800) | public void schedulerInStandbyMode() {
    method schedulerShutdown (line 804) | public void schedulerShutdown() {
    method schedulerShuttingdown (line 811) | public void schedulerShuttingdown() {
    method triggerFinalized (line 814) | public void triggerFinalized(Trigger trigger) {
    method triggersPaused (line 821) | public void triggersPaused(String triggerGroup) {
    method triggerPaused (line 828) | public void triggerPaused(TriggerKey triggerKey) {
    method triggersResumed (line 837) | public void triggersResumed(String triggerGroup) {
    method triggerResumed (line 844) | public void triggerResumed(TriggerKey triggerKey) {
    method getName (line 855) | public String getName() {
    method jobExecutionVetoed (line 859) | public void jobExecutionVetoed(JobExecutionContext context) {
    method jobToBeExecuted (line 868) | public void jobToBeExecuted(JobExecutionContext context) {
    method jobWasExecuted (line 877) | public void jobWasExecuted(JobExecutionContext context,
    method sendNotification (line 894) | public void sendNotification(String eventType) {
    method sendNotification (line 904) | public void sendNotification(String eventType, Object data) {
    method sendNotification (line 915) | public void sendNotification(String eventType, Object data, String msg) {
    class Emitter (line 927) | private class Emitter extends NotificationBroadcasterSupport {
      method getNotificationInfo (line 931) | @Override
    method addNotificationListener (line 941) | public void addNotificationListener(NotificationListener listener,
    method getNotificationInfo (line 949) | public MBeanNotificationInfo[] getNotificationInfo() {
    method removeNotificationListener (line 956) | public void removeNotificationListener(NotificationListener listener)
    method removeNotificationListener (line 965) | public void removeNotificationListener(NotificationListener listener,
    method isSampledStatisticsEnabled (line 971) | public synchronized boolean isSampledStatisticsEnabled() {
    method setSampledStatisticsEnabled (line 975) | public void setSampledStatisticsEnabled(boolean enabled) {
    method getJobsCompletedMostRecentSample (line 989) | public long getJobsCompletedMostRecentSample() {
    method getJobsExecutedMostRecentSample (line 993) | public long getJobsExecutedMostRecentSample() {
    method getJobsScheduledMostRecentSample (line 997) | public long getJobsScheduledMostRecentSample() {
    method getPerformanceMetrics (line 1001) | public Map<String, Long> getPerformanceMetrics() {

FILE: quartz/src/main/java/org/quartz/core/QuartzSchedulerResources.java
  class QuartzSchedulerResources (line 41) | public class QuartzSchedulerResources {
    method QuartzSchedulerResources (line 113) | public QuartzSchedulerResources() {
    method getName (line 130) | public String getName() {
    method setName (line 142) | public void setName(String name) {
    method getInstanceId (line 161) | public String getInstanceId() {
    method setInstanceId (line 173) | public void setInstanceId(String instanceId) {
    method getUniqueIdentifier (line 182) | public static String getUniqueIdentifier(String schedName,
    method getUniqueIdentifier (line 187) | public String getUniqueIdentifier() {
    method getRMIRegistryHost (line 197) | public String getRMIRegistryHost() {
    method setRMIRegistryHost (line 207) | public void setRMIRegistryHost(String hostName) {
    method getRMIRegistryPort (line 217) | public int getRMIRegistryPort() {
    method setRMIRegistryPort (line 227) | public void setRMIRegistryPort(int port) {
    method getRMIServerPort (line 237) | public int getRMIServerPort() {
    method setRMIServerPort (line 246) | public void setRMIServerPort(int port) {
    method getRMICreateRegistryStrategy (line 256) | public String getRMICreateRegistryStrategy() {
    method getThreadName (line 265) | public String getThreadName() {
    method setThreadName (line 277) | public void setThreadName(String threadName) {
    method setRMICreateRegistryStrategy (line 295) | public void setRMICreateRegistryStrategy(String rmiCreateRegistryStrat...
    method getThreadPool (line 324) | public ThreadPool getThreadPool() {
    method setThreadPool (line 337) | public void setThreadPool(ThreadPool threadPool) {
    method getJobStore (line 351) | public JobStore getJobStore() {
    method setJobStore (line 364) | public void setJobStore(JobStore jobStore) {
    method getJobRunShellFactory (line 378) | public JobRunShellFactory getJobRunShellFactory() {
    method setJobRunShellFactory (line 391) | public void setJobRunShellFactory(JobRunShellFactory jobRunShellFactor...
    method addSchedulerPlugin (line 408) | public void addSchedulerPlugin(SchedulerPlugin plugin) {
    method getSchedulerPlugins (line 419) | public List<SchedulerPlugin> getSchedulerPlugins() {
    method getMakeSchedulerThreadDaemon (line 428) | public boolean getMakeSchedulerThreadDaemon() {
    method setMakeSchedulerThreadDaemon (line 437) | public void setMakeSchedulerThreadDaemon(boolean makeSchedulerThreadDa...
    method isThreadsInheritInitializersClassLoadContext (line 445) | public boolean isThreadsInheritInitializersClassLoadContext() {
    method setThreadsInheritInitializersClassLoadContext (line 453) | public void setThreadsInheritInitializersClassLoadContext(
    method getRMIBindName (line 465) | public String getRMIBindName() {
    method setRMIBindName (line 475) | public void setRMIBindName(String rmiBindName) {
    method getJMXExport (line 483) | public boolean getJMXExport() {
    method setJMXExport (line 491) | public void setJMXExport(boolean jmxExport) {
    method getJMXObjectName (line 502) | public String getJMXObjectName() {
    method setJMXObjectName (line 513) | public void setJMXObjectName(String jmxObjectName) {
    method getThreadExecutor (line 520) | public ThreadExecutor getThreadExecutor() {
    method setThreadExecutor (line 527) | public void setThreadExecutor(ThreadExecutor threadExecutor) {
    method generateJMXObjectName (line 538) | public static String generateJMXObjectName(String schedName, String sc...
    method getBatchTimeWindow (line 544) | public long getBatchTimeWindow() {
    method setBatchTimeWindow (line 548) | public void setBatchTimeWindow(long batchTimeWindow) {
    method getMaxBatchSize (line 552) | public int getMaxBatchSize() {
    method setMaxBatchSize (line 556) | public void setMaxBatchSize(int maxBatchSize) {
    method isInterruptJobsOnShutdown (line 560) | public boolean isInterruptJobsOnShutdown() {
    method setInterruptJobsOnShutdown (line 564) | public void setInterruptJobsOnShutdown(boolean interruptJobsOnShutdown) {
    method isInterruptJobsOnShutdownWithWait (line 568) | public boolean isInterruptJobsOnShutdownWithWait() {
    method setInterruptJobsOnShutdownWithWait (line 572) | public void setInterruptJobsOnShutdownWithWait(
    method getManagementRESTServiceConfiguration (line 578) | public ManagementRESTServiceConfiguration getManagementRESTServiceConf...
    method setManagementRESTServiceConfiguration (line 582) | public void setManagementRESTServiceConfiguration(ManagementRESTServic...

FILE: quartz/src/main/java/org/quartz/core/QuartzSchedulerThread.java
  class QuartzSchedulerThread (line 50) | public class QuartzSchedulerThread extends Thread {
    method QuartzSchedulerThread (line 98) | QuartzSchedulerThread(QuartzScheduler qs, QuartzSchedulerResources qsR...
    method QuartzSchedulerThread (line 109) | QuartzSchedulerThread(QuartzScheduler qs, QuartzSchedulerResources qsR...
    method setIdleWaitTime (line 136) | void setIdleWaitTime(long waitTime) {
    method getRandomizedIdleWaitTime (line 141) | private long getRandomizedIdleWaitTime() {
    method togglePause (line 150) | void togglePause(boolean pause) {
    method halt (line 167) | void halt(boolean wait) {
    method isPaused (line 198) | boolean isPaused() {
    method signalSchedulingChange (line 213) | public void signalSchedulingChange(long candidateNewNextFireTime) {
    method clearSignaledSchedulingChange (line 221) | public void clearSignaledSchedulingChange() {
    method isScheduleChanged (line 228) | public boolean isScheduleChanged() {
    method getSignaledNextFireTime (line 234) | public long getSignaledNextFireTime() {
    method run (line 245) | @Override
    method computeDelayForRepeatedErrors (line 458) | private static long computeDelayForRepeatedErrors(JobStore jobStore, i...
    method releaseIfScheduleChangedSignificantly (line 478) | private boolean releaseIfScheduleChangedSignificantly(
    method isCandidateNewTimeEarlierWithinReason (line 491) | private boolean isCandidateNewTimeEarlierWithinReason(long oldTime, bo...
    method getLog (line 538) | public Logger getLog() {

FILE: quartz/src/main/java/org/quartz/core/RemotableQuartzScheduler.java
  type RemotableQuartzScheduler (line 46) | public interface RemotableQuartzScheduler extends Remote {
    method getSchedulerName (line 56) | String getSchedulerName() throws RemoteException;
    method getSchedulerInstanceId (line 58) | String getSchedulerInstanceId() throws RemoteException;
    method getSchedulerContext (line 60) | SchedulerContext getSchedulerContext() throws SchedulerException, Remo...
    method start (line 62) | void start() throws SchedulerException, RemoteException;
    method startDelayed (line 64) | void startDelayed(int seconds) throws SchedulerException, RemoteExcept...
    method standby (line 66) | void standby() throws RemoteException;
    method isInStandbyMode (line 68) | boolean isInStandbyMode() throws RemoteException;
    method shutdown (line 70) | void shutdown() throws RemoteException;
    method shutdown (line 72) | void shutdown(boolean waitForJobsToComplete) throws RemoteException;
    method isShutdown (line 74) | boolean isShutdown() throws RemoteException;
    method runningSince (line 76) | Date runningSince() throws RemoteException;
    method getVersion (line 78) | String getVersion() throws RemoteException;
    method numJobsExecuted (line 80) | int numJobsExecuted() throws RemoteException;
    method getJobStoreClass (line 82) | Class<?> getJobStoreClass() throws RemoteException;
    method supportsPersistence (line 84) | boolean supportsPersistence() throws RemoteException;
    method isClustered (line 86) | boolean isClustered() throws RemoteException;
    method getThreadPoolClass (line 88) | Class<?> getThreadPoolClass() throws RemoteException;
    method getThreadPoolSize (line 90) | int getThreadPoolSize() throws RemoteException;
    method clear (line 92) | void clear() throws SchedulerException, RemoteException;
    method getCurrentlyExecutingJobs (line 94) | List<JobExecutionContext> getCurrentlyExecutingJobs() throws Scheduler...
    method scheduleJob (line 96) | Date scheduleJob(JobDetail jobDetail, Trigger trigger) throws Schedule...
    method scheduleJob (line 98) | Date scheduleJob(Trigger trigger) throws SchedulerException, RemoteExc...
    method addJob (line 100) | void addJob(JobDetail jobDetail, boolean replace) throws SchedulerExce...
    method addJob (line 102) | void addJob(JobDetail jobDetail, boolean replace, boolean storeNonDura...
    method deleteJob (line 104) | boolean deleteJob(JobKey jobKey) throws SchedulerException, RemoteExce...
    method unscheduleJob (line 106) | boolean unscheduleJob(TriggerKey triggerKey) throws SchedulerException...
    method rescheduleJob (line 108) | Date rescheduleJob(TriggerKey triggerKey, Trigger newTrigger) throws S...
    method triggerJob (line 110) | void triggerJob(JobKey jobKey, JobDataMap data) throws SchedulerExcept...
    method triggerJob (line 112) | void triggerJob(OperableTrigger trig) throws SchedulerException, Remot...
    method pauseTrigger (line 114) | void pauseTrigger(TriggerKey triggerKey) throws SchedulerException, Re...
    method pauseTriggers (line 116) | void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerE...
    method pauseJob (line 118) | void pauseJob(JobKey jobKey) throws SchedulerException, RemoteException;
    method pauseJobs (line 120) | void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerException...
    method resumeTrigger (line 122) | void resumeTrigger(TriggerKey triggerKey) throws SchedulerException, R...
    method resumeTriggers (line 124) | void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws Scheduler...
    method getPausedTriggerGroups (line 126) | Set<String> getPausedTriggerGroups() throws SchedulerException, Remote...
    method resumeJob (line 128) | void resumeJob(JobKey jobKey) throws SchedulerException, RemoteException;
    method resumeJobs (line 130) | void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerExceptio...
    method pauseAll (line 132) | void pauseAll() throws SchedulerException, RemoteException;
    method resumeAll (line 134) | void resumeAll() throws SchedulerException, RemoteException;
    method getJobGroupNames (line 136) | List<String> getJobGroupNames() throws SchedulerException, RemoteExcep...
    method getJobKeys (line 138) | Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws SchedulerE...
    method getTriggersOfJob (line 140) | List<? extends Trigger> getTriggersOfJob(JobKey jobKey) throws Schedul...
    method getTriggerGroupNames (line 142) | List<String> getTriggerGroupNames() throws SchedulerException, RemoteE...
    method getTriggerKeys (line 144) | Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throw...
    method getJobDetail (line 146) | JobDetail getJobDetail(JobKey jobKey) throws SchedulerException, Remot...
    method getJobDetails (line 148) | List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher) throws Sch...
    method getTrigger (line 150) | Trigger getTrigger(TriggerKey triggerKey) throws SchedulerException, R...
    method getTriggerState (line 152) | TriggerState getTriggerState(TriggerKey triggerKey) throws SchedulerEx...
    method resetTriggerFromErrorState (line 154) | void resetTriggerFromErrorState(TriggerKey triggerKey) throws Schedule...
    method addCalendar (line 156) | void addCalendar(String calName, Calendar calendar, boolean replace, b...
    method deleteCalendar (line 158) | boolean deleteCalendar(String calName) throws SchedulerException, Remo...
    method getCalendar (line 160) | Calendar getCalendar(String calName) throws SchedulerException, Remote...
    method getCalendarNames (line 162) | List<String> getCalendarNames() throws SchedulerException, RemoteExcep...
    method interrupt (line 164) | boolean interrupt(JobKey jobKey) throws UnableToInterruptJobException,...
    method interrupt (line 166) | boolean interrupt(String fireInstanceId) throws UnableToInterruptJobEx...
    method checkExists (line 168) | boolean checkExists(JobKey jobKey) throws SchedulerException,RemoteExc...
    method checkExists (line 170) | boolean checkExists(TriggerKey triggerKey) throws SchedulerException,R...
    method deleteJobs (line 172) | boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerException,Rem...
    method scheduleJobs (line 174) | void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> triggersAndJo...
    method scheduleJob (line 176) | void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> triggersF...
    method unscheduleJobs (line 178) | boolean unscheduleJobs(List<TriggerKey> triggerKeys) throws SchedulerE...

FILE: quartz/src/main/java/org/quartz/core/SampledStatistics.java
  type SampledStatistics (line 3) | public interface SampledStatistics {
    method getJobsScheduledMostRecentSample (line 4) | long getJobsScheduledMostRecentSample();
    method getJobsExecutingMostRecentSample (line 5) | long getJobsExecutingMostRecentSample();
    method getJobsCompletedMostRecentSample (line 6) | long getJobsCompletedMostRecentSample();
    method shutdown (line 7) | void shutdown();

FILE: quartz/src/main/java/org/quartz/core/SampledStatisticsImpl.java
  class SampledStatisticsImpl (line 19) | public class SampledStatisticsImpl extends SchedulerListenerSupport impl...
    method SampledStatisticsImpl (line 38) | SampledStatisticsImpl(QuartzScheduler scheduler) {
    method shutdown (line 50) | public void shutdown() {
    method createSampledCounter (line 54) | private SampledCounter createSampledCounter(CounterConfig defaultCount...
    method clearStatistics (line 61) | public void clearStatistics() {
    method getJobsCompletedMostRecentSample (line 67) | public long getJobsCompletedMostRecentSample() {
    method getJobsExecutingMostRecentSample (line 71) | public long getJobsExecutingMostRecentSample() {
    method getJobsScheduledMostRecentSample (line 75) | public long getJobsScheduledMostRecentSample() {
    method getName (line 79) | public String getName() {
    method jobScheduled (line 83) | @Override
    method jobExecutionVetoed (line 88) | public void jobExecutionVetoed(JobExecutionContext context) {
    method jobToBeExecuted (line 92) | public void jobToBeExecuted(JobExecutionContext context) {
    method jobWasExecuted (line 96) | public void jobWasExecuted(JobExecutionContext context,
    method jobAdded (line 101) | @Override
    method jobDeleted (line 106) | public void jobDeleted(String jobName, String groupName) {

FILE: quartz/src/main/java/org/quartz/core/SchedulerSignalerImpl.java
  class SchedulerSignalerImpl (line 35) | public class SchedulerSignalerImpl implements SchedulerSignaler {
    method SchedulerSignalerImpl (line 58) | public SchedulerSignalerImpl(QuartzScheduler sched, QuartzSchedulerThr...
    method notifyTriggerListenersMisfired (line 73) | public void notifyTriggerListenersMisfired(Trigger trigger) {
    method notifySchedulerListenersFinalized (line 84) | public void notifySchedulerListenersFinalized(Trigger trigger) {
    method signalSchedulingChange (line 88) | public void signalSchedulingChange(long candidateNewNextFireTime) {
    method notifySchedulerListenersJobDeleted (line 92) | public void notifySchedulerListenersJobDeleted(JobKey jobKey) {
    method notifySchedulerListenersError (line 96) | public void notifySchedulerListenersError(String string, SchedulerExce...

FILE: quartz/src/main/java/org/quartz/core/jmx/CronTriggerSupport.java
  class CronTriggerSupport (line 25) | public class CronTriggerSupport {
    method getItemNames (line 48) | public static String[] getItemNames() {
    method getItemDescriptions (line 54) | public static String[] getItemDescriptions() {
    method getItemTypes (line 60) | public static OpenType[] getItemTypes() {
    method toCompositeData (line 66) | public static CompositeData toCompositeData(CronTrigger trigger) {
    method toTabularData (line 91) | public static TabularData toTabularData(List<? extends CronTrigger> tr...
    method newTrigger (line 103) | public static OperableTrigger newTrigger(CompositeData cData) throws P...
    method newTrigger (line 113) | public static OperableTrigger newTrigger(Map<String, Object> attrMap) ...

FILE: quartz/src/main/java/org/quartz/core/jmx/JobDataMapSupport.java
  class JobDataMapSupport (line 19) | public class JobDataMapSupport {
    method newJobDataMap (line 37) | public static JobDataMap newJobDataMap(TabularData tabularData) {
    method newJobDataMap (line 50) | public static JobDataMap newJobDataMap(Map<String, Object> map) {
    method toCompositeData (line 63) | public static CompositeData toCompositeData(String key, String value) {
    method toTabularData (line 76) | public static TabularData toTabularData(JobDataMap jobDataMap) {

FILE: quartz/src/main/java/org/quartz/core/jmx/JobDetailSupport.java
  class JobDetailSupport (line 22) | public class JobDetailSupport {
    method newJobDetail (line 54) | public static JobDetail newJobDetail(CompositeData cData)
    method newJobDetail (line 78) | public static JobDetail newJobDetail(Map<String, Object> attrMap)
    method toCompositeData (line 113) | public static CompositeData toCompositeData(JobDetail jobDetail) {
    method toTabularData (line 130) | public static TabularData toTabularData(JobDetail[] jobDetails) {

FILE: quartz/src/main/java/org/quartz/core/jmx/JobExecutionContextSupport.java
  class JobExecutionContextSupport (line 24) | public class JobExecutionContextSupport {
    method toCompositeData (line 62) | public static CompositeData toCompositeData(JobExecutionContext jec)
    method toTabularData (line 89) | public static TabularData toTabularData(

FILE: quartz/src/main/java/org/quartz/core/jmx/QuartzSchedulerMBean.java
  type QuartzSchedulerMBean (line 11) | public interface QuartzSchedulerMBean {
    method getSchedulerName (line 39) | String getSchedulerName();
    method getSchedulerInstanceId (line 41) | String getSchedulerInstanceId();
    method isStandbyMode (line 43) | boolean isStandbyMode();
    method isShutdown (line 45) | boolean isShutdown();
    method getVersion (line 47) | String getVersion();
    method getJobStoreClassName (line 49) | String getJobStoreClassName();
    method getThreadPoolClassName (line 51) | String getThreadPoolClassName();
    method getThreadPoolSize (line 53) | int getThreadPoolSize();
    method getJobsScheduledMostRecentSample (line 55) | long getJobsScheduledMostRecentSample();
    method getJobsExecutedMostRecentSample (line 57) | long getJobsExecutedMostRecentSample();
    method getJobsCompletedMostRecentSample (line 59) | long getJobsCompletedMostRecentSample();
    method getPerformanceMetrics (line 61) | Map<String, Long> getPerformanceMetrics();
    method getCurrentlyExecutingJobs (line 67) | TabularData getCurrentlyExecutingJobs() throws Exception;
    method getAllJobDetails (line 74) | TabularData getAllJobDetails() throws Exception;
    method getAllTriggers (line 81) | List<CompositeData> getAllTriggers() throws Exception;
    method getJobGroupNames (line 83) | List<String> getJobGroupNames() throws Exception;
    method getJobNames (line 85) | List<String> getJobNames(String groupName)
    method getJobDetail (line 93) | CompositeData getJobDetail(String jobName, String jobGroupName) throws...
    method isStarted (line 95) | boolean isStarted();
    method start (line 97) | void start() throws Exception;
    method shutdown (line 99) | void shutdown();
    method standby (line 101) | void standby();
    method clear (line 103) | void clear() throws Exception;
    method scheduleJob (line 115) | Date scheduleJob(String jobName, String jobGroup,
    method scheduleBasicJob (line 127) | void scheduleBasicJob(Map<String, Object> jobDetailInfo, Map<String, O...
    method scheduleJob (line 144) | void scheduleJob(Map<String, Object> abstractJobInfo,
    method scheduleJob (line 160) | void scheduleJob(String jobName, String jobGroup,
    method unscheduleJob (line 163) | boolean unscheduleJob(String triggerName, String triggerGroup) throws ...
    method interruptJob (line 165) | boolean interruptJob(String jobName, String jobGroupName) throws Excep...
    method interruptJob (line 167) | boolean interruptJob(String fireInstanceId) throws Exception;
    method triggerJob (line 169) | void triggerJob(String jobName, String jobGroupName,
    method deleteJob (line 172) | boolean deleteJob(String jobName, String jobGroupName)
    method addJob (line 175) | void addJob(CompositeData jobDetail, boolean replace) throws Exception;
    method addJob (line 189) | void addJob(Map<String, Object> abstractJobInfo, boolean replace)
    method pauseJobGroup (line 192) | void pauseJobGroup(String jobGroup) throws Exception;
    method pauseJobsStartingWith (line 198) | void pauseJobsStartingWith(String jobGroupPrefix) throws Exception;
    method pauseJobsEndingWith (line 203) | void pauseJobsEndingWith(String jobGroupSuffix) throws Exception;
    method pauseJobsContaining (line 208) | void pauseJobsContaining(String jobGroupToken) throws Exception;
    method pauseJobsAll (line 213) | void pauseJobsAll() throws Exception;
    method resumeJobGroup (line 218) | void resumeJobGroup(String jobGroup) throws Exception;
    method resumeJobsStartingWith (line 223) | void resumeJobsStartingWith(String jobGroupPrefix) throws Exception;
    method resumeJobsEndingWith (line 228) | void resumeJobsEndingWith(String jobGroupSuffix) throws Exception;
    method resumeJobsContaining (line 233) | void resumeJobsContaining(String jobGroupToken) throws Exception;
    method resumeJobsAll (line 238) | void resumeJobsAll() throws Exception;
    method pauseJob (line 240) | void pauseJob(String jobName, String groupName) throws Exception;
    method resumeJob (line 242) | void resumeJob(String jobName, String jobGroupName)    throws Exception;
    method getTriggerGroupNames (line 244) | List<String> getTriggerGroupNames() throws Exception;
    method getTriggerNames (line 246) | List<String> getTriggerNames(String triggerGroupName) throws Exception;
    method getTrigger (line 248) | CompositeData getTrigger(String triggerName, String triggerGroupName) ...
    method getTriggerState (line 250) | String getTriggerState(String triggerName, String triggerGroupName) th...
    method getTriggersOfJob (line 256) | List<CompositeData> getTriggersOfJob(String jobName, String jobGroupNa...
    method getPausedTriggerGroups (line 258) | Set<String> getPausedTriggerGroups() throws Exception;
    method pauseAllTriggers (line 260) | void pauseAllTriggers() throws Exception;
    method resumeAllTriggers (line 262) | void resumeAllTriggers() throws Exception;
    method pauseTriggerGroup (line 264) | void pauseTriggerGroup(String triggerGroup) throws Exception;
    method pauseTriggersStartingWith (line 269) | void pauseTriggersStartingWith(String triggerGroupPrefix) throws Excep...
    method pauseTriggersEndingWith (line 274) | void pauseTriggersEndingWith(String suffix) throws Exception;
    method pauseTriggersContaining (line 279) | void pauseTriggersContaining(String triggerGroupToken) throws Exception;
    method pauseTriggersAll (line 284) | void pauseTriggersAll() throws Exception;
    method resumeTriggerGroup (line 286) | void resumeTriggerGroup(String triggerGroup) throws Exception;
    method resumeTriggersStartingWith (line 291) | void resumeTriggersStartingWith(String triggerGroupPrefix) throws Exce...
    method resumeTriggersEndingWith (line 296) | void resumeTriggersEndingWith(String triggerGroupSuffix) throws Except...
    method resumeTriggersContaining (line 301) | void resumeTriggersContaining(String triggerGroupToken) throws Exception;
    method resumeTriggersAll (line 306) | void resumeTriggersAll() throws Exception;
    method pauseTrigger (line 308) | void pauseTrigger(String triggerName, String triggerGroupName) throws ...
    method resumeTrigger (line 310) | void resumeTrigger(String triggerName, String triggerGroupName) throws...
    method getCalendarNames (line 312) | List<String> getCalendarNames() throws Exception;
    method deleteCalendar (line 314) | void deleteCalendar(String name) throws Exception;
    method setSampledStatisticsEnabled (line 316) | void setSampledStatisticsEnabled(boolean enabled);
    method isSampledStatisticsEnabled (line 318) | boolean isSampledStatisticsEnabled();

FILE: quartz/src/main/java/org/quartz/core/jmx/SimpleTriggerSupport.java
  class SimpleTriggerSupport (line 25) | public class SimpleTriggerSupport {
    method getItemNames (line 48) | public static String[] getItemNames() {
    method getItemDescriptions (line 54) | public static String[] getItemDescriptions() {
    method getItemTypes (line 60) | public static OpenType[] getItemTypes() {
    method toCompositeData (line 66) | public static CompositeData toCompositeData(SimpleTrigger trigger) {
    method toTabularData (line 92) | public static TabularData toTabularData(List<? extends SimpleTrigger> ...
    method newTrigger (line 104) | public static OperableTrigger newTrigger(CompositeData cData) throws P...
    method newTrigger (line 113) | public static OperableTrigger newTrigger(Map<String, Object> attrMap) ...

FILE: quartz/src/main/java/org/quartz/core/jmx/TriggerSupport.java
  class TriggerSupport (line 28) | public class TriggerSupport {
    method getItemNames (line 61) | public static String[] getItemNames() {
    method getItemDescriptions (line 65) | public static String[] getItemDescriptions() {
    method getItemTypes (line 69) | public static OpenType[] getItemTypes() {
    method getIndexNames (line 73) | public String[] getIndexNames() {
    method toCompositeData (line 77) | public static CompositeData toCompositeData(Trigger trigger) {
    method toTabularData (line 100) | public static TabularData toTabularData(List<? extends Trigger> trigge...
    method toCompositeList (line 112) | public static List<CompositeData> toCompositeList(List<? extends Trigg...
    method initializeTrigger (line 121) | public static void initializeTrigger(MutableTrigger trigger, Composite...
    method initializeTrigger (line 145) | public static void initializeTrigger(MutableTrigger trigger, Map<Strin...
    method newTrigger (line 173) | public static OperableTrigger newTrigger(CompositeData cData) throws P...
    method newTrigger (line 183) | public static OperableTrigger newTrigger(Map<String, Object> attrMap) ...

FILE: quartz/src/main/java/org/quartz/ee/jmx/jboss/JBoss4RMIRemoteMBeanScheduler.java
  class JBoss4RMIRemoteMBeanScheduler (line 45) | public class JBoss4RMIRemoteMBeanScheduler extends RemoteMBeanScheduler {
    method JBoss4RMIRemoteMBeanScheduler (line 53) | public JBoss4RMIRemoteMBeanScheduler() throws SchedulerException {
    method setProviderURL (line 62) | public void setProviderURL(String providerURL) {
    method initialize (line 70) | @Override
    method getContextProperties (line 96) | protected Properties getContextProperties() {
    method getAttribute (line 105) | @Override
    method getAttributes (line 114) | @Override
    method invoke (line 123) | @Override

FILE: quartz/src/main/java/org/quartz/ee/jmx/jboss/QuartzService.java
  class QuartzService (line 61) | public class QuartzService extends ServiceMBeanSupport implements
    method QuartzService (line 100) | public QuartzService() {
    method setJndiName (line 124) | public void setJndiName(String jndiName) throws Exception {
    method getJndiName (line 142) | public String getJndiName() {
    method getName (line 146) | @Override
    method setProperties (line 151) | public void setProperties(String properties) {
    method getProperties (line 174) | public String getProperties() {
    method setPropertiesFile (line 186) | public void setPropertiesFile(String propertiesFile) {
    method getPropertiesFile (line 201) | public String getPropertiesFile() {
    method setStartScheduler (line 205) | public void setStartScheduler(boolean startScheduler) {
    method getStartScheduler (line 209) | public boolean getStartScheduler() {
    method createService (line 213) | @Override
    method destroyService (line 245) | @Override
    method startService (line 254) | @Override
    method stopService (line 285) | @Override
    method rebind (line 305) | private void rebind() throws NamingException, SchedulerException {
    method unbind (line 321) | private void unbind(String name) {

FILE: quartz/src/main/java/org/quartz/ee/jmx/jboss/QuartzServiceMBean.java
  type QuartzServiceMBean (line 45) | public interface QuartzServiceMBean extends ServiceMBean {
    method setJndiName (line 55) | void setJndiName(String jndiName) throws Exception;
    method getJndiName (line 57) | String getJndiName();
    method setProperties (line 59) | void setProperties(String properties);
    method setPropertiesFile (line 61) | void setPropertiesFile(String propertiesFile);
    method setStartScheduler (line 63) | void setStartScheduler(boolean startScheduler);

FILE: quartz/src/main/java/org/quartz/ee/jta/JTAAnnotationAwareJobRunShellFactory.java
  class JTAAnnotationAwareJobRunShellFactory (line 47) | public class JTAAnnotationAwareJobRunShellFactory implements JobRunShell...
    method JTAAnnotationAwareJobRunShellFactory (line 67) | public JTAAnnotationAwareJobRunShellFactory() {
    method initialize (line 87) | public void initialize(Scheduler sched)
    method createJobRunShell (line 98) | public JobRunShell createJobRunShell(TriggerFiredBundle bundle)

FILE: quartz/src/main/java/org/quartz/ee/jta/JTAJobRunShell.java
  class JTAJobRunShell (line 42) | public class JTAJobRunShell extends JobRunShell {
    method JTAJobRunShell (line 68) | public JTAJobRunShell(Scheduler scheduler, TriggerFiredBundle bundle) {
    method JTAJobRunShell (line 78) | public JTAJobRunShell(Scheduler scheduler, TriggerFiredBundle bundle, ...
    method begin (line 91) | @Override
    method complete (line 124) | @Override
    method passivate (line 168) | @Override
    method cleanupUserTransaction (line 174) | private void cleanupUserTransaction() {

FILE: quartz/src/main/java/org/quartz/ee/jta/JTAJobRunShellFactory.java
  class JTAJobRunShellFactory (line 42) | public class JTAJobRunShellFactory implements JobRunShellFactory {
    method JTAJobRunShellFactory (line 62) | public JTAJobRunShellFactory() {
    method initialize (line 82) | public void initialize(Scheduler sched)
    method createJobRunShell (line 93) | public JobRunShell createJobRunShell(TriggerFiredBundle bundle)

FILE: quartz/src/main/java/org/quartz/ee/jta/UserTransactionHelper.java
  class UserTransactionHelper (line 46) | public class UserTransactionHelper {
    method UserTransactionHelper (line 78) | private UserTransactionHelper() {
    method getUserTxLocation (line 89) | public static String getUserTxLocation() {
    method setUserTxLocation (line 98) | public static void setUserTxLocation(String userTxURL) {
    method lookupUserTransaction (line 108) | public static UserTransaction lookupUserTransaction() throws Scheduler...
    method returnUserTransaction (line 117) | public static void returnUserTransaction(UserTransaction userTransacti...
    class UserTransactionWithContext (line 133) | private static class UserTransactionWithContext implements UserTransac...
      method UserTransactionWithContext (line 137) | public UserTransactionWithContext() throws SchedulerException {
      method closeContext (line 165) | public void closeContext() {
      method finalize (line 180) | @Override
      method getLog (line 192) | private static Logger getLog() {
      method begin (line 198) | public void begin() throws NotSupportedException, SystemException {
      method commit (line 202) | public void commit() throws RollbackException, HeuristicMixedExcepti...
      method rollback (line 206) | public void rollback() throws IllegalStateException, SecurityExcepti...
      method setRollbackOnly (line 210) | public void setRollbackOnly() throws IllegalStateException, SystemEx...
      method getStatus (line 214) | public int getStatus() throws SystemException {
      method setTransactionTimeout (line 218) | public void setTransactionTimeout(int seconds) throws SystemException {

FILE: quartz/src/main/java/org/quartz/ee/servlet/QuartzInitializerListener.java
  class QuartzInitializerListener (line 125) | public class QuartzInitializerListener implements ServletContextListener {
    method contextInitialized (line 144) | public void contextInitialized(ServletContextEvent sce) {
    method getSchedulerFactory (line 234) | protected StdSchedulerFactory getSchedulerFactory(String configFile)
    method contextDestroyed (line 246) | public void contextDestroyed(ServletContextEvent sce) {

FILE: quartz/src/main/java/org/quartz/ee/servlet/QuartzInitializerServlet.java
  class QuartzInitializerServlet (line 139) | public class QuartzInitializerServlet extends HttpServlet {
    method init (line 162) | @Override
    method getSchedulerFactory (line 245) | protected StdSchedulerFactory getSchedulerFactory(String configFile)
    method destroy (line 257) | @Override
    method doPost (line 276) | @Override
    method doGet (line 282) | @Override

FILE: quartz/src/main/java/org/quartz/helpers/VersionPrinter.java
  class VersionPrinter (line 31) | public class VersionPrinter {
    method VersionPrinter (line 36) | private VersionPrinter() {
    method main (line 47) | public static void main(String[] args) {

FILE: quartz/src/main/java/org/quartz/impl/DefaultThreadExecutor.java
  class DefaultThreadExecutor (line 28) | public class DefaultThreadExecutor implements ThreadExecutor {
    method initialize (line 30) | public void initialize() {
    method execute (line 33) | public void execute(Thread thread) {

FILE: quartz/src/main/java/org/quartz/impl/DirectSchedulerFactory.java
  class DirectSchedulerFactory (line 95) | public class DirectSchedulerFactory implements SchedulerFactory {
    method getLog (line 140) | protected Logger getLog() {
    method DirectSchedulerFactory (line 147) | protected DirectSchedulerFactory() {
    method getInstance (line 158) | public static DirectSchedulerFactory getInstance() {
    method createVolatileScheduler (line 171) | public void createVolatileScheduler(int maxThreads)
    method createRemoteScheduler (line 191) | public void createRemoteScheduler(String rmiHost, int rmiPort)
    method createRemoteScheduler (line 215) | public void createRemoteScheduler(String schedulerName,
    method createRemoteScheduler (line 243) | public void createRemoteScheduler(String schedulerName,
    method createScheduler (line 270) | public void createScheduler(ThreadPool threadPool, JobStore jobStore)
    method createScheduler (line 294) | public void createScheduler(String schedulerName,
    method createScheduler (line 324) | public void createScheduler(String schedulerName,
    method createScheduler (line 364) | public void createScheduler(String schedulerName,
    method createScheduler (line 406) | public void createScheduler(String schedulerName,
    method createScheduler (line 453) | public void createScheduler(String schedulerName,
    method createScheduler (line 507) | public void createScheduler(String schedulerName,
    method getScheduler (line 607) | public Scheduler getScheduler() throws SchedulerException {
    method getScheduler (line 621) | public Scheduler getScheduler(String schedName) throws SchedulerExcept...
    method getAllSchedulers (line 633) | public Collection<Scheduler> getAllSchedulers() throws SchedulerExcept...

FILE: quartz/src/main/java/org/quartz/impl/JobDetailImpl.java
  class JobDetailImpl (line 65) | @SuppressWarnings("deprecation")
    method JobDetailImpl (line 114) | public JobDetailImpl() {
    method JobDetailImpl (line 129) | @Deprecated
    method JobDetailImpl (line 147) | @Deprecated
    method JobDetailImpl (line 167) | @Deprecated
    method getName (line 190) | public String getName() {
    method setName (line 202) | public void setName(String name) {
    method getGroup (line 216) | public String getGroup() {
    method setGroup (line 230) | public void setGroup(String group) {
    method getFullName (line 250) | public String getFullName() {
    method getKey (line 257) | public JobKey getKey() {
    method setKey (line 267) | public void setKey(JobKey key) {
    method getDescription (line 279) | public String getDescription() {
    method setDescription (line 290) | public void setDescription(String description) {
    method getJobClass (line 297) | public Class<? extends Job> getJobClass() {
    method setJobClass (line 309) | public void setJobClass(Class<? extends Job> jobClass) {
    method getJobDataMap (line 325) | public JobDataMap getJobDataMap() {
    method setJobDataMap (line 337) | public void setJobDataMap(JobDataMap jobDataMap) {
    method setDurability (line 351) | public void setDurability(boolean durability) {
    method setRequestsRecovery (line 368) | public void setRequestsRecovery(boolean shouldRecover) {
    method isDurable (line 375) | public boolean isDurable() {
    method isPersistJobDataAfterExecution (line 382) | public boolean isPersistJobDataAfterExecution() {
    method isConcurrentExecutionDisallowed (line 390) | public boolean isConcurrentExecutionDisallowed() {
    method requestsRecovery (line 398) | public boolean requestsRecovery() {
    method toString (line 407) | @Override
    method equals (line 416) | @Override
    method hashCode (line 430) | @Override
    method clone (line 436) | @Override
    method getJobBuilder (line 451) | public JobBuilder getJobBuilder() {

FILE: quartz/src/main/java/org/quartz/impl/JobExecutionContextImpl.java
  class JobExecutionContextImpl (line 37) | public class JobExecutionContextImpl implements java.io.Serializable, Jo...
    method JobExecutionContextImpl (line 92) | public JobExecutionContextImpl(Scheduler scheduler,
    method getScheduler (line 121) | public Scheduler getScheduler() {
    method getTrigger (line 128) | public Trigger getTrigger() {
    method getCalendar (line 135) | public Calendar getCalendar() {
    method isRecovering (line 142) | public boolean isRecovering() {
    method getRecoveringTriggerKey (line 146) | public TriggerKey getRecoveringTriggerKey() {
    method incrementRefireCount (line 155) | public void incrementRefireCount() {
    method getRefireCount (line 162) | public int getRefireCount() {
    method getMergedJobDataMap (line 169) | public JobDataMap getMergedJobDataMap() {
    method getJobDetail (line 176) | public JobDetail getJobDetail() {
    method getJobInstance (line 183) | public Job getJobInstance() {
    method getFireTime (line 190) | public Date getFireTime() {
    method getScheduledFireTime (line 197) | public Date getScheduledFireTime() {
    method getPreviousFireTime (line 204) | public Date getPreviousFireTime() {
    method getNextFireTime (line 211) | public Date getNextFireTime() {
    method toString (line 215) | @Override
    method getResult (line 229) | public Object getResult() {
    method setResult (line 236) | public void setResult(Object result) {
    method getJobRunTime (line 243) | public long getJobRunTime() {
    method setJobRunTime (line 250) | public void setJobRunTime(long jobRunTime) {
    method put (line 257) | public void put(Object key, Object value) {
    method get (line 264) | public Object get(Object key) {
    method getFireInstanceId (line 271) | public String getFireInstanceId() {

FILE: quartz/src/main/java/org/quartz/impl/QuartzServer.java
  class QuartzServer (line 56) | public class QuartzServer extends SchedulerListenerSupport {
    method QuartzServer (line 76) | QuartzServer() {
    method serve (line 87) | public void serve(SchedulerFactory schedFact, boolean console)
    method schedulerError (line 146) | @Override
    method schedulerShutdown (line 158) | @Override
    method main (line 172) | public static void main(String[] args) throws Exception {

FILE: quartz/src/main/java/org/quartz/impl/RemoteMBeanScheduler.java
  class RemoteMBeanScheduler (line 65) | public abstract class RemoteMBeanScheduler implements Scheduler {
    method RemoteMBeanScheduler (line 85) | public RemoteMBeanScheduler() {
    method getSchedulerObjectName (line 100) | protected ObjectName getSchedulerObjectName() {
    method setSchedulerObjectName (line 108) | public void setSchedulerObjectName(String schedulerObjectName)  throws...
    method setSchedulerObjectName (line 120) | public void setSchedulerObjectName(ObjectName schedulerObjectName)  th...
    method initialize (line 137) | public abstract void initialize() throws SchedulerException;
    method getAttribute (line 142) | protected abstract Object getAttribute(
    method getAttributes (line 148) | protected abstract AttributeList getAttributes(String[] attributes)
    method invoke (line 154) | protected abstract Object invoke(
    method getSchedulerName (line 173) | public String getSchedulerName() throws SchedulerException {
    method getSchedulerInstanceId (line 182) | public String getSchedulerInstanceId() throws SchedulerException {
    method getMetaData (line 186) | public SchedulerMetaData getMetaData() throws SchedulerException {
    method getAttribute (line 221) | private Attribute getAttribute(AttributeList attributeList, int index) {
    method getContext (line 230) | public SchedulerContext getContext() throws SchedulerException {
    method start (line 245) | public void start() throws SchedulerException {
    method startDelayed (line 254) | public void startDelayed(int seconds) throws SchedulerException {
    method standby (line 263) | public void standby() throws SchedulerException {
    method isStarted (line 281) | public boolean isStarted() throws SchedulerException {
    method isInStandbyMode (line 290) | public boolean isInStandbyMode() throws SchedulerException {
    method shutdown (line 299) | public void shutdown() throws SchedulerException {
    method shutdown (line 312) | public void shutdown(boolean waitForJobsToComplete) throws SchedulerEx...
    method isShutdown (line 321) | public boolean isShutdown() throws SchedulerException {
    method getCurrentlyExecutingJobs (line 330) | @SuppressWarnings("unchecked")
    method scheduleJob (line 348) | public Date scheduleJob(JobDetail jobDetail, Trigger trigger)
    method scheduleJob (line 360) | public Date scheduleJob(Trigger trigger) throws SchedulerException {
    method addJob (line 371) | public void addJob(JobDetail jobDetail, boolean replace)
    method addJob (line 386) | public void addJob(JobDetail jobDetail, boolean replace, boolean store...
    method deleteJob (line 401) | public boolean deleteJob(JobKey jobKey)
    method unscheduleJob (line 416) | public boolean unscheduleJob(TriggerKey triggerKey)
    method deleteJobs (line 425) | public boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerExcept...
    method scheduleJobs (line 429) | public void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> trigge...
    method scheduleJob (line 433) | public void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> tr...
    method unscheduleJobs (line 437) | public boolean unscheduleJobs(List<TriggerKey> triggerKeys) throws Sch...
    method rescheduleJob (line 448) | public Date rescheduleJob(TriggerKey triggerKey,
    method triggerJob (line 461) | public void triggerJob(JobKey jobKey) throws SchedulerException {
    method triggerJob (line 472) | public void triggerJob(JobKey jobKey, JobDataMap data) throws Schedule...
    method pauseTrigger (line 483) | public void pauseTrigger(TriggerKey triggerKey) throws SchedulerExcept...
    method pauseTriggers (line 497) | public void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws Sch...
    method pauseJob (line 532) | public void pauseJob(JobKey jobKey) throws SchedulerException {
    method pauseJobs (line 546) | public void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerEx...
    method resumeTrigger (line 577) | public void resumeTrigger(TriggerKey triggerKey)
    method resumeTriggers (line 592) | public void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws Sc...
    method resumeJob (line 627) | public void resumeJob(JobKey jobKey)
    method resumeJobs (line 642) | public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerE...
    method pauseAll (line 673) | public void pauseAll() throws SchedulerException {
    method resumeAll (line 687) | public void resumeAll() throws SchedulerException {
    method getJobGroupNames (line 701) | @SuppressWarnings("unchecked")
    method getJobKeys (line 713) | @SuppressWarnings("unchecked")
    method getTriggersOfJob (line 734) | @SuppressWarnings("unchecked")
    method getTriggerGroupNames (line 746) | @SuppressWarnings("unchecked")
    method getTriggerKeys (line 758) | @SuppressWarnings("unchecked")
    method getJobDetail (line 770) | public JobDetail getJobDetail(JobKey jobKey) throws SchedulerException {
    method getJobDetails (line 781) | public List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher)
    method getTrigger (line 791) | public Trigger getTrigger(TriggerKey triggerKey) throws SchedulerExcep...
    method checkExists (line 800) | public boolean checkExists(JobKey jobKey) throws SchedulerException {
    method checkExists (line 809) | public boolean checkExists(TriggerKey triggerKey) throws SchedulerExce...
    method clear (line 816) | public void clear() throws SchedulerException {
    method getTriggerState (line 831) | public TriggerState getTriggerState(TriggerKey triggerKey)
    method resetTriggerFromErrorState (line 847) | public void resetTriggerFromErrorState(TriggerKey triggerKey)
    method addCalendar (line 862) | public void addCalendar(String calName, Calendar calendar, boolean rep...
    method deleteCalendar (line 878) | public boolean deleteCalendar(String calName) throws SchedulerException {
    method getCalendar (line 892) | public Calendar getCalendar(String calName) throws SchedulerException {
    method getCalendarNames (line 903) | @SuppressWarnings("unchecked")
    method getPausedTriggerGroups (line 911) | @SuppressWarnings("unchecked")
    method getListenerManager (line 927) | public ListenerManager getListenerManager() throws SchedulerException {
    method interrupt (line 935) | public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobExc...
    method interrupt (line 948) | public boolean interrupt(String fireInstanceId) throws UnableToInterru...
    method setJobFactory (line 962) | public void setJobFactory(JobFactory factory) throws SchedulerException {

FILE: quartz/src/main/java/org/quartz/impl/RemoteScheduler.java
  class RemoteScheduler (line 59) | public class RemoteScheduler implements Scheduler {
    method RemoteScheduler (line 92) | public RemoteScheduler(String schedId, String host, int port) {
    method getRemoteScheduler (line 106) | protected RemotableQuartzScheduler getRemoteScheduler()
    method invalidateHandleCreateException (line 126) | protected SchedulerException invalidateHandleCreateException(String msg,
    method getSchedulerName (line 137) | public String getSchedulerName() throws SchedulerException {
    method getSchedulerInstanceId (line 151) | public String getSchedulerInstanceId() throws SchedulerException {
    method getMetaData (line 160) | public SchedulerMetaData getMetaData() throws SchedulerException {
    method getContext (line 182) | public SchedulerContext getContext() throws SchedulerException {
    method start (line 202) | public void start() throws SchedulerException {
    method startDelayed (line 216) | public void startDelayed(int seconds) throws SchedulerException {
    method standby (line 230) | public void standby() throws SchedulerException {
    method isStarted (line 253) | public boolean isStarted() throws SchedulerException {
    method isInStandbyMode (line 267) | public boolean isInStandbyMode() throws SchedulerException {
    method shutdown (line 281) | public void shutdown() throws SchedulerException {
    method shutdown (line 299) | public void shutdown(boolean waitForJobsToComplete)
    method isShutdown (line 318) | public boolean isShutdown() throws SchedulerException {
    method getCurrentlyExecutingJobs (line 332) | public List<JobExecutionContext> getCurrentlyExecutingJobs() throws Sc...
    method scheduleJob (line 352) | public Date scheduleJob(JobDetail jobDetail, Trigger trigger)
    method scheduleJob (line 368) | public Date scheduleJob(Trigger trigger) throws SchedulerException {
    method addJob (line 382) | public void addJob(JobDetail jobDetail, boolean replace)
    method addJob (line 392) | public void addJob(JobDetail jobDetail, boolean replace, boolean store...
    method deleteJobs (line 402) | public boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerExcept...
    method scheduleJobs (line 411) | public void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> trigge...
    method scheduleJob (line 420) | public void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> tr...
    method unscheduleJobs (line 429) | public boolean unscheduleJobs(List<TriggerKey> triggerKeys)
    method deleteJob (line 444) | public boolean deleteJob(JobKey jobKey)
    method unscheduleJob (line 460) | public boolean unscheduleJob(TriggerKey triggerKey)
    method rescheduleJob (line 475) | public Date rescheduleJob(TriggerKey triggerKey,
    method triggerJob (line 492) | public void triggerJob(JobKey jobKey)
    method triggerJob (line 502) | public void triggerJob(JobKey jobKey, JobDataMap data)
    method pauseTrigger (line 517) | public void pauseTrigger(TriggerKey triggerKey)
    method pauseTriggers (line 533) | public void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws Sch...
    method pauseJob (line 547) | public void pauseJob(JobKey jobKey)
    method pauseJobs (line 562) | public void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerEx...
    method resumeTrigger (line 576) | public void resumeTrigger(TriggerKey triggerKey)
    method resumeTriggers (line 591) | public void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws Sc...
    method resumeJob (line 605) | public void resumeJob(JobKey jobKey)
    method resumeJobs (line 620) | public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerE...
    method pauseAll (line 634) | public void pauseAll() throws SchedulerException {
    method resumeAll (line 648) | public void resumeAll() throws SchedulerException {
    method getJobGroupNames (line 662) | public List<String> getJobGroupNames() throws SchedulerException {
    method getJobKeys (line 676) | public Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws Sch...
    method getTriggersOfJob (line 690) | public List<? extends Trigger> getTriggersOfJob(JobKey jobKey)
    method getTriggerGroupNames (line 705) | public List<String> getTriggerGroupNames() throws SchedulerException {
    method getTriggerKeys (line 719) | public Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher...
    method getJobDetail (line 733) | public JobDetail getJobDetail(JobKey jobKey)
    method getJobDetails (line 748) | public List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher)
    method checkExists (line 763) | public boolean checkExists(JobKey jobKey) throws SchedulerException {
    method checkExists (line 777) | public boolean checkExists(TriggerKey triggerKey) throws SchedulerExce...
    method clear (line 791) | public void clear() throws SchedulerException {
    method getTrigger (line 805) | public Trigger getTrigger(TriggerKey triggerKey)
    method getTriggerState (line 820) | public TriggerState getTriggerState(TriggerKey triggerKey)
    method resetTriggerFromErrorState (line 835) | public void resetTriggerFromErrorState(TriggerKey triggerKey)
    method addCalendar (line 853) | public void addCalendar(String calName, Calendar calendar, boolean rep...
    method deleteCalendar (line 869) | public boolean deleteCalendar(String calName) throws SchedulerException {
    method getCalendar (line 883) | public Calendar getCalendar(String calName) throws SchedulerException {
    method getCalendarNames (line 897) | public List<String> getCalendarNames() throws SchedulerException {
    method getPausedTriggerGroups (line 909) | public Set<String> getPausedTriggerGroups() throws SchedulerException {
    method getListenerManager (line 926) | public ListenerManager getListenerManager() throws SchedulerException {
    method interrupt (line 934) | public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobExc...
    method interrupt (line 945) | public boolean interrupt(String fireInstanceId) throws UnableToInterru...
    method setJobFactory (line 959) | public void setJobFactory(JobFactory factory) throws SchedulerException {

FILE: quartz/src/main/java/org/quartz/impl/SchedulerDetailsSetter.java
  class SchedulerDetailsSetter (line 36) | class SchedulerDetailsSetter {
    method SchedulerDetailsSetter (line 40) | private SchedulerDetailsSetter() {
    method setDetails (line 44) | static void setDetails(Object target, String schedulerName,
    method set (line 50) | private static void set(Object target, String method, String value)

FILE: quartz/src/main/java/org/quartz/impl/SchedulerRepository.java
  class SchedulerRepository (line 36) | public class SchedulerRepository {
    method SchedulerRepository (line 56) | private SchedulerRepository() {
    class Holder (line 60) | private static class Holder {
    method getInstance (line 71) | public static synchronized SchedulerRepository getInstance() {
    method bind (line 75) | public synchronized void bind(Scheduler sched) throws SchedulerExcepti...
    method remove (line 85) | public synchronized boolean remove(String schedName) {
    method lookup (line 89) | public synchronized Scheduler lookup(String schedName) {
    method lookupAll (line 93) | public synchronized Collection<Scheduler> lookupAll() {

FILE: quartz/src/main/java/org/quartz/impl/StdJobRunShellFactory.java
  class StdJobRunShellFactory (line 35) | public class StdJobRunShellFactory implements JobRunShellFactory {
    method initialize (line 61) | public void initialize(Scheduler sched) {
    method createJobRunShell (line 71) | public JobRunShell createJobRunShell(TriggerFiredBundle bundle) throws...

FILE: quartz/src/main/java/org/quartz/impl/StdScheduler.java
  class StdScheduler (line 56) | public class StdScheduler implements Scheduler {
    method StdScheduler (line 82) | public StdScheduler(QuartzScheduler sched) {
    method getSchedulerName (line 99) | public String getSchedulerName() {
    method getSchedulerInstanceId (line 108) | public String getSchedulerInstanceId() {
    method getMetaData (line 112) | public SchedulerMetaData getMetaData() {
    method getContext (line 127) | public SchedulerContext getContext() throws SchedulerException {
    method start (line 142) | public void start() throws SchedulerException {
    method startDelayed (line 151) | public void startDelayed(int seconds) throws SchedulerException {
    method standby (line 161) | public void standby() {
    method isStarted (line 179) | public boolean isStarted() {
    method isInStandbyMode (line 188) | public boolean isInStandbyMode() {
    method shutdown (line 197) | public void shutdown() {
    method shutdown (line 206) | public void shutdown(boolean waitForJobsToComplete) {
    method isShutdown (line 215) | public boolean isShutdown() {
    method getCurrentlyExecutingJobs (line 224) | public List<JobExecutionContext> getCurrentlyExecutingJobs() {
    method clear (line 239) | public void clear() throws SchedulerException {
    method scheduleJob (line 248) | public Date scheduleJob(JobDetail jobDetail, Trigger trigger)
    method scheduleJob (line 258) | public Date scheduleJob(Trigger trigger) throws SchedulerException {
    method addJob (line 267) | public void addJob(JobDetail jobDetail, boolean replace)
    method addJob (line 272) | public void addJob(JobDetail jobDetail, boolean replace, boolean store...
    method deleteJobs (line 278) | public boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerExcept...
    method scheduleJobs (line 282) | public void scheduleJobs(Map<JobDetail, Set<? extends Trigger>> trigge...
    method scheduleJob (line 286) | public void scheduleJob(JobDetail jobDetail, Set<? extends Trigger> tr...
    method unscheduleJobs (line 290) | public boolean unscheduleJobs(List<TriggerKey> triggerKeys)
    method deleteJob (line 300) | public boolean deleteJob(JobKey jobKey)
    method unscheduleJob (line 310) | public boolean unscheduleJob(TriggerKey triggerKey)
    method rescheduleJob (line 320) | public Date rescheduleJob(TriggerKey triggerKey,
    method triggerJob (line 330) | public void triggerJob(JobKey jobKey)
    method triggerJob (line 340) | public void triggerJob(JobKey jobKey, JobDataMap data)
    method pauseTrigger (line 350) | public void pauseTrigger(TriggerKey triggerKey)
    method pauseTriggers (line 360) | public void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws Sch...
    method pauseJob (line 369) | public void pauseJob(JobKey jobKey)
    method getPausedTriggerGroups (line 377) | public Set<String> getPausedTriggerGroups() throws SchedulerException {
    method pauseJobs (line 386) | public void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerEx...
    method resumeTrigger (line 395) | public void resumeTrigger(TriggerKey triggerKey)
    method resumeTriggers (line 405) | public void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws Sc...
    method resumeJob (line 414) | public void resumeJob(JobKey jobKey)
    method resumeJobs (line 424) | public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerE...
    method pauseAll (line 433) | public void pauseAll() throws SchedulerException {
    method resumeAll (line 442) | public void resumeAll() throws SchedulerException {
    method getJobGroupNames (line 451) | public List<String> getJobGroupNames() throws SchedulerException {
    method getTriggersOfJob (line 460) | public List<? extends Trigger> getTriggersOfJob(JobKey jobKey)
    method getJobKeys (line 470) | public Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws Sch...
    method getTriggerGroupNames (line 479) | public List<String> getTriggerGroupNames() throws SchedulerException {
    method getTriggerKeys (line 488) | public Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher...
    method getJobDetail (line 497) | public JobDetail getJobDetail(JobKey jobKey)
    method getJobDetails (line 507) | public List<JobDetail> getJobDetails(GroupMatcher<JobKey> matcher)
    method getTrigger (line 517) | public Trigger getTrigger(TriggerKey triggerKey)
    method getTriggerState (line 527) | public TriggerState getTriggerState(TriggerKey triggerKey)
    method resetTriggerFromErrorState (line 546) | public void resetTriggerFromErrorState(TriggerKey triggerKey)
    method addCalendar (line 556) | public void addCalendar(String calName, Calendar calendar, boolean rep...
    method deleteCalendar (line 566) | public boolean deleteCalendar(String calName) throws SchedulerException {
    method getCalendar (line 575) | public Calendar getCalendar(String calName) throws SchedulerException {
    method getCalendarNames (line 584) | public List<String> getCalendarNames() throws SchedulerException {
    method checkExists (line 593) | public boolean checkExists(JobKey jobKey) throws SchedulerException {
    method checkExists (line 603) | public boolean checkExists(TriggerKey triggerKey) throws SchedulerExce...
    method setJobFactory (line 618) | public void setJobFactory(JobFactory factory) throws SchedulerException {
    method getListenerManager (line 625) | public ListenerManager getListenerManager() throws SchedulerException {
    method interrupt (line 629) | public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobExc...
    method interrupt (line 633) | public boolean interrupt(String fireInstanceId) throws UnableToInterru...

FILE: quartz/src/main/java/org/quartz/impl/StdSchedulerFactory.java
  class StdSchedulerFactory (line 123) | public class StdSchedulerFactory implements SchedulerFactory {
    method StdSchedulerFactory (line 319) | public StdSchedulerFactory() {
    method StdSchedulerFactory (line 328) | public StdSchedulerFactory(Properties props) throws SchedulerException {
    method StdSchedulerFactory (line 338) | public StdSchedulerFactory(String fileName) throws SchedulerException {
    method getLog (line 350) | public Logger getLog() {
    method initialize (line 378) | public void initialize() throws SchedulerException {
    method overrideWithSysProps (line 482) | static Properties overrideWithSysProps(Properties props, Logger log) {
    method initialize (line 521) | public void initialize(String filename) throws SchedulerException {
    method initialize (line 565) | public void initialize(InputStream propertiesStream)
    method initialize (line 602) | public void initialize(Properties props) {
    method instantiate (line 610) | private Scheduler instantiate() throws SchedulerException {
    method populateProviderWithExtraProps (line 1396) | private void populateProviderWithExtraProps(PoolingConnectionProvider ...
    method shutdownFromInstantiateException (line 1420) | private void shutdownFromInstantiateException(ThreadPool tp, QuartzSch...
    method instantiate (line 1431) | protected Scheduler instantiate(QuartzSchedulerResources rsrcs, Quartz...
    method setBeanProps (line 1437) | private void setBeanProps(Object obj, Properties props)
    method getSetMethod (line 1502) | private java.lang.reflect.Method getSetMethod(String name,
    method loadClass (line 1515) | private Class<?> loadClass(String className) throws ClassNotFoundExcep...
    method findClassLoader (line 1529) | private ClassLoader findClassLoader() {
    method getSchedulerName (line 1537) | private String getSchedulerName() {
    method getScheduler (line 1553) | public Scheduler getScheduler() throws SchedulerException {
    method getDefaultScheduler (line 1583) | public static Scheduler getDefaultScheduler() throws SchedulerException {
    method getScheduler (line 1595) | public Scheduler getScheduler(String schedName) throws SchedulerExcept...
    method getAllSchedulers (line 1605) | public Collection<Scheduler> getAllSchedulers() throws SchedulerExcept...

FILE: quartz/src/main/java/org/quartz/impl/calendar/AnnualCalendar.java
  class AnnualCalendar (line 40) | public class AnnualCalendar extends BaseCalendar implements Calendar,
    method AnnualCalendar (line 50) | public AnnualCalendar() {
    method AnnualCalendar (line 53) | public AnnualCalendar(Calendar baseCalendar) {
    method AnnualCalendar (line 57) | public AnnualCalendar(TimeZone timeZone) {
    method AnnualCalendar (line 61) | public AnnualCalendar(Calendar baseCalendar, TimeZone timeZone) {
    method clone (line 65) | @Override
    method getDaysExcluded (line 77) | public ArrayList<java.util.Calendar> getDaysExcluded() {
    method isDayExcluded (line 86) | public boolean isDayExcluded(java.util.Calendar day) {
    method setDaysExcluded (line 132) | public void setDaysExcluded(ArrayList<java.util.Calendar> days) {
    method setDayExcluded (line 147) | public void setDayExcluded(java.util.Calendar day, boolean exclude) {
    method removeExcludedDay (line 169) | public void removeExcludedDay(java.util.Calendar day) {
    method removeExcludedDay (line 173) | private void removeExcludedDay(java.util.Calendar day, boolean isCheck...
    method isTimeIncluded (line 216) | @Override
    method getNextIncludedTime (line 238) | @Override
  class CalendarComparator (line 260) | class CalendarComparator implements Comparator<java.util.Calendar>, Seri...
    method CalendarComparator (line 264) | public CalendarComparator() {
    method compare (line 268) | public int compare(java.util.Calendar c1, java.util.Calendar c2) {

FILE: quartz/src/main/java/org/quartz/impl/calendar/BaseCalendar.java
  class BaseCalendar (line 47) | public class BaseCalendar implements Calendar, Serializable, Cloneable {
    method BaseCalendar (line 58) | public BaseCalendar() {
    method BaseCalendar (line 61) | public BaseCalendar(Calendar baseCalendar) {
    method BaseCalendar (line 69) | public BaseCalendar(TimeZone timeZone) {
    method BaseCalendar (line 77) | public BaseCalendar(Calendar baseCalendar, TimeZone timeZone) {
    method clone (line 82) | @Override
    method setBaseCalendar (line 102) | public void setBaseCalendar(Calendar baseCalendar) {
    method getBaseCalendar (line 111) | public Calendar getBaseCalendar() {
    method getDescription (line 123) | public String getDescription() {
    method setDescription (line 134) | public void setDescription(String description) {
    method getTimeZone (line 145) | public TimeZone getTimeZone() {
    method setTimeZone (line 155) | public void setTimeZone(TimeZone timeZone) {
    method isTimeIncluded (line 168) | public boolean isTimeIncluded(long timeStamp) {
    method getNextIncludedTime (line 191) | public long getNextIncludedTime(long timeStamp) {
    method createJavaCalendar (line 210) | protected java.util.Calendar createJavaCalendar(long timeStamp) {
    method createJavaCalendar (line 221) | protected java.util.Calendar createJavaCalendar() {
    method getStartOfDayJavaCalendar (line 238) | protected java.util.Calendar getStartOfDayJavaCalendar(long timeInMill...
    method getEndOfDayJavaCalendar (line 257) | protected java.util.Calendar getEndOfDayJavaCalendar(long timeInMillis) {

FILE: quartz/src/main/java/org/quartz/impl/calendar/CronCalendar.java
  class CronCalendar (line 26) | public class CronCalendar extends BaseCalendar {
    method CronCalendar (line 37) | public CronCalendar(String expression)
    method CronCalendar (line 51) | public CronCalendar(Calendar baseCalendar,
    method CronCalendar (line 71) | public CronCalendar(Calendar baseCalendar,
    method clone (line 78) | @Override
    method getTimeZone (line 93) | @Override
    method setTimeZone (line 108) | @Override
    method isTimeIncluded (line 121) | @Override
    method getNextIncludedTime (line 140) | @Override
    method toString (line 173) | @Override
    method getCronExpression (line 195) | public CronExpression getCronExpression() {
    method setCronExpression (line 206) | public void setCronExpression(String expression) throws ParseException {
    method setCronExpression (line 216) | public void setCronExpression(CronExpression expression) {

FILE: quartz/src/main/java/org/quartz/impl/calendar/DailyCalendar.java
  class DailyCalendar (line 29) | public class DailyCalendar extends BaseCalendar {
    method DailyCalendar (line 83) | public DailyCalendar(String rangeStartingTime,
    method DailyCalendar (line 123) | public DailyCalendar(org.quartz.Calendar baseCalendar,
    method DailyCalendar (line 161) | public DailyCalendar(int rangeStartingHourOfDay,
    method DailyCalendar (line 216) | public DailyCalendar(org.quartz.Calendar baseCalendar,
    method DailyCalendar (line 263) | public DailyCalendar(
    method DailyCalendar (line 300) | public DailyCalendar(org.quartz.Calendar baseCalendar,
    method DailyCalendar (line 336) | public DailyCalendar(long rangeStartingTimeInMillis,
    method DailyCalendar (line 376) | public DailyCalendar(org.quartz.Calendar baseCalendar,
    method DailyCalendar (line 407) | public DailyCalendar(TimeZone timeZone,
    method DailyCalendar (line 442) | public DailyCalendar(org.quartz.Calendar baseCalendar,
    method clone (line 451) | @Override
    method isTimeIncluded (line 464) | @Override
    method getNextIncludedTime (line 498) | @Override
    method getTimeRangeStartingTimeInMillis (line 563) | public long getTimeRangeStartingTimeInMillis(long timeInMillis) {
    method getTimeRangeEndingTimeInMillis (line 581) | public long getTimeRangeEndingTimeInMillis(long timeInMillis) {
    method getInvertTimeRange (line 596) | public boolean getInvertTimeRange() {
    method setInvertTimeRange (line 606) | public void setInvertTimeRange(boolean flag) {
    method toString (line 616) | @Override
    method split (line 654) | private String[] split(String string, String delim) {
    method setTimeRange (line 674) | public void setTimeRange(String rangeStartingTimeString,
    method setTimeRange (line 753) | public void setTimeRange(int rangeStartingHourOfDay,
    method setTimeRange (line 814) | public void setTimeRange(Calendar rangeStartingCalendar,
    method setTimeRange (line 836) | public void setTimeRange(long rangeStartingTime,
    method validate (line 852) | private void validate(int hourOfDay, int minute, int second, int milli...

FILE: quartz/src/main/java/org/quartz/impl/calendar/HolidayCalendar.java
  class HolidayCalendar (line 45) | public class HolidayCalendar extends BaseCalendar implements Calendar,
    method HolidayCalendar (line 52) | public HolidayCalendar() {
    method HolidayCalendar (line 55) | public HolidayCalendar(Calendar baseCalendar) {
    method HolidayCalendar (line 59) | public HolidayCalendar(TimeZone timeZone) {
    method HolidayCalendar (line 63) | public HolidayCalendar(Calendar baseCalendar, TimeZone timeZone) {
    method clone (line 67) | @Override
    method isTimeIncluded (line 84) | @Override
    method getNextIncludedTime (line 105) | @Override
    method addExcludedDate (line 129) | public void addExcludedDate(Date excludedDate) {
    method removeExcludedDate (line 138) | public void removeExcludedDate(Date dateToRemove) {
    method getExcludedDates (line 150) | public SortedSet<Date> getExcludedDates() {

FILE: quartz/src/main/java/org/quartz/impl/calendar/MonthlyCalendar.java
  class MonthlyCalendar (line 38) | public class MonthlyCalendar extends BaseCalendar implements Calendar,
    method MonthlyCalendar (line 52) | public MonthlyCalendar() {
    method MonthlyCalendar (line 56) | public MonthlyCalendar(Calendar baseCalendar) {
    method MonthlyCalendar (line 60) | public MonthlyCalendar(TimeZone timeZone) {
    method MonthlyCalendar (line 64) | public MonthlyCalendar(Calendar baseCalendar, TimeZone timeZone) {
    method clone (line 71) | @Override
    method getDaysExcluded (line 85) | public boolean[] getDaysExcluded() {
    method isDayExcluded (line 96) | public boolean isDayExcluded(int day) {
    method setDaysExcluded (line 112) | public void setDaysExcluded(boolean[] days) {
    method setDayExcluded (line 134) | public void setDayExcluded(int day, boolean exclude) {
    method areAllDaysExcluded (line 149) | public boolean areAllDaysExcluded() {
    method isTimeIncluded (line 169) | @Override
    method getNextIncludedTime (line 196) | @Override

FILE: quartz/src/main/java/org/quartz/impl/calendar/WeeklyCalendar.java
  class WeeklyCalendar (line 38) | public class WeeklyCalendar extends BaseCalendar implements Calendar,
    method WeeklyCalendar (line 49) | public WeeklyCalendar() {
    method WeeklyCalendar (line 53) | public WeeklyCalendar(Calendar baseCalendar) {
    method WeeklyCalendar (line 57) | public WeeklyCalendar(TimeZone timeZone) {
    method WeeklyCalendar (line 61) | public WeeklyCalendar(Calendar baseCalendar, TimeZone timeZone) {
    method clone (line 69) | @Override
    method getDaysExcluded (line 81) | public boolean[] getDaysExcluded() {
    method isDayExcluded (line 91) | public boolean isDayExcluded(int wday) {
    method setDaysExcluded (line 102) | public void setDaysExcluded(boolean[] weekDays) {
    method setDayExcluded (line 118) | public void setDayExcluded(int wday, boolean exclude) {
    method areAllDaysExcluded (line 130) | public boolean areAllDaysExcluded() {
    method isTimeIncluded (line 151) | @Override
    method getNextIncludedTime (line 178) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/AttributeRestoringConnectionInvocationHandler.java
  class AttributeRestoringConnectionInvocationHandler (line 43) | public class AttributeRestoringConnectionInvocationHandler implements In...
    method AttributeRestoringConnectionInvocationHandler (line 55) | public AttributeRestoringConnectionInvocationHandler(
    method getLog (line 60) | protected Logger getLog() {
    method invoke (line 64) | public Object invoke(Object proxy, Method method, Object[] args)
    method setAutoCommit (line 93) | public void setAutoCommit(boolean autoCommit) throws SQLException {
    method setTransactionIsolation (line 111) | public void setTransactionIsolation(int level) throws SQLException {
    method getWrappedConnection (line 133) | public Connection getWrappedConnection() {
    method restoreOriginalAttributes (line 142) | public void restoreOriginalAttributes() {
    method close (line 165) | public void close() throws SQLException {

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/CUBRIDDelegate.java
  class CUBRIDDelegate (line 34) | public class CUBRIDDelegate extends StdJDBCDelegate {
    method getObjectFromBlob (line 48) | @Override
    method getJobDataFromBlob (line 69) | @Override
    method setBytes (line 98) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/CacheDelegate.java
  class CacheDelegate (line 43) | public class CacheDelegate extends StdJDBCDelegate {
    method setBytes (line 57) | @Override
    method getObjectFromBlob (line 67) | @Override
    method getJobDataFromBlob (line 99) | @Override
    class BlobFreeingStream (line 113) | private static class BlobFreeingStream extends InputStream {
      method BlobFreeingStream (line 118) | private BlobFreeingStream(Blob blob, InputStream stream) {
      method read (line 123) | @Override
      method read (line 128) | @Override
      method read (line 133) | @Override
      method skip (line 138) | @Override
      method available (line 143) | @Override
      method close (line 148) | @Override
      method mark (line 161) | @Override
      method reset (line 166) | @Override
      method markSupported (line 171) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/CalendarIntervalTriggerPersistenceDelegate.java
  class CalendarIntervalTriggerPersistenceDelegate (line 27) | public class CalendarIntervalTriggerPersistenceDelegate extends SimplePr...
    method canHandleTriggerType (line 29) | public boolean canHandleTriggerType(OperableTrigger trigger) {
    method getHandledTriggerTypeDiscriminator (line 33) | public String getHandledTriggerTypeDiscriminator() {
    method getTriggerProperties (line 37) | @Override
    method getTriggerPropertyBundle (line 54) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/Constants.java
  type Constants (line 31) | public interface Constants {

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/CronTriggerPersistenceDelegate.java
  class CronTriggerPersistenceDelegate (line 33) | public class CronTriggerPersistenceDelegate implements TriggerPersistenc...
    method initialize (line 38) | public void initialize(String theTablePrefix, String schedName) {
    method getHandledTriggerTypeDiscriminator (line 43) | public String getHandledTriggerTypeDiscriminator() {
    method canHandleTriggerType (line 47) | public boolean canHandleTriggerType(OperableTrigger trigger) {
    method deleteExtendedTriggerProperties (line 51) | public int deleteExtendedTriggerProperties(Connection conn, TriggerKey...
    method insertExtendedTriggerProperties (line 66) | public int insertExtendedTriggerProperties(Connection conn, OperableTr...
    method loadExtendedTriggerProperties (line 85) | public TriggerPropertyBundle loadExtendedTriggerProperties(Connection ...
    method loadExtendedTriggerPropertiesFromResultSet (line 108) | public TriggerPropertyBundle loadExtendedTriggerPropertiesFromResultSe...
    method hasInlinedResultSetProperties (line 123) | public boolean hasInlinedResultSetProperties() {
    method updateExtendedTriggerProperties (line 127) | public int updateExtendedTriggerProperties(Connection conn, OperableTr...

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v6Delegate.java
  class DB2v6Delegate (line 35) | public class DB2v6Delegate extends StdJDBCDelegate {
    method selectNumJobs (line 61) | @Override
    method selectNumTriggersForJob (line 82) | @Override
    method selectNumTriggers (line 104) | @Override
    method selectNumCalendars (line 125) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v7Delegate.java
  class DB2v7Delegate (line 37) | public class DB2v7Delegate extends StdJDBCDelegate {
    method setBytes (line 47) | @Override
    method setBoolean (line 56) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v8Delegate.java
  class DB2v8Delegate (line 32) | public class DB2v8Delegate extends StdJDBCDelegate {
    method setBoolean (line 38) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DBSemaphore.java
  class DBSemaphore (line 31) | public abstract class DBSemaphore implements Semaphore, Constants,
    method DBSemaphore (line 64) | public DBSemaphore(String tablePrefix, String schedName, String defaul...
    method getLog (line 79) | protected Logger getLog() {
    method getThreadLocks (line 83) | private HashSet<String> getThreadLocks() {
    method executeSQL (line 95) | protected abstract void executeSQL(Connection conn, String lockName, S...
    method obtainLock (line 104) | public boolean obtainLock(Connection conn, String lockName)
    method releaseLock (line 132) | public void releaseLock(String lockName) {
    method isLockOwner (line 149) | public boolean isLockOwner(String lockName) {
    method requiresConnection (line 156) | public boolean requiresConnection() {
    method getSQL (line 160) | protected String getSQL() {
    method setSQL (line 164) | protected void setSQL(String sql) {
    method setInsertSQL (line 172) | protected void setInsertSQL(String insertSql) {
    method setExpandedSQL (line 180) | private void setExpandedSQL() {
    method getSchedulerNameLiteral (line 188) | protected String getSchedulerNameLiteral() {
    method getSchedName (line 194) | public String getSchedName() {
    method setSchedName (line 198) | public void setSchedName(String schedName) {
    method getTablePrefix (line 204) | protected String getTablePrefix() {
    method setTablePrefix (line 208) | public void setTablePrefix(String tablePrefix) {

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DailyTimeIntervalTriggerPersistenceDelegate.java
  class DailyTimeIntervalTriggerPersistenceDelegate (line 42) | public class DailyTimeIntervalTriggerPersistenceDelegate extends SimpleP...
    method canHandleTriggerType (line 44) | public boolean canHandleTriggerType(OperableTrigger trigger) {
    method getHandledTriggerTypeDiscriminator (line 48) | public String getHandledTriggerTypeDiscriminator() {
    method getTriggerProperties (line 52) | @Override
    method join (line 89) | private String join(Set<Integer> days, String sep) {
    method getTriggerPropertyBundle (line 102) | @Override

FILE: quartz/src/main/java/org/quartz/impl/jdbcjobstore/DriverDelegate.java
  type DriverDelegate (line 62) | public interface DriverDelegate {
    method initialize (line 76) | void initialize(Logger logger, String tablePrefix, String schedName, S...
    method updateTriggerStatesFromOtherStates (line 97) | int updateTriggerStatesFromOtherStates(Connection conn,
    method selectMisfiredTriggers (line 112) | List<TriggerKey> selectMisfiredTriggers(Connection conn, long ts)
    method selectMisfiredTriggersInState (line 126) | List<TriggerKey> selectMisfiredTriggersInState(Connection conn, String...
    method hasMisfiredTriggersInState (line 144) | boolean hasMisfiredTriggersInState(Connection conn, String state1,
    method countMisfiredTriggersInState (line 155) | int countMisfiredTriggersInState(
    method selectMisfiredTriggersInGroupInState (line 169) | List<TriggerKey> selectMisfiredTriggersInGroupInState(Connection conn,
    method selectTriggersForRecoveringJobs (line 194) | List<OperableTrigger> selectTriggersForRecoveringJobs(Connection conn)
    method deleteFiredTriggers (line 206) | int deleteFiredTriggers(Connection conn) throws SQLException;
    method deleteFiredTriggers (line 217) | int deleteFiredTriggers(Connection conn, String instanceId)
    method insertJobDetail (line 237) | int insertJobDetail(Connection conn, JobDetail job)
    method updateJobDetail (line 253) | int updateJobDetail(Connection conn, JobDetail job)
    method selectTriggerKeysForJob (line 267) | List<TriggerKey> selectTriggerKeysForJob(Connection conn, JobKey jobKe...
    method deleteJobDetail (line 279) | int deleteJobDetail(Connection conn, JobKey jobKey)
    method isJobNonConcurrent (line 292) | boolean isJobNonConcurrent(Connection conn, JobKey jobKey) throws SQLE...
    method jobExists (line 304) | boolean jobExists(Connection conn, JobKey jobKey)
    method updateJobData (line 320) | int updateJobData(Connection conn, JobDetail job)
    method selectJobDetail (line 338) | JobDetail selectJobDetail(Connection conn, JobKey jobKey,
    method selectJobDetails (line 358) | List<JobDetail> selectJobDetails(Connection conn, GroupMatcher<JobKey>...
    method selectNumJobs (line 371) | int selectNumJobs(Connection conn) throws SQLException;
    method selectJobGroups (line 382) | List<String> selectJobGroups(Connection conn) throws SQLException;
    method selectJobsInGroup (line 395) | Set<JobKey> selectJobsInGroup(Connection conn, GroupMatcher<JobKey> ma...
    method insertTrigger (line 415) | int insertTrigger(Connection conn, OperableTrigger trigger, String state,
    method updateTrigger (line 431) | int updateTrigger(Connection conn, OperableTrigger trigger, String state,
    method triggerExists (line 444) | boolean triggerExists(Connection conn, TriggerKey triggerKey) throws S...
    method updateTriggerState (line 458) | int updateTriggerState(Connection conn, TriggerKey triggerKey,
    method updateTriggerStateFromOtherState (line 477) | int updateTriggerStateFromOtherState(Connection conn,
    method updateTriggerStateFromOtherStates (line 500) | int updateTriggerStateFromOtherStates(Connection conn,
    method updateTriggerGroupStateFromOtherStates (line 526) | int updateTriggerGroupStateFromOtherStates(Connection conn,
    method updateTriggerGroupStateFromOtherState (line 547) | int updateTriggerGroupStateFromOtherState(Connection conn,
    method updateTriggerStatesForJob (line 563) | int updateTriggerStatesForJob(Connection conn, JobKey jobKey,
    method updateTriggerStatesForJobFromOtherState (line 581) | int updateTriggerStatesForJobFromOtherState(Connection conn,
    method deleteTrigger (line 595) | int deleteTrigger(Connection conn, TriggerKey triggerKey) throws SQLEx...
    method selectNumTriggersForJob (line 606) | int selectNumTriggersForJob(Connection conn, JobKey jobKey) throws SQL...
    method selectJobForTrigger (line 619) | JobDetail selectJobForTrigger(Connection conn, ClassLoadHelper loadHel...
    method selectJobForTrigger (line 629) | JobDetail selectJobForTrigger(Connection conn, ClassLoadHelper loadHel...
    method selectTriggersForJob (line 645) | List<OperableTrigger> selectTriggersForJob(Connection conn, JobKey job...
    method selectTriggersForCalendar (line 662) | List<OperableTrigger> selectTriggersForCalendar(Connection conn, Strin...
    method selectTrigger (line 675) | OperableTrigger selectTrigger(Connection conn, TriggerKey triggerKey) ...
    method getTriggersByJobAndTriggerGroup (line 692) | List<OperableTrigger> getTriggersByJobAndTriggerGroup(Connection conn,...
    method selectTriggerJobDataMap (line 709) | JobDataMap selectTriggerJobDataMap(Connection conn, String triggerName,
    method selectTriggerState (line 723) | String selectTriggerState(Connection conn, TriggerKey triggerKey) thro...
    method selectTriggerStatus (line 735) | TriggerStatus selectTriggerStatus(Connection conn,
    method selectNumTriggers (line 747) | int selectNumTriggers(Connection conn) throws SQLException;
    method selectTriggerGroups (line 758) | List<String> selectTriggerGroups(Connection conn) throws SQLException;
    method selectTriggerGroups (line 760) | List<String> selectTriggerGroups(Connection conn, GroupMatcher<Trigger...
    method selectTriggersInGroup (line 773) | Set<TriggerKey> selectTriggersInGroup(Connection conn, GroupMatcher<Tr...
    method selectTriggersInState (line 787) | List<TriggerKey> selectTriggersInState(Connection conn, String state)
    method insertPausedTriggerGroup (line 790) | int insertPausedTriggerGroup(Connection conn, String groupName)
    method deletePausedTriggerGroup (line 793) | int deletePausedTriggerGroup(Connection conn, String groupName)
    method deletePausedTriggerGroup (line 796) | int deletePausedTriggerGroup(Connection conn, GroupMatcher<TriggerKey>...
    method deleteAllPausedTriggerGroups (line 799) | int deleteAllPausedTriggerGroups(Connection conn)
    method isTriggerGroupPaused (line 802) | boolean isTriggerGroupPaused(Connection conn, String groupName)
    method selectPausedTriggerGroups (line 805) | Set<String> selectPausedTriggerGroups(Connection conn)
    method isExistingTriggerGroup (line 808) | boolean isExistingTriggerGroup(Connection conn, String groupName)
    method insertCalendar (line 830) | int insertCalendar(Connection conn, String calendarName,
    method updateCalendar (line 848) | int updateCalendar(Connection conn, String calendarName,
    method calendarExists (line 862) | boolean calendarExists(Connection conn, String calendarName)
    method selectCalendar (line 881) | Calendar selectCalendar(Connection conn, String calendarName)
    method calendarIsReferenced (line 895) | boolean calendarIsReferenced(Connection conn, String calendarName)
    method deleteCalendar (line 909) | int deleteCalendar(Connection conn, String calendarName)
    method selectNumCalendars (line 921) | int selectNumCalendars(Connection conn) throws SQLException;
    method selectCalendars (line 932) | List<String> selectCalendars(Connection conn) throws SQLException;
    method selectNextFireTime (line 949) | @Deprecated
    method selectTriggerForFireTime (line 965) | Key<?> selectTriggerForFireTime(Connection conn, long fireTime)
    method selectTriggerToAcquire (line 985) | @Deprecated
    method selectTriggerToAcquire (line 1006) | List<TriggerKey> selectTriggerToAcquire(Connection conn, long noLaterT...
    method insertFiredTrigger (line 1022) | int insertFiredTrigger(Connection conn, OperableTri
Condensed preview — 475 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,328K chars).
[
  {
    "path": ".gitattributes",
    "chars": 214,
    "preview": "#\n# https://help.github.com/articles/dealing-with-line-endings/\n#\n# Linux start script should use lf\n/gradlew        tex"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 809,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 851,
    "preview": "\n<!--\nIf this is your first time contributing to the project (or it's been a while), please consider reviewing https://g"
  },
  {
    "path": ".github/stale.yml",
    "chars": 2012,
    "preview": "# Configuration for probot-stale - https://github.com/probot/stale\n\n# Number of days of inactivity before an Issue or Pu"
  },
  {
    "path": ".gitignore",
    "chars": 391,
    "preview": "# gradle\n.gradle/\n**/build/\n!**/src/**/build\n\n# misplaced test artifacts\nderby.log\nlogs/\ntmp/\n\n# IntelliJ IDEA noise\nout"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 339,
    "preview": "\n# Contributing to the Quartz Scheduler Project\n\n_We're happy to have you participate in our community with your contrib"
  },
  {
    "path": "LICENSE.txt",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "azure-pipelines.yml",
    "chars": 1322,
    "preview": "#\n# Copyright Terracotta, Inc.\n# Copyright IBM Corp. 2024, 2025\n#\n# Licensed under the Apache License, Version 2.0 (the "
  },
  {
    "path": "build.gradle",
    "chars": 5792,
    "preview": "import org.gradle.api.publish.maven.internal.publication.MavenPomInternal;\nimport org.gradle.api.publish.maven.internal."
  },
  {
    "path": "checkstyle/README.txt",
    "chars": 349,
    "preview": "\nCheckstyle configuration files can be found under src/main/resources\n\n1. You can edit checkstyle rules in checkstyle.xm"
  },
  {
    "path": "checkstyle/src/main/resources/checkstyle.xml",
    "chars": 916,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!DOCTYPE module PUBLIC\n    \"-//Puppy Crawl//DTD Check Configuration 1.3//EN\"\n  "
  },
  {
    "path": "checkstyle/src/main/resources/header.txt",
    "chars": 707,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "checkstyle/src/main/resources/suppressions.xml",
    "chars": 211,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!DOCTYPE suppressions PUBLIC\n    \"-//Puppy Crawl//DTD Suppressions 1.1//EN\"\n   "
  },
  {
    "path": "docs/index.md",
    "chars": 363,
    "preview": "\n# Quartz Documentation\n\nQuartz Documentation for various releases can be found on the Quartz website:\n\n[Quartz Document"
  },
  {
    "path": "examples/build.gradle",
    "chars": 3451,
    "preview": "plugins {\n    id 'java'\n}\n\ndependencies {\n    implementation project(':quartz')\n    implementation project(':quartz-jobs"
  },
  {
    "path": "examples/examples_guide.txt",
    "chars": 1961,
    "preview": "Welcome\n=======\n\nWelcome to the Quartz Examples directory.  \n\nThis directory contains 15 examples that show you how to u"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example1/HelloJob.java",
    "chars": 1963,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example1/SimpleExample.java",
    "chars": 3115,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example10/PlugInExample.java",
    "chars": 2695,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example10/SimpleJob.java",
    "chars": 2460,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example11/LoadExample.java",
    "chars": 4745,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example11/SimpleJob.java",
    "chars": 2246,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example12/RemoteClientExample.java",
    "chars": 3336,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example12/RemoteServerExample.java",
    "chars": 3184,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example12/SimpleJob.java",
    "chars": 2217,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example13/ClusterExample.java",
    "chars": 11689,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryJob.java",
    "chars": 2610,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example13/SimpleRecoveryStatefulJob.java",
    "chars": 1338,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example14/PriorityExample.java",
    "chars": 4402,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example14/TriggerEchoJob.java",
    "chars": 1879,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example15/NativeJob.java",
    "chars": 8393,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example15/NativeJobExample.java",
    "chars": 3499,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example2/SimpleJob.java",
    "chars": 1967,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example2/SimpleTriggerExample.java",
    "chars": 8385,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example3/CronTriggerExample.java",
    "chars": 6054,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example3/SimpleJob.java",
    "chars": 2043,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example4/ColorJob.java",
    "chars": 3510,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example4/JobStateExample.java",
    "chars": 4554,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example5/MisfireExample.java",
    "chars": 5454,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example5/StatefulDumbJob.java",
    "chars": 2968,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example6/BadJob1.java",
    "chars": 2756,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example6/BadJob2.java",
    "chars": 2702,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example6/JobExceptionExample.java",
    "chars": 4022,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example7/DumbInterruptableJob.java",
    "chars": 3634,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example7/InterruptExample.java",
    "chars": 4523,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example8/CalendarExample.java",
    "chars": 4439,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example8/SimpleJob.java",
    "chars": 1967,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example9/Job1Listener.java",
    "chars": 2154,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example9/ListenerExample.java",
    "chars": 3291,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example9/SimpleJob1.java",
    "chars": 1971,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/java/org/quartz/examples/example9/SimpleJob2.java",
    "chars": 1971,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "examples/src/main/resources/log4j.xml",
    "chars": 627,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE log4j:configuration SYSTEM \"log4j.dtd\">\n\n<log4j:configuration xmlns:log"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example10/quartz.properties",
    "chars": 1520,
    "preview": "\n#============================================================================\n# Configure Main Scheduler Properties  \n#"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example10/quartz_data.xml",
    "chars": 4324,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job-scheduling-data xmlns=\"http://www.quartz-scheduler.org/xml/JobSchedulingData"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example11/quartz.properties",
    "chars": 891,
    "preview": "\n#============================================================================\n# Configure Main Scheduler Properties  \n#"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example12/client.properties",
    "chars": 385,
    "preview": "# Properties file for use by StdSchedulerFactory\n# to create a Quartz Scheduler Instance.\n#\n\n# Configure Main Scheduler "
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example12/server.properties",
    "chars": 1022,
    "preview": "#============================================================================\n# Configure Main Scheduler Properties  \n#="
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example13/instance1.properties",
    "chars": 1642,
    "preview": "\n#============================================================================\n# Configure Main Scheduler Properties  \n#"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example13/instance2.properties",
    "chars": 1643,
    "preview": "\n#============================================================================\n# Configure Main Scheduler Properties  \n#"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example14/quartz_priority.properties",
    "chars": 321,
    "preview": "org.quartz.scheduler.instanceName: PriorityExampleScheduler\n\n# Set thread count to 1 to force Triggers scheduled for the"
  },
  {
    "path": "examples/src/main/resources/org/quartz/examples/example5/quartz_misfire.properties",
    "chars": 304,
    "preview": "org.quartz.scheduler.instanceName: MisfireExampleScheduler\r\n\r\norg.quartz.threadPool.threadCount: 2\r\norg.quartz.threadPoo"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 221,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "gradle.properties",
    "chars": 426,
    "preview": "\nquartzVersion = 2.5.1-SNAPSHOT\n\nfullname=quartz-scheduler\nname=quartz\nversion=$quartzVersion\n\nslf4jVersion = 2.0.16\nlog"
  },
  {
    "path": "gradlew",
    "chars": 8472,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "gradlew.bat",
    "chars": 2868,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "quartz/build.gradle",
    "chars": 2808,
    "preview": "plugins {\n    id 'java-library'\n    id 'maven-publish'\n    id 'biz.aQute.bnd.builder'\n}\n\nrepositories {\n    mavenCentral"
  },
  {
    "path": "quartz/src/main/java/org/quartz/Calendar.java",
    "chars": 3396,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/CalendarIntervalScheduleBuilder.java",
    "chars": 13786,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/CalendarIntervalTrigger.java",
    "chars": 6278,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/CronExpression.java",
    "chars": 61795,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/CronScheduleBuilder.java",
    "chars": 11684,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/CronTrigger.java",
    "chars": 6140,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/DailyTimeIntervalScheduleBuilder.java",
    "chars": 16691,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/DailyTimeIntervalTrigger.java",
    "chars": 5140,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/DateBuilder.java",
    "chars": 29032,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/DisallowConcurrentExecution.java",
    "chars": 1358,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ExecuteInJTATransaction.java",
    "chars": 2329,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/InterruptableJob.java",
    "chars": 3817,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/Job.java",
    "chars": 2372,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobBuilder.java",
    "chars": 10784,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobDataMap.java",
    "chars": 13823,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobDetail.java",
    "chars": 3669,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobExecutionContext.java",
    "chars": 8636,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobExecutionException.java",
    "chars": 4847,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobKey.java",
    "chars": 2548,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobListener.java",
    "chars": 2861,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/JobPersistenceException.java",
    "chars": 1679,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ListenerManager.java",
    "chars": 10997,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/Matcher.java",
    "chars": 1107,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ObjectAlreadyExistsException.java",
    "chars": 2939,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/PersistJobDataAfterExecution.java",
    "chars": 1575,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ScheduleBuilder.java",
    "chars": 882,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/Scheduler.java",
    "chars": 37945,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerConfigException.java",
    "chars": 1710,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerContext.java",
    "chars": 1917,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerException.java",
    "chars": 2610,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerFactory.java",
    "chars": 1903,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerListener.java",
    "chars": 5951,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SchedulerMetaData.java",
    "chars": 9421,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/SimpleScheduleBuilder.java",
    "chars": 15107,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/SimpleTrigger.java",
    "chars": 6236,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/StatefulJob.java",
    "chars": 2005,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/TimeOfDay.java",
    "chars": 8139,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/Trigger.java",
    "chars": 12423,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/TriggerBuilder.java",
    "chars": 14189,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/TriggerKey.java",
    "chars": 2594,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/TriggerListener.java",
    "chars": 4492,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/TriggerUtils.java",
    "chars": 6163,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/UnableToInterruptJobException.java",
    "chars": 1730,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/commonj/WorkManagerThreadExecutor.java",
    "chars": 3286,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/JobExecutionProcessException.java",
    "chars": 2613,
    "preview": "package org.quartz.core;\n\nimport static org.quartz.core.JobExecutionProcessException.ProcessErrorMessage.JobExecution;\ni"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/JobRunShell.java",
    "chars": 13745,
    "preview": "\n/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/JobRunShellFactory.java",
    "chars": 1948,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/ListenerManagerImpl.java",
    "chars": 10358,
    "preview": "package org.quartz.core;\n\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Collections;\nimport java"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/NullSampledStatisticsImpl.java",
    "chars": 392,
    "preview": "package org.quartz.core;\n\npublic class NullSampledStatisticsImpl implements SampledStatistics {\n    public long getJobsC"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/QuartzScheduler.java",
    "chars": 80972,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/QuartzSchedulerMBeanImpl.java",
    "chars": 35165,
    "preview": "package org.quartz.core;\n\nimport static org.quartz.JobKey.jobKey;\nimport static org.quartz.TriggerKey.triggerKey;\n\nimpor"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/QuartzSchedulerResources.java",
    "chars": 16778,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/QuartzSchedulerThread.java",
    "chars": 20946,
    "preview": "\n/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/RemotableQuartzScheduler.java",
    "chars": 6956,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/SampledStatistics.java",
    "chars": 221,
    "preview": "package org.quartz.core;\n\npublic interface SampledStatistics {\n    long getJobsScheduledMostRecentSample();\n    long get"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/SampledStatisticsImpl.java",
    "chars": 3793,
    "preview": "package org.quartz.core;\n\nimport java.util.Timer;\n\nimport org.quartz.JobDetail;\nimport org.quartz.JobExecutionContext;\ni"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/SchedulerSignalerImpl.java",
    "chars": 3228,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/CronTriggerSupport.java",
    "chars": 5346,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.STRING;\n\nimport java.text.ParseExcepti"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/JobDataMapSupport.java",
    "chars": 2817,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.STRING;\n\nimport java.util.ArrayList;\ni"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/JobDetailSupport.java",
    "chars": 5820,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.BOOLEAN;\nimport static javax.managemen"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/JobExecutionContextSupport.java",
    "chars": 4684,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.BOOLEAN;\nimport static javax.managemen"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/QuartzSchedulerMBean.java",
    "chars": 10637,
    "preview": "package org.quartz.core.jmx;\n\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\n"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/SimpleTriggerSupport.java",
    "chars": 5717,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.INTEGER;\nimport static javax.managemen"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/jmx/TriggerSupport.java",
    "chars": 8273,
    "preview": "package org.quartz.core.jmx;\n\nimport static javax.management.openmbean.SimpleType.DATE;\nimport static javax.management.o"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/mbeans-descriptors.xml",
    "chars": 23320,
    "preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE mbeans-descriptors PUBLIC \"-//Apache Software Foundation//DTD Model MBeans Configuration"
  },
  {
    "path": "quartz/src/main/java/org/quartz/core/package.html",
    "chars": 278,
    "preview": "<html>\n<head>\n<title>Package org.quartz.core</title>\n</head>\n<body>\n<p>Contains the core classes and interfaces for the "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jboss/doc-files/quartz-service.xml",
    "chars": 3631,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<server>\n\n  <mbean code=\"org.quartz.ee.jmx.jboss.QuartzService\"\n      name=\"user"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jmx/jboss/JBoss4RMIRemoteMBeanScheduler.java",
    "chars": 4591,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jmx/jboss/QuartzService.java",
    "chars": 9562,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jmx/jboss/QuartzServiceMBean.java",
    "chars": 1979,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jta/JTAAnnotationAwareJobRunShellFactory.java",
    "chars": 3764,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jta/JTAJobRunShell.java",
    "chars": 5586,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jta/JTAJobRunShellFactory.java",
    "chars": 3052,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/jta/UserTransactionHelper.java",
    "chars": 7520,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/servlet/QuartzInitializerListener.java",
    "chars": 10541,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/ee/servlet/QuartzInitializerServlet.java",
    "chars": 10641,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/helpers/VersionPrinter.java",
    "chars": 1491,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/helpers/package.html",
    "chars": 263,
    "preview": "<html>\n<head>\n<title>Package org.quartz.helpers</title>\n</head>\n<body>\n<p>Contains helper classes to make working with Q"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/DefaultThreadExecutor.java",
    "chars": 1082,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/DirectSchedulerFactory.java",
    "chars": 24548,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/JobDetailImpl.java",
    "chars": 12827,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/JobExecutionContextImpl.java",
    "chars": 6561,
    "preview": "\n/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. "
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/QuartzServer.java",
    "chars": 6163,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/RemoteMBeanScheduler.java",
    "chars": 32573,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/RemoteScheduler.java",
    "chars": 30990,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/SchedulerDetailsSetter.java",
    "chars": 2908,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/SchedulerRepository.java",
    "chars": 2878,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/StdJobRunShellFactory.java",
    "chars": 2375,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/StdScheduler.java",
    "chars": 18049,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/StdSchedulerFactory.java",
    "chars": 65902,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/AnnualCalendar.java",
    "chars": 7995,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/BaseCalendar.java",
    "chars": 8533,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/CronCalendar.java",
    "chars": 8278,
    "preview": "package org.quartz.impl.calendar;\n\nimport java.text.ParseException;\nimport java.util.Date;\nimport java.util.TimeZone;\n\ni"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/DailyCalendar.java",
    "chars": 40530,
    "preview": "package org.quartz.impl.calendar;\n\nimport java.text.NumberFormat;\nimport java.util.ArrayList;\nimport java.util.Calendar;"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/HolidayCalendar.java",
    "chars": 4363,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/MonthlyCalendar.java",
    "chars": 6500,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/calendar/WeeklyCalendar.java",
    "chars": 6001,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/AttributeRestoringConnectionInvocationHandler.java",
    "chars": 6017,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/CUBRIDDelegate.java",
    "chars": 5000,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/CacheDelegate.java",
    "chars": 5626,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/CalendarIntervalTriggerPersistenceDelegate.java",
    "chars": 3163,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/Constants.java",
    "chars": 5133,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/CronTriggerPersistenceDelegate.java",
    "chars": 5308,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v6Delegate.java",
    "chars": 4374,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v7Delegate.java",
    "chars": 2371,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DB2v8Delegate.java",
    "chars": 1433,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DBSemaphore.java",
    "chars": 6505,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DailyTimeIntervalTriggerPersistenceDelegate.java",
    "chars": 6539,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/DriverDelegate.java",
    "chars": 36690,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/FiredTriggerRecord.java",
    "chars": 3565,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/GaussDBDelegate.java",
    "chars": 3203,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/HSQLDBDelegate.java",
    "chars": 2824,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/InvalidConfigurationException.java",
    "chars": 1462,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/JTANonClusteredSemaphore.java",
    "chars": 10279,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/JobStoreCMT.java",
    "chars": 8378,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/JobStoreSupport.java",
    "chars": 149509,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/JobStoreTX.java",
    "chars": 3449,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/LockException.java",
    "chars": 1467,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/MSSQLDelegate.java",
    "chars": 4639,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/NoRecordFoundException.java",
    "chars": 1157,
    "preview": "package org.quartz.impl.jdbcjobstore;\n\nimport org.quartz.TriggerKey;\n\npublic class NoRecordFoundException extends Illega"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/NoSuchDelegateException.java",
    "chars": 1540,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/PointbaseDelegate.java",
    "chars": 15881,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/PostgreSQLDelegate.java",
    "chars": 3141,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SchedulerStateRecord.java",
    "chars": 2140,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/Semaphore.java",
    "chars": 2018,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SimplePropertiesTriggerPersistenceDelegateSupport.java",
    "chars": 10045,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SimplePropertiesTriggerProperties.java",
    "chars": 2709,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SimpleSemaphore.java",
    "chars": 4739,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SimpleTriggerPersistenceDelegate.java",
    "chars": 5764,
    "preview": "/*\n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 20"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/StdJDBCConstants.java",
    "chars": 37379,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/StdJDBCDelegate.java",
    "chars": 118160,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/StdRowLockSemaphore.java",
    "chars": 7871,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/SybaseDelegate.java",
    "chars": 3557,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  },
  {
    "path": "quartz/src/main/java/org/quartz/impl/jdbcjobstore/TablePrefixAware.java",
    "chars": 991,
    "preview": "/* \n * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.\n * Copyright IBM Corp. 2"
  }
]

// ... and 275 more files (download for full content)

About this extraction

This page contains the full source code of the quartz-scheduler/quartz GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 475 files (3.0 MB), approximately 821.6k tokens, and a symbol index with 4805 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!