17,17 → 17,24 |
package net.brutex.xservices.ws; |
|
import java.math.BigInteger; |
import java.util.Date; |
import java.util.GregorianCalendar; |
import java.util.List; |
|
import javax.jws.WebMethod; |
import javax.jws.WebParam; |
import javax.jws.WebService; |
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.datatype.XMLGregorianCalendar; |
|
import net.brutex.xservices.types.DateFormatType; |
import net.brutex.xservices.types.DateInfoExtendedType; |
import net.brutex.xservices.types.DateInfoType; |
import net.brutex.xservices.types.DateTimeUnits; |
import net.brutex.xservices.types.TimeZoneType; |
import net.brutex.xservices.util.BrutexNamespaces; |
|
|
import org.apache.cxf.annotations.WSDLDocumentation; |
import org.apache.cxf.annotations.WSDLDocumentationCollection; |
|
45,7 → 52,9 |
public interface DateService { |
|
public static final String SERVICE_NAME = "DateService"; |
|
final String OPERATION_GETDATE = "getDate"; |
final String OPERATION_GETDATEEXTENDED = "getDateExtended"; |
final String OPERATION_GETTIMESTAMP = "getTimestamp"; |
final String OPERATION_GETTIMESTAMP2 = "getTimestamp2"; |
final String OPERATION_GETINTIMEZONE = "getInTimezone"; |
56,7 → 65,7 |
final String OPERATION_DATETIMEDIFF = "dateTimeDiff"; |
final String OPERATION_DATETIMEDIFF2 = "dateTimeDiff2"; |
final String OPERATION_DATEADD = "dateAdd"; |
|
final String OPERATION_GETTIMEZONES = "getTimezones"; |
final String PARAM_TIMEZONE = "timezone"; |
final String PARAM_DATETIME = "datetime"; |
final String PARAM_FORMAT = "format"; |
65,16 → 74,26 |
/** |
* Get current date and time. |
* |
* @param timezone Optional timezone. Defaults to server timezone. |
* @return Current date and time. |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_GETDATE) |
@WSDLDocumentation(value="Get current date and time.") |
public abstract GregorianCalendar getDate( |
@WebParam(name=PARAM_TIMEZONE) String timezone) throws XServicesFault; |
public abstract DateInfoType getDate() |
throws XServicesFault; |
|
/** |
* Get current date and time (extended version). |
* |
* @return Current date and time. |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_GETDATEEXTENDED) |
@WSDLDocumentation(value="Get current date and time in different formats.") |
public abstract DateInfoExtendedType getDateExtended() |
throws XServicesFault; |
|
/** |
* Get milliseconds since 01.01.1970. |
* |
* @return timestamp milliseconds |
102,14 → 121,14 |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_GETINTIMEZONE) |
public abstract GregorianCalendar getInTimezone( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) GregorianCalendar cal, |
public abstract String getInTimezone( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) Date cal, |
@WebParam(name=PARAM_TIMEZONE) @XmlElement(required=true) String timezone) throws XServicesFault; |
|
/** |
* Formats a date with pre-defined patterns. |
* |
* @param cal date time to be formatted |
* @param cal date time to be formatted in ISO8601 |
* @param format Pattern to be used for date formating |
* @return formatted date/time string |
* @throws XServicesFault |
116,9 → 135,12 |
*/ |
@WebMethod(operationName=OPERATION_FORMATDATE) |
public abstract String formatDate( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) GregorianCalendar cal, |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) Date cal, |
@WebParam(name=PARAM_FORMAT) @XmlElement(required=true) DateFormatType format) throws XServicesFault; |
|
@WebMethod(operationName=OPERATION_GETTIMEZONES) |
public abstract List<TimeZoneType> getTimezones() throws XServicesFault; |
|
/** |
* Formats a date with a free form pattern. |
* Uses SimpleDateFormat patterns |
151,7 → 173,7 |
*/ |
@WebMethod(operationName=OPERATION_FORMATDATEADVANCED) |
public abstract String formatDateAdvanced( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) GregorianCalendar cal, |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) Date cal, |
@WebParam(name=PARAM_FORMAT) @XmlElement(required=true) String format) throws XServicesFault; |
|
/** |
164,7 → 186,8 |
* @throws XServicesFault |
*/ |
@WebMethod(operationName=OPERATION_PARSEDATE) |
public abstract GregorianCalendar parseDate( |
@WSDLDocumentation(value="Converts a string into date using pre-defined date formats.") |
public abstract Date parseDate( |
@WebParam(name=PARAM_DATETIME) @XmlElement(required=true) String s, |
@WebParam(name=PARAM_FORMAT) @XmlElement(required=true) DateFormatType format, |
@WebParam(name=PARAM_TIMEZONE) String timezone) throws XServicesFault; |
192,8 → 215,8 |
*/ |
@WebMethod(operationName=OPERATION_DATETIMEDIFF) |
public abstract BigInteger dateTimeDiff( |
@WebParam(name="fromDateTime") @XmlElement(required=true) GregorianCalendar fromCal, |
@WebParam(name="toDateTime") @XmlElement(required=true) GregorianCalendar toCal) throws XServicesFault; |
@WebParam(name="fromDateTime") @XmlElement(required=true) Date fromCal, |
@WebParam(name="toDateTime") @XmlElement(required=true) Date toCal) throws XServicesFault; |
|
/** |
* Fully elapsed units between two dates. |
208,9 → 231,9 |
@WebMethod(operationName=OPERATION_DATETIMEDIFF2) |
@WSDLDocumentation(value="Get elapsed time between to dates.") |
public abstract BigInteger dateTimeDiff2( |
@WebParam(name="fromDateTime") @XmlElement(required=true) GregorianCalendar fromCal, |
@WebParam(name="toDateTime") @XmlElement(required=true) GregorianCalendar toCal, |
@WebParam(name="PARAM_UNIT") DateTimeUnits unit) throws XServicesFault; |
@WebParam(name="fromDateTime") @XmlElement(required=true) Date fromCal, |
@WebParam(name="toDateTime") @XmlElement(required=true) Date toCal, |
@WebParam(name=PARAM_UNIT) DateTimeUnits unit) throws XServicesFault; |
|
/** |
* Add or subtract a time span from a date. |