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    
024    package microsoft.exchange.webservices.data.core.enumeration.property.time;
025    
026    import 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     */
035    public 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    }