org.jtotus.common.DayisHoliday.java Source code

Java tutorial

Introduction

Here is the source code for org.jtotus.common.DayisHoliday.java

Source

/*
This file is part of jTotus.
    
jTotus is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
jTotus is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with jTotus.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.jtotus.common;

import java.util.Calendar;
import org.joda.time.DateTime;
import org.joda.time.DateTimeConstants;

/**
 *
 * @author Evgeni Kappinen
 */
public class DayisHoliday {
    private static final int[] days = { 1012010, 6012010, 2042010, 5042010, 13052010, 6122010, 25062010, 10042009,
            13042009, 1052009, 21052009, 19062009, 24122009, 25122009, 31122009, 24122010, 31122010, 6012011,
            22042011, 25042011, 26122008, 25122008, 1012009, 6012009, 24122008, 31122008, 25062011, 2062011,
            24062011 };

    public static boolean isHoliday(Calendar date) {

        if (date == null) {
            return false;
        }

        if (date.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
                || date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
            return true;
        }

        int toSearch = date.get(Calendar.DATE) * 1000000 + (date.get(Calendar.MONTH) + 1) * 10000
                + date.get(Calendar.YEAR);
        //System.out.printf("To search:%d == %d:%d:%d\n", toSearch, date.get(Calendar.DATE), date.get(Calendar.MONTH)+1, date.get(Calendar.YEAR));
        for (int i = 0; i < days.length; i++) {
            if (days[i] == toSearch) {
                return true;
            }
        }
        return false;
    }

    public static boolean isHoliday(DateTime date) {

        if (date == null || date.getDayOfWeek() == DateTimeConstants.SATURDAY
                || date.getDayOfWeek() == DateTimeConstants.SUNDAY) {
            return true;
        }

        //int toSearch =  date.get(Calendar.DATE)*1000000+(date.get(Calendar.MONTH)+1)*10000+date.get(Calendar.YEAR);
        int toSearch = date.getDayOfMonth() * 1000000 + date.getMonthOfYear() * 10000 + date.getYear();
        //System.out.printf("To search:%d == %d:%d:%d\n", toSearch, date.get(Calendar.DATE), date.get(Calendar.MONTH)+1, date.get(Calendar.YEAR));
        for (int day : days) {
            if (day == toSearch) {
                return true;
            }
        }
        return false;
    }
}