/* * file: TimescaleFormat.java * author: Jari Niskala * copyright: (c) Packwood Software 2009 * date: 17/01/2008 */ /* * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation; either version 2.1 of the License, or (at your * option) any later version. * * This library 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 Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ package net.sf.mpxj.mpp; import net.sf.mpxj.MpxjEnum; import net.sf.mpxj.common.EnumHelper; import net.sf.mpxj.common.NumberHelper; /** * Enumeration representing the formats which may be shown on a Gantt chart timescale. */ public enum TimescaleFormat implements MpxjEnum { NONE(35, "None"), // // Years // YEAR_YYYY(0, "2002, 2003, ..."), YEAR_XYY(1, "'02, '03, ..."), YEAR_YY(78, "02, 03, ..."), YEAR_YEAR_START(48, "Year 1, Year 2 ... (From Start)"), YEAR_Y_START(73, "Y1, Y2, Y3, ... (From Start)"), YEAR_1_START(74, "1, 2, 3, 4, ...(From Start)"), YEAR_YEAR_END(49, "Year 2, Year 1 ... (From End)"), YEAR_Y_END(71, "Y3, Y2, Y1, ... (From End)"), YEAR_1_END(72, "4, 3, 2, 1, ... (From End)"), // // Half years // HALFYEAR_1_HALF(123, "1st Half, 2nd Half, ..."), HALFYEAR_HALF_1_YYYY(124, "Half 1, 2002, Half2, 2002, ..."), HALFYEAR_HALF_1(125, "Half 1, Half2, ..."), HALFYEAR_H1_XYY(126, "H1 '02, H2 '02, ..."), HALFYEAR_H1(127, "H1, H2, ..."), HALFYEAR_1(128, "1, 2, ..."), HALFYEAR_1HYY(129, "1H02, 2H02, ..."), HALFYEAR_HALF_1_START(130, "Half 1, Half 2, Half 3, ... (From Start)"), HALFYEAR_H1_START(131, "H1, H2, H3, ... (From Start)"), HALFYEAR_1_START(132, "1, 2, 3, ... (From Start)"), HALFYEAR_HALF_1_END(133, "Half 3, Half 2, Half 1, ... (From End)"), HALFYEAR_H1_END(134, "H3, H2, H1, ... (From End)"), HALFYEAR_1_END(135, "3, 2, 1, ... (From End)"), // // Quarters // QUARTER_1_QUARTER(2, "1st Quarter"), QUARTER_QTR_1_YYYY(3, "Qtr 1, 2002"), QUARTER_QTR_1(5, "Qtr 1, Qtr2, ..."), QUARTER_Q1_XYY(4, "Q1 '02, Q2 '02, ..."), QUARTER_Q1(6, "Q1, Q2, ..."), QUARTER_1(62, "1, 2, ..."), QUARTER_1QYY(51, "1Q02, 2Q02, ..."), QUARTER_QUARTER_1_START(46, "Quarter 1, Quarter 2, ...(From Start)"), QUARTER_Q1_START(65, "Q1, Q2, Q3, Q4, ... (From Start)"), QUARTER_1_START(66, "1, 2, 3, 4, ... (From Start)"), QUARTER_QUARTER_1_END(47, "Quarter 2 Quarter 1, ... (From End)"), QUARTER_Q1_END(63, "Q4, Q3, Q2, Q1, ... (From End)"), QUARTER_1_END(64, "4, 3, 2, 1, (From End)"), // // Months // MONTHS_MMMM_YYYY(7, "January 2002"), MONTHS_MMM_XYY(8, "Jan '02"), MONTHS_MMMM(9, "January"), MONTHS_MMM(10, "Jan, Feb, ..."), MONTHS_M(11, "J, F, ..."), MONTHS_1(57, "1, 2, ..."), MONTHS_1_XYY(85, "1 '02"), MONTHS_1SYY(86, "1/02"), MONTHS_MONTH_1_START(44, "Month 1, Month 2, ... (From Start)"), MONTHS_M1_START(60, "M1, M2, M3, ... (From Start)"), MONTHS_1_START(61, "1, 2, 3, 4, ... (From Start)"), MONTHS_MONTH_1_END(45, "Month 2 Month 1, ... (From End)"), MONTHS_M1_END(58, "M3, M2, M1, ... (From End)"), MONTHS_1_END(59, "4, 3, 2, 1, ... (From End)"), // // Thirds of months // TRIMONTHS_1(136, "1, 11, 21, ..."), TRIMONTHS_B(137, "B, M, E, ..."), TRIMONTHS_BEGINNING(138, "Beginning, Middle, End, ..."), TRIMONTHS_MS1(139, "1/1, 1/11, 1/21, ..."), TRIMONTHS_MSB(140, "1/B, 1/M, 1/E, ..."), TRIMONTHS_MMMM_BEGINNING(141, "January Beginning, January Middle, ..."), TRIMONTHS_MMM_1(142, "Jan 1, Jan 11, Jan 21, ..."), TRIMONTHS_MMM_B(143, "Jan B, Jan M, Jan E, ..."), TRIMONTHS_MMMM_1(144, "January 1, January 11, January 21, ..."), TRIMONTHS_MS1SYY(145, "1/1/02, 1/11/02, 1/21/02, ..."), TRIMONTHS_MSBSYY(146, "1/B/02, 1/M/02, 1/E/02, ..."), TRIMONTHS_MMM_1_X02(147, "Jan 1/02, Jan 11/02, Jan 21/02, ..."), TRIMONTHS_MMM_B_X02(148, "Jan B/02, Jan M/02, Jan E/02, ..."), TRIMONTHS_MMMM_1_YYYY(149, "January 1, 2002, January 11, 2002, ..."), TRIMONTHS_MMMM_BEGINNING_YYYY(150, "January Beginning, ..."), // // Weeks // WEEKS_MMMM_DD_YYYY(12, "January 27, 2007"), WEEKS_MMM_DD_XYY(13, "January 27, '02"), WEEKS_MMMM_DD(14, "January 27"), WEEKS_MMM_DD(15, "Jan 27, Feb 3, ..."), WEEKS_MDD(89, "J 27, F 3, ..."), WEEKS_MSDDSYY(16, "1/27/02, 2/3/02, ..."), WEEKS_MSDD(17, "1/27, 2/3, ..."), WEEKS_DD(87, "27, 3, ..."), WEEKS_DDD_DD(88, "Sun 27"), WEEKS_DDD_MSDDSYY(100, "Sun 1/27/02"), WEEKS_DDD_MMMM_DD_XYY(102, "Sun January 27, '02"), WEEKS_DDD_MMM_DD_XYY(101, "Sun Jan 27, '02"), WEEKS_DDD_MMMM_DD(96, "Sun January 27"), WEEKS_DDD_MMM_DD(93, "Su Jan 27"), WEEKS_MMM_W(94, "S Jan 27"), WEEKS_D_MMM_DD(95, "Sun J 27"), WEEKS_DDD_M_DD(97, "Su J 27"), WEEKS_DD_M_DD(98, "S J 27"), WEEKS_D_M_DD(99, "Sun 1/27"), WEEKS_DDD_MSDD(90, "Su 1/27"), WEEKS_DD_MSDD(91, "S 1/27"), WEEKS_D_MSDD(92, "1, 2, ...52, 1, 2"), WEEKS_W(50, "Sun 1, ..., Sun 52, Sun 1,..."), WEEKS_DDD_W(103, "1 1, ..., 7 1, 1 2, ..., 7 52"), WEEKS_D_W(104, "Week 1, Week 2, ... (From Start)"), WEEKS_WEEK_1_START(42, "W1, W2, ... (From start)"), WEEKS_W1_START(69, "1, 2, 3, 4, ... (From start)"), WEEKS_1_START(70, "Week 2, Week 1, ... (From end)"), WEEKS_WEEK_1_END(43, "W4, W3, W2, W1, ... (From end)"), WEEKS_W1_END(67, "4, 3, 2, 1, ... (From end)"), WEEKS_1_END(68, "Mon Jan 28, '02"), // // Days // DAYS_DDD_MMM_DD_XYY(22, "Mon January 28"), DAYS_DDD_MMMM_DD(111, "Mon Jan 28"), DAYS_DDD_MMM_DD(23, "Mon J 28"), DAYS_DDD_M_DD(112, "Mo J 28"), DAYS_DD_M_DD(113, "M J 28"), DAYS_D_M_DD(114, "Mon 1/28"), DAYS_DDD_MSDD(108, "Mo 1/28"), DAYS_DD_MSDD(109, "M 1/28"), DAYS_D_MSDD(110, "Mon 28"), DAYS_DDD_DD(105, "Mo 28"), DAYS_DD_DD(106, "M 28"), DAYS_D_DD(107, "M28"), DAYS_DXDD(121, "Jan 28, '02"), DAYS_DD_MMM(25, "28 Jan"), DAYS_DDD_DD_XYY(24, "Jan 28, Jan 29, ... "), DAYS_M_DD(115, "J28, J29, ... "), DAYS_DDDD(18, "Sunday, Monday, ..."), DAYS_DDD(19, "Sun, Mon, Tue, ..."), DAYS_DD(119, "Su, Mo, Tu, ..."), DAYS_D(20, "S, M, T, ..."), DAYS_MSDDSYY(26, "1/28/02, 1/29/02, ... "), DAYS_DDD_MSDDSYY(52, "Mon 1/28/02, Tue 1/29/02, ... "), DAYS_MSDD(27, "1/28, 1/29, ... "), DAYS_1(21, "1, 2, ..."), DAYS_128_YYYY(117, "128 2002 (Day of Year)"), DAYS_128_XYY(116, "128 '02 (Day of Year)"), DAYS_128(118, "128 (Day of Year)"), DAYS_DAY_1_START(40, "Day 1, Day 2, ... (From Start)"), DAYS_D1_START(55, "D1, D2, D3, ... (From start)"), DAYS_1_START(56, "1, 2, 3, 4, ... (From start)"), DAYS_DAY_1_END(41, "Day 2, Day 1, ... (From end)"), DAYS_D1_END(53, "D3, D2, D1, ... (From end)"), DAYS_1_END(54, "4, 3, 2, 1, ... (From start)"), // // Hours // HOURS_DDD_MMM_DD_HH_AM(28, "Mon Jan 28, 11 AM"), HOURS_MMM_DD_HH_AM(29, "Jan 28, 11 AM"), HOURS_MSDD_HH_AM(120, "1/28, 11 AM"), HOURS_HHMM_AM(30, "11:00 AM, 12:00 PM, ... "), HOURS_HH_AM(31, "11 AM, 12 PM, ... "), HOURS_HH(32, "11, 12, ... "), HOURS_HOUR_1_START(38, "Hour 1, Hour 2, ... (From Start)"), HOURS_H1_START(78, "H1, H2, H3, ... (From start)"), HOURS_1_START(79, "1, 2, 3, 4, ... (From start)"), HOURS_HOUR_1_END(39, "Hour 2, Hour 1, ... (From end)"), HOURS_H1_END(76, "H3, H2, H1, ... (From end)"), HOURS_1_END(77, "4, 3, 2, 1, ... (From start)"), // // Minutes // MINUTES_HHMM_AM(33, "1:45 PM, 1:46 PM, ... "), MINUTES_MM(34, "45, 46, 47, ... "), MINUTES_MINUTE_1_START(36, "Minute 1, Minute 2, ... (From Start)"), MINUTES_M1_START(82, "M1, M2, M3, ... (From start)"), MINUTES_1_START(83, "1, 2, 3, 4, ... (From start)"), MINUTES_MINUTE_1_END(37, "Minute 2, Minute 1, ... (From end)"), MINUTES_M1_END(80, "M3, M2, M1, ... (From end)"), MINUTES_1_END(81, "4, 3, 2, 1, ... (From start)"); /** * Private constructor. * * @param type int version of the enum * @param name enum name */ private TimescaleFormat(int type, String name) { m_value = type; m_name = name; } /** * Retrieve an instance of the enum based on its int value. * * @param type int type * @return enum instance */ public static TimescaleFormat getInstance(int type) { if (type < 0 || type >= TYPE_VALUES.length) { type = NONE.getValue(); } return (TYPE_VALUES[type]); } /** * Retrieve an instance of the enum based on its int value. * * @param type int type * @return enum instance */ public static TimescaleFormat getInstance(Number type) { int value; if (type == null) { value = -1; } else { value = NumberHelper.getInt(type); } return (getInstance(value)); } /** * Accessor method used to retrieve the numeric representation of the enum. * * @return int representation of the enum */ @Override public int getValue() { return (m_value); } /** * Retrieve the name of this alignment. Note that this is not * localised. * * @return name of this alignment type */ public String getName() { return (m_name); } /** * Generate a string representation of this instance. * * @return string representation of this instance */ @Override public String toString() { return (getName()); } /** * Array mapping int types to enums. */ private static final TimescaleFormat[] TYPE_VALUES = EnumHelper.createTypeArray(TimescaleFormat.class, 3); /** * Internal representation of the enum int type. */ private int m_value; private String m_name; }