/*
Copyright 2003-2012 Dmitry Barashev, GanttProject Team
This file is part of GanttProject, an opensource project management tool.
GanttProject 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.
GanttProject 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 GanttProject. If not, see <http://www.gnu.org/licenses/>.
*/
package biz.ganttproject.core.time.impl;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import biz.ganttproject.core.time.DateFrameable;
import biz.ganttproject.core.time.TimeDuration;
import biz.ganttproject.core.time.TimeUnit;
import biz.ganttproject.core.time.TimeUnitFunctionOfDate;
import biz.ganttproject.core.time.TimeUnitGraph;
import biz.ganttproject.core.time.TimeUnitPair;
import biz.ganttproject.core.time.TimeUnitStack;
/**
* Created by IntelliJ IDEA.
*
* @author bard Date: 01.02.2004
*/
public class GregorianTimeUnitStack implements TimeUnitStack {
private static TimeUnitGraph ourGraph = new TimeUnitGraph();
private static final DateFrameable DAY_FRAMER = new FramerImpl(Calendar.DATE);
private static final DateFrameable MONTH_FRAMER = new FramerImpl(Calendar.MONTH);
private static final DateFrameable HOUR_FRAMER = new FramerImpl(Calendar.HOUR);
private static final DateFrameable MINUTE_FRAMER = new FramerImpl(Calendar.MINUTE);
public static final TimeUnit SECOND;// =
// ourGraph.createAtomTimeUnit("second");
public static final TimeUnit MINUTE;// = ourGraph.createTimeUnit("minute",
// SECOND, 60);
public static final TimeUnit HOUR;// = ourGraph.createTimeUnit("hour", MINUTE,
// 60);
public static final TimeUnit DAY;
public static final TimeUnitFunctionOfDate MONTH;
private static final HashMap<TimeUnit, Integer> ourUnit2field = new HashMap<TimeUnit, Integer>();
static {
SECOND = ourGraph.createAtomTimeUnit("second");
MINUTE = ourGraph.createDateFrameableTimeUnit("minute", SECOND, 60, MINUTE_FRAMER);
HOUR = ourGraph.createDateFrameableTimeUnit("hour", MINUTE, 60, HOUR_FRAMER);
DAY = ourGraph.createDateFrameableTimeUnit("day", HOUR, 24, DAY_FRAMER);
MONTH = ourGraph.createTimeUnitFunctionOfDate("month", DAY, MONTH_FRAMER);
ourUnit2field.put(DAY, new Integer(Calendar.DAY_OF_MONTH));
ourUnit2field.put(HOUR, new Integer(Calendar.HOUR_OF_DAY));
ourUnit2field.put(MINUTE, new Integer(Calendar.MINUTE));
ourUnit2field.put(SECOND, new Integer(Calendar.SECOND));
}
public GregorianTimeUnitStack() {
}
@Override
public TimeUnit getDefaultTimeUnit() {
return DAY;
}
@Override
public TimeUnitPair[] getTimeUnitPairs() {
return null;
}
@Override
public String getName() {
return null;
}
@Override
public DateFormat[] getDateFormats() {
// TODO Auto-generated method stub
return null;
}
@Override
public DateFormat getTimeFormat() {
return null;
}
@Override
public String encode(TimeUnit timeUnit) {
// TODO Auto-generated method stub
return null;
}
@Override
public TimeDuration createDuration(TimeUnit timeUnit, Date startDate, Date endDate) {
return null; // To change body of implemented methods use File | Settings |
// File Templates.
}
@Override
public TimeDuration createDuration(TimeUnit timeUnit, int count) {
// TODO Auto-generated method stub
return null;
}
@Override
public TimeUnit findTimeUnit(String code) {
// TODO Auto-generated method stub
return null;
}
@Override
public TimeDuration parseDuration(String duration) throws ParseException {
// TODO Auto-generated method stub
return null;
}
}