亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nthincludeddaytrigger.java

?? Quartz 是個開源的作業(yè)調(diào)度框架
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*  * Copyright 2004-2005 OpenSymphony  *  * 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;import java.util.Date;import org.quartz.Calendar;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.Trigger;/** * A trigger which fires on the N<SUP>th</SUP> day of every interval type  * ({@link #INTERVAL_TYPE_WEEKLY}, {@link #INTERVAL_TYPE_MONTHLY} or  * {@link #INTERVAL_TYPE_YEARLY}) that is <i>not</i> excluded by the associated * calendar. When determining what the N<SUP>th</SUP> day of the month or year * is, <CODE>NthIncludedDayTrigger</CODE> will skip excluded days on the  * associated calendar. This would commonly be used in an N<SUP>th</SUP>  * business day situation, in which the user wishes to fire a particular job on * the N<SUP>th</SUP> business day (i.e. the 5<SUP>th</SUP> business day of * every month). Each <CODE>NthIncludedDayTrigger</CODE> also has an associated * <CODE>fireAtTime</CODE> which indicates at what time of day the trigger is * to fire. * <P> * All <CODE>NthIncludedDayTrigger</CODE>s default to a monthly interval type * (fires on the N<SUP>th</SUP> day of every month) with N = 1 (first  * non-excluded day) and <CODE>fireAtTime</CODE> set to 12:00 PM (noon). These * values can be changed using the {@link #setN}, {@link #setIntervalType}, and * {@link #setFireAtTime} methods. Users may also want to note the  * {@link #setNextFireCutoffInterval} and {@link #getNextFireCutoffInterval} * methods. * <P> * Take, for example, the following calendar: * <P> * <PRE> *        July                  August                September * Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa *                 1  W       1  2  3  4  5  W                1  2  W *  W  H  5  6  7  8  W    W  8  9 10 11 12  W    W  H  6  7  8  9  W *  W 11 12 13 14 15  W    W 15 16 17 18 19  W    W 12 13 14 15 16  W *  W 18 19 20 21 22  W    W 22 23 24 25 26  W    W 19 20 21 22 23  W *  W 25 26 27 28 29  W    W 29 30 31             W 26 27 28 29 30 *  W * </PRE> * <P> * Where W's represent weekend days, and H's represent holidays, all of which * are excluded on a calendar associated with an  * <CODE>NthIncludedDayTrigger</CODE> with <CODE>n=5</CODE> and  * <CODE>intervalType=INTERVAL_TYPE_MONTHLY</CODE>. In this case, the trigger  * would fire on the 8<SUP>th</SUP> of July (because of the July 4 holiday),  * the 5<SUP>th</SUP> of August, and the 8<SUP>th</SUP> of September (because  * of Labor Day). *  * @author  Aaron Craven */public class NthIncludedDayTrigger extends Trigger {    /**     * Instructs the <CODE>Scheduler</CODE> that upon a mis-fire situation, the     * <CODE>NthIncludedDayTrigger</CODE> wants to be fired now by the      * <CODE>Scheduler</CODE>     */    public static final int MISFIRE_INSTRUCTION_FIRE_ONCE_NOW = 1;    /**     * Instructs the <CODE>Scheduler</CODE> that upon a mis-fire situation, the     * <CODE>NthIncludedDayTrigger</CODE> wants to have      * <CODE>nextFireTime</CODE> updated to the next time in the schedule after     * the current time, but it does not want to be fired now.     */    public static final int MISFIRE_INSTRUCTION_DO_NOTHING = 2;    /**     * indicates a monthly trigger type (fires on the N<SUP>th</SUP> included     * day of every month).     */    public static final int INTERVAL_TYPE_MONTHLY = 1;        /**     * indicates a yearly trigger type (fires on the N<SUP>th</SUP> included      * day of every year).     */    public static final int INTERVAL_TYPE_YEARLY = 2;        /**     * indicates a weekly trigger type (fires on the N<SUP>th</SUP> included     * day of every week). When using this interval type, care must be taken     * not to think of the value of <CODE>n</CODE> as an analog to      * <CODE>java.util.Calendar.DAY_OF_WEEK</CODE>. Such a comparison can only     * be drawn when there are no calendars associated with the trigger. To      * illustrate, consider an <CODE>NthIncludedDayTrigger</CODE> with      * <CODE>n = 3</CODE> which is associated with a Calendar excluding     * non-weekdays. The trigger would fire on the 3<SUP>rd</SUP>      * <I>included</I> day of the week, which would be 4<SUP>th</SUP>      * <I>actual</I> day of the week.     */    public static final int INTERVAL_TYPE_WEEKLY = 3;        private Date startTime = new Date();    private Date endTime;    private Date previousFireTime;    private Date nextFireTime;    private Calendar calendar;        private int n = 1;    private int intervalType = INTERVAL_TYPE_MONTHLY;    private int fireAtHour = 12;    private int fireAtMinute = 0;    private int nextFireCutoffInterval = 12;        /**     * Create an <CODE>NthIncludedDayTrigger</CODE> with no specified name,     * group, or <CODE>JobDetail</CODE>. This will result initially in a     * default monthly trigger that fires on the first day of every month at     * 12:00 PM (<CODE>n</CODE>=1,      * <CODE>intervalType={@link #INTERVAL_TYPE_MONTHLY}</CODE>,      * <CODE>fireAtTime="12:00"</CODE>).     * <P>     * Note that <CODE>setName()</CODE>, <CODE>setGroup()</CODE>,      * <CODE>setJobName()</CODE>, and <CODE>setJobGroup()</CODE>, must be      * called before the <CODE>NthIncludedDayTrigger</CODE> can be placed into     * a <CODE>Scheduler</CODE>.     */    public NthIncludedDayTrigger() {        super();    }    /**     * Create an <CODE>NthIncludedDayTrigger</CODE> with the given name and     * group but no specified <CODE>JobDetail</CODE>. This will result      * initially in a default monthly trigger that fires on the first day of      * every month at 12:00 PM (<CODE>n</CODE>=1,      * <CODE>intervalType={@link #INTERVAL_TYPE_MONTHLY}</CODE>,      * <CODE>fireAtTime="12:00"</CODE>).     * <P>     * Note that <CODE>setJobName()</CODE> and <CODE>setJobGroup()</CODE> must     * be called before the <CODE>NthIncludedDayTrigger</CODE> can be placed      * into a <CODE>Scheduler</CODE>.     *       * @param name  the name for the <CODE>NthIncludedDayTrigger</CODE>     * @param group the group for the <CODE>NthIncludedDayTrigger</CODE>     */    public NthIncludedDayTrigger(String name, String group) {        super(name, group);    }    /**     * Create an <CODE>NthIncludedDayTrigger</CODE> with the given name and     * group and the specified <CODE>JobDetail</CODE>. This will result      * initially in a default monthly trigger that fires on the first day of     * every month at 12:00 PM (<CODE>n</CODE>=1,      * <CODE>intervalType={@link #INTERVAL_TYPE_MONTHLY}</CODE>,      * <CODE>fireAtTime="12:00"</CODE>).     *      * @param name     the name for the <CODE>NthIncludedDayTrigger</CODE>     * @param group    the group for the <CODE>NthIncludedDayTrigger</CODE>     * @param jobName  the name of the job to associate with the      *                 <CODE>NthIncludedDayTrigger</CODE>     * @param jobGroup the group containing the job to associate with the      *                 <CODE>NthIncludedDayTrigger</CODE>     */    public NthIncludedDayTrigger(String name, String group, String jobName,            String jobGroup) {        super(name, group, jobName, jobGroup);    }    /**     * Sets the day of the interval on which the      * <CODE>NthIncludedDayTrigger</CODE> should fire. If the N<SUP>th</SUP>     * day of the interval does not exist (i.e. the 32<SUP>nd</SUP> of a      * month), the trigger simply will never fire. N may not be less than 1.     *      * @param  n the day of the interval on which the trigger should fire.     * @throws java.lang.IllegalArgumentException     *         the value entered for N was not valid (probably less than or      *         equal to zero).     * @see #getN()     */    public void setN(int n) {        if (n > 0) {            this.n = n;        } else {            throw new IllegalArgumentException("N must be greater than 0.");        }    }        /**     * Returns the day of the interval on which the      * <CODE>NthIncludedDayTrigger</CODE> should fire.     *      * @return the value of <CODE>n</CODE>     * @see #setN(int)     */    public int getN() {        return this.n;    }        /**     * Sets the interval type for the <CODE>NthIncludedDayTrigger</CODE>. If     * {@link #INTERVAL_TYPE_MONTHLY}, the trigger will fire on the      * N<SUP>th</SUP> included day of every month. If      * {@link #INTERVAL_TYPE_YEARLY}, the trigger will fire on the      * N<SUP>th</SUP> included day of every year. If      * {@link #INTERVAL_TYPE_WEEKLY}, the trigger will fire on the      * N<SUP>th</SUP> included day of every week.      *      * @param  intervalType the interval type for the trigger     * @throws java.lang.IllegalArgumentException     *         the value of <CODE>intervalType</CODE> is not valid. Valid     *         values are represented by the INTERVAL_TYPE_WEEKLY,      *         INTERVAL_TYPE_MONTHLY and INTERVAL_TYPE_YEARLY constants.     * @see #getIntervalType()     * @see #INTERVAL_TYPE_WEEKLY     * @see #INTERVAL_TYPE_MONTHLY     * @see #INTERVAL_TYPE_YEARLY     */    public void setIntervalType(int intervalType) {        switch (intervalType) {        case INTERVAL_TYPE_WEEKLY:            this.intervalType = intervalType;            break;        case INTERVAL_TYPE_MONTHLY:            this.intervalType = intervalType;            break;        case INTERVAL_TYPE_YEARLY:            this.intervalType = intervalType;            break;        default:            throw new IllegalArgumentException("Invalid Interval Type:"                                                + intervalType);        }    }        /**     * Returns the interval type for the <CODE>NthIncludedDayTrigger</CODE>.     *      * @return the trigger's interval type     * @see #setIntervalType(int)     * @see #INTERVAL_TYPE_WEEKLY     * @see #INTERVAL_TYPE_MONTHLY     * @see #INTERVAL_TYPE_YEARLY     */    public int getIntervalType() {        return this.intervalType;           }        /**     * Sets the fire time for the <CODE>NthIncludedDayTrigger</CODE>, which     * should be represented as a string with the format &quot;HH:MM&quot;,      * with HH representing the 24-hour clock hour of the fire time. Hours can     * be represented as either a one-digit or two-digit number.     *      * @param  fireAtTime the time at which the trigger should fire     * @throws java.lang.IllegalArgumentException     *         the specified value for <CODE>fireAtTime</CODE> could not be      *         successfully parsed into a valid time of day.     * @see #getFireAtTime()     */    public void setFireAtTime(String fireAtTime) {        int fireHour = 12;        int fireMinute = 0;        String[] components;                try {            int i = fireAtTime.indexOf(":");            fireHour = Integer.parseInt(fireAtTime.substring(0, i));            fireMinute = Integer.parseInt(fireAtTime.substring(i+1));        } catch (Exception e) {            fireHour = 12;            fireMinute = 0;            throw new                 IllegalArgumentException("Could not parse time expression: "                                          + e.getMessage());        } finally {            this.fireAtHour = fireHour;            this.fireAtMinute = fireMinute;        }    }        /**     * Returns the fire time for the <CODE>NthIncludedDayTrigger</CODE> as a     * string with the format &quot;HH:MM&quot;, with HH representing the      * 24-hour clock hour of the fire time.     *      * @return the fire time for the trigger     * @see #setFireAtTime(String)     */    public String getFireAtTime() {        return this.fireAtHour + ":" + this.fireAtMinute;           }    /**     * Sets the <CODE>nextFireCutoffInterval</CODE> for the      * <CODE>NthIncludedDayTrigger</CODE>.     * <P>     * Because of the conceptual design of <CODE>NthIncludedDayTrigger</CODE>,     * it is not always possible to decide with certainty that the trigger     * will <I>never</I> fire again. Therefore, it will search for the next 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久久免费一区二区| 亚洲欧洲av在线| 奇米影视一区二区三区小说| 成人免费看视频| 精品久久久三级丝袜| 亚洲chinese男男1069| 99久久精品免费观看| 日韩欧美一区二区视频| 日韩影院精彩在线| 日韩写真欧美这视频| 国内精品伊人久久久久av一坑 | 亚洲777理论| 日本精品裸体写真集在线观看| 亚洲伦在线观看| 在线视频一区二区三区| 亚洲国产视频直播| 666欧美在线视频| 日韩黄色一级片| 精品三级在线观看| 国产一区福利在线| 国产日产精品一区| av亚洲精华国产精华精| 国产精品大尺度| 欧美嫩在线观看| 蜜臀av性久久久久蜜臀aⅴ| 欧美成人一区二区| av资源站一区| 日本午夜一本久久久综合| 中文字幕精品在线不卡| 色噜噜狠狠成人中文综合| 青青草原综合久久大伊人精品优势| 日韩免费观看高清完整版| 成人av片在线观看| 亚洲成人精品一区| 久久久精品影视| 色网综合在线观看| 九九国产精品视频| 亚洲欧美日韩在线| 日韩免费高清视频| 欧美在线观看视频在线| 国产精品一品二品| 秋霞成人午夜伦在线观看| 亚洲品质自拍视频网站| 精品少妇一区二区三区视频免付费| 91在线无精精品入口| 免费成人av资源网| 亚洲国产精品一区二区www| 国产精品美女视频| 精品国产乱码久久久久久浪潮| 色噜噜狠狠色综合欧洲selulu| 久久亚洲精华国产精华液| 欧美精品久久久久久久久老牛影院| 国产精品18久久久久| 天天综合色天天综合| 亚洲伦理在线精品| 综合久久国产九一剧情麻豆| 久久久久久久性| 欧美成人国产一区二区| 91农村精品一区二区在线| 肉肉av福利一精品导航| 亚洲成a天堂v人片| 亚洲成av人片在线| 日本不卡视频在线| 精品一区二区三区香蕉蜜桃| 国产一区二区按摩在线观看| 国产成人在线视频网站| 91在线观看成人| 欧美午夜在线观看| 欧美成人精品3d动漫h| 国产欧美精品日韩区二区麻豆天美| 久久综合九色综合欧美就去吻| 国产亚洲欧美在线| 亚洲精品水蜜桃| 另类中文字幕网| 色婷婷av一区二区三区大白胸| 欧美区视频在线观看| 成人动漫av在线| 91黄色免费看| 欧美日韩高清一区| 欧美国产一区视频在线观看| 亚洲成av人片| 丁香六月久久综合狠狠色| 色婷婷av一区二区三区软件| 日韩三级在线免费观看| 国产精品欧美久久久久一区二区 | 欧美在线制服丝袜| 欧美电视剧在线观看完整版| 中文字幕日韩一区二区| 国产一区二区精品久久91| 欧美一卡在线观看| 亚洲一区二区三区激情| 大桥未久av一区二区三区中文| 99在线热播精品免费| 日韩美女一区二区三区四区| 悠悠色在线精品| aaa亚洲精品| 国产精品女同一区二区三区| www.爱久久.com| 国产精品毛片久久久久久久| 久久激情五月激情| 欧美大片顶级少妇| 久久99精品国产麻豆婷婷洗澡| 欧美成人乱码一区二区三区| 国产成人自拍在线| 欧美韩国日本不卡| 激情综合网激情| 国产网站一区二区| 国产成人av电影在线观看| 中文字幕免费不卡在线| 日本韩国精品在线| 亚洲午夜国产一区99re久久| 91伊人久久大香线蕉| 国产精品久久久久久久久免费桃花| 热久久久久久久| 日韩一区二区三| 国精产品一区一区三区mba视频 | 国产一区二区三区观看| 国产日韩欧美麻豆| 欧美三级日韩在线| 国产成人免费视| 视频一区在线视频| 国产视频一区在线播放| 91日韩精品一区| 亚洲自拍偷拍九九九| 精品免费日韩av| 欧美亚洲动漫另类| 韩国av一区二区三区| 日本一区二区视频在线观看| 97久久精品人人澡人人爽| 日韩综合小视频| 亚洲女同ⅹxx女同tv| 欧美精品一区二区久久久| 欧美日韩一区 二区 三区 久久精品 | 亚洲高清免费视频| 亚洲免费在线看| 国产精品毛片无遮挡高清| 在线综合亚洲欧美在线视频 | 成人免费在线观看入口| 国产亚洲精品精华液| 欧美日韩综合色| caoporen国产精品视频| 国产69精品久久777的优势| 欧美a级理论片| 亚洲美女视频在线| 18欧美亚洲精品| 国产精品免费网站在线观看| 久久蜜臀精品av| 久久久91精品国产一区二区三区| 在线播放国产精品二区一二区四区 | 欧美色图激情小说| 色先锋资源久久综合| 91麻豆产精品久久久久久| 99久久久国产精品免费蜜臀| 丁香六月综合激情| 成人免费视频网站在线观看| 国产精品白丝jk黑袜喷水| 丁香桃色午夜亚洲一区二区三区| 北条麻妃国产九九精品视频| 成人午夜av在线| 大白屁股一区二区视频| 成人国产精品免费观看| 一本一道久久a久久精品综合蜜臀| 成人免费看片app下载| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品国产三级国产普通话99| 亚洲一区二区在线免费看| 日韩精彩视频在线观看| 美女高潮久久久| 亚洲综合成人在线视频| 午夜精品福利在线| 国产精品一级片在线观看| 一本到不卡免费一区二区| 欧美军同video69gay| 欧美成人午夜电影| 日韩一区有码在线| 日本网站在线观看一区二区三区 | 亚洲欧美日韩中文播放 | 中文字幕在线不卡一区二区三区| 亚洲成va人在线观看| 99久久精品国产一区二区三区| 欧美高清性hdvideosex| 国产欧美日韩另类视频免费观看| 香蕉加勒比综合久久| 成人动漫精品一区二区| 26uuu精品一区二区| 亚洲成人在线网站| 色哟哟国产精品免费观看| 欧美激情艳妇裸体舞| 国产精品99久久久久久似苏梦涵 | 日韩一区欧美二区| 色天天综合色天天久久| 亚洲国产精品av| 蜜臀a∨国产成人精品| 欧美午夜精品一区二区三区| 最新久久zyz资源站| 成人av资源下载| 中文av一区二区| 国产精品亚洲第一区在线暖暖韩国| 日韩欧美美女一区二区三区| 欧美aaaaaa午夜精品|