/*
* Lokomo OneCMDB - An Open Source Software for Configuration
* Management of Datacenter Resources
*
* Copyright (C) 2006 Lokomo Systems AB
*
* This program 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 2 of the License, or (at
* your option) any later version.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* Lokomo Systems AB can be contacted via e-mail: info@lokomo.com or via
* paper mail: Lokomo Systems AB, Sv�rdv�gen 27, SE-182 33
* Danderyd, Sweden.
*
*/
package org.onecmdb.core.internal.model.primitivetypes;
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.XMLGregorianCalendar;
public class DateTimeType extends DateAndTimeType {
public String getUniqueName() {
return ("xs:dateTime");
}
/**
* @see XMLGregorianCalendar#getYear()()
*/
public int getYear() {
XMLGregorianCalendar cal = getCalendar();
return cal.getYear();
}
public void setYear(int year) {
XMLGregorianCalendar cal = getCalendar();
cal.setYear(year);
}
/**
* @see XMLGregorianCalendar#getMonth()()
*/
public int getMonth() {
XMLGregorianCalendar cal = getCalendar();
return cal.getMonth();
}
public void setMonth(int month) {
XMLGregorianCalendar cal = getCalendar();
cal.setMonth(month);
}
/**
* @see XMLGregorianCalendar#getDay()
*/
public int getDay() {
XMLGregorianCalendar cal = getCalendar();
return cal.getDay();
}
public void setDay(int day) {
XMLGregorianCalendar cal = getCalendar();
cal.setDay(day);
}
public int getHour() {
XMLGregorianCalendar cal = getCalendar();
return cal.getHour();
}
public void setHour(int hour) {
XMLGregorianCalendar cal = getCalendar();
cal.setHour(hour);
}
public int getMinute() {
XMLGregorianCalendar cal = getCalendar();
return cal != null ? cal.getMinute() : 0;
}
public void setMinute(int minute) {
XMLGregorianCalendar cal = getCalendar();
cal.setMinute(minute);
}
public int getSecond() {
XMLGregorianCalendar time = getCalendar();
return time != null ? time.getSecond() : 0;
}
public void setSecond(int second) {
XMLGregorianCalendar cal = getCalendar();
cal.setSecond(second);
}
public int getMillisecond() {
XMLGregorianCalendar time = getCalendar();
return time != null ? time.getMillisecond() : 0;
}
public void setMillisecond(int millisecond) {
XMLGregorianCalendar cal = getCalendar();
cal.setMillisecond(millisecond);
}
public int getTimezone() {
XMLGregorianCalendar time = getCalendar();
return time != null ? time.getTimezone() : 0;
}
/**
* Set the number of minutes
* @param timezone
*/
public void setTimezone(int timezone) {
XMLGregorianCalendar cal = getCalendar();
cal.setTimezone(timezone);
}
public static String parseDate(Date d) {
DateTimeType t = new DateTimeType();
XMLGregorianCalendar xmlCal = t.getCalendar();
Calendar c = Calendar.getInstance();
c.setTime(d);
xmlCal.setYear(c.get(Calendar.YEAR));
xmlCal.setMonth(c.get(Calendar.MONTH)+1);
xmlCal.setDay(c.get(Calendar.DAY_OF_MONTH));
xmlCal.setHour(c.get(Calendar.HOUR_OF_DAY));
xmlCal.setMinute(c.get(Calendar.MINUTE));
xmlCal.setSecond(c.get(Calendar.SECOND));
xmlCal.setMillisecond(c.get(Calendar.MILLISECOND));
String xmlDateTime = xmlCal.toXMLFormat();
return(xmlDateTime);
}
}