calendarbundle.java

来自「定时器开源项目, 相对于 jcrontab, Quartz 算是更完整的一个项目」· Java 代码 · 共 138 行

JAVA
138
字号
/* * Copyright Third Eye Consulting, Inc. (c) 2004 *  * All rights reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: 1. * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. 2. Redistributions in * binary form must reproduce the above copyright notice, this list of * conditions and the following disclaimer in the documentation and/or other * materials provided with the distribution. *  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *   */package org.quartz.xml;import org.quartz.Calendar;/** * Wraps a <code>Calendar</code>. *  * @author <a href="mailto:bonhamcm@thirdeyeconsulting.com">Chris Bonham</a> */public class CalendarBundle implements Calendar {    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Data members.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */         protected String calendarName;    protected String className;        protected Calendar calendar;        protected boolean replace;    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Constructors.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    public CalendarBundle() {    }    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Interface.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    public String getCalendarName() {        return calendarName;    }    public void setCalendarName(String calendarName) {        this.calendarName = calendarName;    }        public String getClassName() {        return className;    }    public void setClassName(String className)        throws ClassNotFoundException, InstantiationException, IllegalAccessException {        this.className = className;        createCalendar();    }    public Calendar getCalendar() {        return calendar;    }    public void setCalendar(Calendar calendar) {        this.calendar = calendar;    }        public boolean getReplace() {        return replace;    }        public void setReplace(boolean replace) {        this.replace = replace;    }        public Calendar getBaseCalendar() {        return calendar.getBaseCalendar();    }        public void setBaseCalendar(Calendar baseCalendar) {        if (baseCalendar instanceof CalendarBundle) {            baseCalendar = ((CalendarBundle)baseCalendar).getCalendar();        }        calendar.setBaseCalendar(baseCalendar);    }        public String getDescription() {        return calendar.getDescription();    }    public void setDescription(String description) {        calendar.setDescription(description);    }        public boolean isTimeIncluded(long timeStamp) {        return calendar.isTimeIncluded(timeStamp);    }    public long getNextIncludedTime(long timeStamp) {        return calendar.getNextIncludedTime(timeStamp);    }        protected void createCalendar()        throws ClassNotFoundException, InstantiationException, IllegalAccessException {        Class clazz = Thread.currentThread().getContextClassLoader().loadClass(getClassName());        setCalendar((Calendar)clazz.newInstance());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?