001/* Copyright (C) 2014 konik.io 002 * 003 * This file is part of the Konik library. 004 * 005 * The Konik library is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * The Konik library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with the Konik library. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package io.konik.jaxb.bindable.unqualified; 020 021import javax.xml.bind.annotation.XmlAccessType; 022import javax.xml.bind.annotation.XmlAccessorType; 023import javax.xml.bind.annotation.XmlAttribute; 024import javax.xml.bind.annotation.XmlElement; 025import javax.xml.bind.annotation.XmlType; 026import javax.xml.bind.annotation.XmlValue; 027 028/** 029 * The bindable DateTime which is converted into ZfDate 030 */ 031@XmlType(name = "DateTimeType", propOrder = { "dateTimeString" }) 032public class DateTime { 033 034 @XmlElement(name = "DateTimeString") 035 final DateTime.DateTimeString dateTimeString; 036 037 DateTime(String formattedDate, String formatCode) { 038 super(); 039 this.dateTimeString = new DateTimeString(formattedDate, formatCode); 040 } 041 042 DateTime() { 043 this.dateTimeString = null; 044 } 045 046 /** 047 * The Class DateTimeString. 048 */ 049 @XmlAccessorType(XmlAccessType.FIELD) 050 @XmlType(name = "", propOrder = { "value" }) 051 static class DateTimeString { 052 053 @XmlValue 054 final String value; 055 056 @XmlAttribute(name = "format") 057 final String format; 058 059 DateTimeString() { 060 this.value = null; 061 this.format = null; 062 } 063 064 DateTimeString(String value, String format) { 065 super(); 066 this.value = value; 067 this.format = format; 068 } 069 070 } 071 072}