001/*
002 * The MIT License
003 * Copyright (c) 2012 Microsoft Corporation
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023
024package microsoft.exchange.webservices.data.core.enumeration.property.time;
025
026import java.util.Calendar;
027
028/**
029 * Specifies the day of the week. For the standard days of the week (Sunday,
030 * Monday...) the DayOfTheWeek enum value is the same as the System.DayOfWeek
031 * enum type. These values can be safely cast between the two enum types. The
032 * special days of the week (Day, Weekday and WeekendDay) are used for monthly
033 * and yearly recurrences and cannot be cast to System.DayOfWeek values.
034 */
035public enum DayOfTheWeek {
036
037  // Sunday
038  /**
039   * The Sunday.
040   */
041  Sunday(Calendar.SUNDAY),
042
043  // Monday
044  /**
045   * The Monday.
046   */
047  Monday(Calendar.MONDAY),
048
049  // Tuesday
050  /**
051   * The Tuesday.
052   */
053  Tuesday(Calendar.TUESDAY),
054
055  // Wednesday
056  /**
057   * The Wednesday.
058   */
059  Wednesday(Calendar.WEDNESDAY),
060
061  // Thursday
062  /**
063   * The Thursday.
064   */
065  Thursday(Calendar.THURSDAY),
066
067  // Friday
068  /**
069   * The Friday.
070   */
071  Friday(Calendar.FRIDAY),
072
073  // Saturday
074  /**
075   * The Saturday.
076   */
077  Saturday(Calendar.SATURDAY),
078
079  // Any day of the week
080  /**
081   * The Day.
082   */
083  Day(),
084
085  // Any day of the usual business week (Monday-Friday)
086  /**
087   * The Weekday.
088   */
089  Weekday(),
090
091  // Any weekend day (Saturday or Sunday)
092  /**
093   * The Weekend day.
094   */
095  WeekendDay;
096
097  /**
098   * The day of week.
099   */
100  private int dayOfWeek = 0;
101
102  /**
103   * Instantiates a new day of the week.
104   *
105   * @param dayOfWeek the day of week
106   */
107  DayOfTheWeek(int dayOfWeek) {
108    this.dayOfWeek = dayOfWeek;
109  }
110
111  /**
112   * Instantiates a new day of the week.
113   */
114  DayOfTheWeek() {
115
116  }
117}