0,0 → 1,96 |
/* |
* Copyright 2012 Brian Rosenberger (Brutex Network) |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
* You may obtain a copy of the License at |
* |
* http://www.apache.org/licenses/LICENSE-2.0 |
* |
* Unless required by applicable law or agreed to in writing, software |
* distributed under the License is distributed on an "AS IS" BASIS, |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
* See the License for the specific language governing permissions and |
* limitations under the License. |
*/ |
package net.brutex.xservices.types; |
|
import java.text.SimpleDateFormat; |
import java.util.Date; |
import java.util.GregorianCalendar; |
import java.util.TimeZone; |
|
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.bind.annotation.XmlType; |
|
import net.brutex.xservices.util.BrutexNamespaces; |
|
|
|
|
/** |
* Date object representation with different formats |
* |
* @author Brian Rosenberger, bru@brutex.de |
*/ |
@XmlType(name=DateInfoType.XML_NAME, namespace=BrutexNamespaces.WS_XSERVICES, |
propOrder={"isoDate","rfcDate", "millis"}) |
public class DateInfoType { |
|
public static final String XML_NAME="DateInfoType"; |
private final GregorianCalendar date; |
private final TimeZone zone; |
|
/** |
* Create a new DateInfoType |
* @param date date/time |
*/ |
public DateInfoType(GregorianCalendar date, TimeZone zone) { |
this.date = date; |
this.zone = zone; |
} |
|
/** |
* Create a new DateInfoType with current date/time |
*/ |
public DateInfoType() { |
this.zone = TimeZone.getDefault(); |
this.date = new GregorianCalendar(zone); |
} |
|
/** |
* @return milliseconds since 01.01.1970 |
*/ |
@XmlElement(name="timestamp") |
public long getMillis() { |
return date.getTimeInMillis(); |
} |
|
|
/** |
* Get date formated according to ISO8601 (done by jaxb->xsd:datetime conversion) |
* @return date |
*/ |
@XmlElement(name="iso8601date") |
public Date getIsoDate() { |
//String format = DateFormatType.ISO8601.format(); |
//SimpleDateFormat f = new SimpleDateFormat(format); |
//String text = f.format(date.getTime()); |
//Fix missing colon in java timezone |
//return text.substring(0, 22) + ":" + text.substring(22); |
return date.getTime(); |
} |
|
/** |
* Get date formated according to RFC822 (also java standard) |
* @return date string |
*/ |
@XmlElement(name="rfc822date") |
public String getRfcDate() { |
return DateFormatType.RFC822.format(date.getTime(), null, null); |
|
} |
|
|
|
} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |