Package org.springframework.format.datetime.joda

Source Code of org.springframework.format.datetime.joda.JodaTimeFormattingTests$JodaTimeBean

/*
* Copyright 2002-2013 the original author or authors.
*
* 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 org.springframework.format.datetime.joda;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.Instant;
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.LocalTime;
import org.joda.time.MutableDateTime;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import org.springframework.beans.MutablePropertyValues;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;
import org.springframework.format.support.FormattingConversionService;
import org.springframework.validation.DataBinder;

import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;

/**
* @author Keith Donald
* @author Juergen Hoeller
* @author Phillip Webb
*/
public class JodaTimeFormattingTests {

  private FormattingConversionService conversionService;

  private DataBinder binder;

  @Before
  public void setUp() {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    setUp(registrar);
  }

  private void setUp(JodaTimeFormatterRegistrar registrar) {
    conversionService = new FormattingConversionService();
    DefaultConversionService.addDefaultConverters(conversionService);

    registrar.registerFormatters(conversionService);

    JodaTimeBean bean = new JodaTimeBean();
    bean.getChildren().add(new JodaTimeBean());
    binder = new DataBinder(bean);
    binder.setConversionService(conversionService);

    LocaleContextHolder.setLocale(Locale.US);
    JodaTimeContext context = new JodaTimeContext();
    context.setTimeZone(DateTimeZone.forID("-05:00"));
    JodaTimeContextHolder.setJodaTimeContext(context);
  }

  @After
  public void tearDown() {
    LocaleContextHolder.setLocale(null);
    JodaTimeContextHolder.setJodaTimeContext(null);
  }

  @Test
  public void testJodaTimePatternsForStyle() {
    System.out.println(org.joda.time.format.DateTimeFormat.patternForStyle("SS", LocaleContextHolder.getLocale()));
    System.out.println(org.joda.time.format.DateTimeFormat.patternForStyle("MM", LocaleContextHolder.getLocale()));
    System.out.println(org.joda.time.format.DateTimeFormat.patternForStyle("LL", LocaleContextHolder.getLocale()));
    System.out.println(org.joda.time.format.DateTimeFormat.patternForStyle("FF", LocaleContextHolder.getLocale()));
  }

  @Test
  public void testBindLocalDate() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDate", "10/31/09");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09", binder.getBindingResult().getFieldValue("localDate"));
  }

  @Test
  public void testBindLocalDateWithSpecificStyle() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setDateStyle("L");
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDate", "October 31, 2009");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("October 31, 2009", binder.getBindingResult().getFieldValue("localDate"));
  }

  @Test
  public void testBindLocalDateWithSpecificFormatter() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setDateFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd"));
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDate", "20091031");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("20091031", binder.getBindingResult().getFieldValue("localDate"));
  }

  @Test
  public void testBindLocalDateArray() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDate", new String[]{"10/31/09"});
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
  }

  @Test
  public void testBindLocalDateAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateAnnotated", "Oct 31, 2009");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009", binder.getBindingResult().getFieldValue("localDateAnnotated"));
  }

  @Test
  public void testBindLocalDateAnnotatedWithError() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateAnnotated", "Oct 031, 2009");
    binder.bind(propertyValues);
    assertEquals(1, binder.getBindingResult().getFieldErrorCount("localDateAnnotated"));
    assertEquals("Oct 031, 2009", binder.getBindingResult().getFieldValue("localDateAnnotated"));
  }

  @Test
  public void testBindNestedLocalDateAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("children[0].localDateAnnotated", "Oct 31, 2009");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009", binder.getBindingResult().getFieldValue("children[0].localDateAnnotated"));
  }

  @Test
  public void testBindLocalDateAnnotatedWithDirectFieldAccess() {
    binder.initDirectFieldAccess();
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateAnnotated", "Oct 31, 2009");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009", binder.getBindingResult().getFieldValue("localDateAnnotated"));
  }

  @Test
  public void testBindLocalDateAnnotatedWithDirectFieldAccessAndError() {
    binder.initDirectFieldAccess();
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateAnnotated", "Oct 031, 2009");
    binder.bind(propertyValues);
    assertEquals(1, binder.getBindingResult().getFieldErrorCount("localDateAnnotated"));
    assertEquals("Oct 031, 2009", binder.getBindingResult().getFieldValue("localDateAnnotated"));
  }

  @Test
  public void testBindLocalTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localTime", "12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("12:00 PM", binder.getBindingResult().getFieldValue("localTime"));
  }

  @Test
  public void testBindLocalTimeWithSpecificStyle() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setTimeStyle("M");
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localTime", "12:00:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("12:00:00 PM", binder.getBindingResult().getFieldValue("localTime"));
  }

  @Test
  public void testBindLocalTimeWithSpecificFormatter() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("HHmmss"));
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localTime", "130000");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("130000", binder.getBindingResult().getFieldValue("localTime"));
  }

  @Test
  public void testBindLocalTimeAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localTimeAnnotated", "12:00:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("12:00:00 PM", binder.getBindingResult().getFieldValue("localTimeAnnotated"));
  }

  @Test
  public void testBindLocalDateTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateTime", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("localDateTime"));
  }

  @Test
  public void testBindLocalDateTimeAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateTimeAnnotated", "Oct 31, 2009 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009 12:00 PM", binder.getBindingResult().getFieldValue("localDateTimeAnnotated"));
  }

  @Test
  public void testBindDateTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTime", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("dateTime"));
  }

  @Test
  public void testBindDateTimeWithSpecificStyle() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setDateTimeStyle("MM");
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("localDateTime", "Oct 31, 2009 12:00:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009 12:00:00 PM", binder.getBindingResult().getFieldValue("localDateTime"));
  }

  @Test
  public void testBindDateTimeISO() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setUseIsoFormat(true);
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTime", "2009-10-31T12:00:00.000Z");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("2009-10-31T07:00:00.000-05:00", binder.getBindingResult().getFieldValue("dateTime"));
  }

  @Test
  public void testBindDateTimeWithSpecificFormatter() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMddHHmmss"));
    setUp(registrar);
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTime", "20091031130000");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("20091031130000", binder.getBindingResult().getFieldValue("dateTime"));
  }

  @Test
  public void testBindDateTimeAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTimeAnnotated", "Oct 31, 2009 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("Oct 31, 2009 12:00 PM", binder.getBindingResult().getFieldValue("dateTimeAnnotated"));
  }

  @Test
  public void testBindDateTimeAnnotatedPattern() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTimeAnnotatedPattern", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("dateTimeAnnotatedPattern"));
  }

  @Test
  public void testBindDateTimeAnnotatedDefault() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateTimeAnnotatedDefault", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("dateTimeAnnotatedDefault"));
  }

  @Test
  public void testBindDate() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("date", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("date"));
  }

  @Test
  public void testBindDateWithErrorAvoidingDateConstructor() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("date", "Sat, 12 Aug 1995 13:30:00 GMT");
    binder.bind(propertyValues);
    assertEquals(1, binder.getBindingResult().getErrorCount());
    assertEquals("Sat, 12 Aug 1995 13:30:00 GMT", binder.getBindingResult().getFieldValue("date"));
  }

  @Test
  public void testBindDateWithoutErrorFallingBackToDateConstructor() {
    DataBinder binder = new DataBinder(new JodaTimeBean());
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("date", "Sat, 12 Aug 1995 13:30:00 GMT");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
  }

  @Test
  public void testBindDateAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("dateAnnotated", "10/31/09");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09", binder.getBindingResult().getFieldValue("dateAnnotated"));
  }

  @Test
  public void testBindCalendar() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("calendar", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("calendar"));
  }

  @Test
  public void testBindCalendarAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("calendarAnnotated", "10/31/09");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09", binder.getBindingResult().getFieldValue("calendarAnnotated"));
  }

  @Test
  public void testBindLong() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("millis", "1256961600");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("1256961600", binder.getBindingResult().getFieldValue("millis"));
  }

  @Test
  public void testBindLongAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("millisAnnotated", "10/31/09");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09", binder.getBindingResult().getFieldValue("millisAnnotated"));
  }

  @Test
  public void testBindISODate() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("isoDate", "2009-10-31");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("2009-10-31", binder.getBindingResult().getFieldValue("isoDate"));
  }

  @Test
  public void testBindISOTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("isoTime", "12:00:00.000-05:00");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("12:00:00.000", binder.getBindingResult().getFieldValue("isoTime"));
  }

  @Test
  public void testBindISODateTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("isoDateTime", "2009-10-31T12:00:00.000Z");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("2009-10-31T07:00:00.000-05:00", binder.getBindingResult().getFieldValue("isoDateTime"));
  }

  @Test
  public void testBindInstant() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("instant", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("instant"));
  }

  @Test
  public void testBindInstantAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("instantAnnotated", "2009-10-31T12:00:00.000Z");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("2009-10-31T07:00:00.000-05:00", binder.getBindingResult().getFieldValue("instantAnnotated"));
  }

  @Test
  public void testBindMutableDateTime() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("mutableDateTime", "10/31/09 12:00 PM");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("10/31/09 12:00 PM", binder.getBindingResult().getFieldValue("mutableDateTime"));
  }

  @Test
  public void testBindMutableDateTimeAnnotated() {
    MutablePropertyValues propertyValues = new MutablePropertyValues();
    propertyValues.add("mutableDateTimeAnnotated", "2009-10-31T12:00:00.000Z");
    binder.bind(propertyValues);
    assertEquals(0, binder.getBindingResult().getErrorCount());
    assertEquals("2009-10-31T07:00:00.000-05:00", binder.getBindingResult().getFieldValue("mutableDateTimeAnnotated"));
  }

  @Test
  public void dateToStringWithFormat() throws Exception {
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.shortDateTime());
    setUp(registrar);
    Date date = new Date();
    Object actual = this.conversionService.convert(date, TypeDescriptor.valueOf(Date.class), TypeDescriptor.valueOf(String.class));
    String expected = JodaTimeContextHolder.getFormatter(org.joda.time.format.DateTimeFormat.shortDateTime(), Locale.US).print(new DateTime(date));
    assertEquals(expected, actual);
  }

  @Test
  @SuppressWarnings("deprecation")
  public void stringToDateWithoutGlobalFormat() throws Exception {
    // SPR-10105
    String string = "Sat, 12 Aug 1995 13:30:00 GM";
    Date date = this.conversionService.convert(string, Date.class);
    assertThat(date, equalTo(new Date(string)));
  }

  @Test
  public void stringToDateWithGlobalFormat() throws Exception {
    // SPR-10105
    JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar();
    DateTimeFormatterFactory factory = new DateTimeFormatterFactory();
    factory.setIso(ISO.DATE_TIME);
    registrar.setDateTimeFormatter(factory.createDateTimeFormatter());
    setUp(registrar);
    // This is a format that cannot be parsed by new Date(String)
    String string = "2009-10-31T07:00:00.000-05:00";
    Date date = this.conversionService.convert(string, Date.class);
    assertNotNull(date);
  }


  @SuppressWarnings("unused")
  private static class JodaTimeBean {

    private LocalDate localDate;

    @DateTimeFormat(style="M-")
    private LocalDate localDateAnnotated;

    private LocalTime localTime;

    @DateTimeFormat(style="-M")
    private LocalTime localTimeAnnotated;

    private LocalDateTime localDateTime;

    @DateTimeFormat(style="MS")
    private LocalDateTime localDateTimeAnnotated;

    private DateTime dateTime;

    @DateTimeFormat(style="MS")
    private DateTime dateTimeAnnotated;

    @DateTimeFormat
    private Date date;

    @DateTimeFormat(style="S-")
    private Date dateAnnotated;

    @DateTimeFormat
    private Calendar calendar;

    @DateTimeFormat(style="S-")
    private Calendar calendarAnnotated;

    private Long millis;

    @DateTimeFormat
    private DateTime dateTimeAnnotatedDefault;

    private Long millisAnnotated;

    @DateTimeFormat(pattern="M/d/yy h:mm a")
    private DateTime dateTimeAnnotatedPattern;

    @DateTimeFormat(iso=ISO.DATE)
    private LocalDate isoDate;

    @DateTimeFormat(iso=ISO.TIME)
    private LocalTime isoTime;

    @DateTimeFormat(iso=ISO.DATE_TIME)
    private DateTime isoDateTime;

    private Instant instant;

    @DateTimeFormat(iso=ISO.DATE_TIME)
    private Instant instantAnnotated;

    private MutableDateTime mutableDateTime;

    @DateTimeFormat(iso=ISO.DATE_TIME)
    private Instant mutableDateTimeAnnotated;

    private final List<JodaTimeBean> children = new ArrayList<JodaTimeBean>();

    public LocalDate getLocalDate() {
      return localDate;
    }

    public void setLocalDate(LocalDate localDate) {
      this.localDate = localDate;
    }

    public LocalDate getLocalDateAnnotated() {
      return localDateAnnotated;
    }

    public void setLocalDateAnnotated(LocalDate localDateAnnotated) {
      this.localDateAnnotated = localDateAnnotated;
    }

    public LocalTime getLocalTime() {
      return localTime;
    }

    public void setLocalTime(LocalTime localTime) {
      this.localTime = localTime;
    }

    public LocalTime getLocalTimeAnnotated() {
      return localTimeAnnotated;
    }

    public void setLocalTimeAnnotated(LocalTime localTimeAnnotated) {
      this.localTimeAnnotated = localTimeAnnotated;
    }

    public LocalDateTime getLocalDateTime() {
      return localDateTime;
    }

    public void setLocalDateTime(LocalDateTime localDateTime) {
      this.localDateTime = localDateTime;
    }

    public LocalDateTime getLocalDateTimeAnnotated() {
      return localDateTimeAnnotated;
    }

    public void setLocalDateTimeAnnotated(LocalDateTime localDateTimeAnnotated) {
      this.localDateTimeAnnotated = localDateTimeAnnotated;
    }

    public DateTime getDateTime() {
      return dateTime;
    }

    public void setDateTime(DateTime dateTime) {
      this.dateTime = dateTime;
    }

    public DateTime getDateTimeAnnotated() {
      return dateTimeAnnotated;
    }

    public void setDateTimeAnnotated(DateTime dateTimeAnnotated) {
      this.dateTimeAnnotated = dateTimeAnnotated;
    }

    public DateTime getDateTimeAnnotatedPattern() {
      return dateTimeAnnotatedPattern;
    }

    public void setDateTimeAnnotatedPattern(DateTime dateTimeAnnotatedPattern) {
      this.dateTimeAnnotatedPattern = dateTimeAnnotatedPattern;
    }

    public DateTime getDateTimeAnnotatedDefault() {
      return dateTimeAnnotatedDefault;
    }

    public void setDateTimeAnnotatedDefault(DateTime dateTimeAnnotatedDefault) {
      this.dateTimeAnnotatedDefault = dateTimeAnnotatedDefault;
    }

    public Date getDate() {
      return date;
    }

    public void setDate(Date date) {
      this.date = date;
    }

    public Date getDateAnnotated() {
      return dateAnnotated;
    }

    public void setDateAnnotated(Date dateAnnotated) {
      this.dateAnnotated = dateAnnotated;
    }

    public Calendar getCalendar() {
      return calendar;
    }

    public void setCalendar(Calendar calendar) {
      this.calendar = calendar;
    }

    public Calendar getCalendarAnnotated() {
      return calendarAnnotated;
    }

    public void setCalendarAnnotated(Calendar calendarAnnotated) {
      this.calendarAnnotated = calendarAnnotated;
    }

    public Long getMillis() {
      return millis;
    }

    public void setMillis(Long millis) {
      this.millis = millis;
    }

    @DateTimeFormat(style="S-")
    public Long getMillisAnnotated() {
      return millisAnnotated;
    }

    public void setMillisAnnotated(@DateTimeFormat(style="S-") Long millisAnnotated) {
      this.millisAnnotated = millisAnnotated;
    }

    public LocalDate getIsoDate() {
      return isoDate;
    }

    public void setIsoDate(LocalDate isoDate) {
      this.isoDate = isoDate;
    }

    public LocalTime getIsoTime() {
      return isoTime;
    }

    public void setIsoTime(LocalTime isoTime) {
      this.isoTime = isoTime;
    }

    public DateTime getIsoDateTime() {
      return isoDateTime;
    }

    public void setIsoDateTime(DateTime isoDateTime) {
      this.isoDateTime = isoDateTime;
    }

    public Instant getInstant() {
      return instant;
    }

    public void setInstant(Instant instant) {
      this.instant = instant;
    }

    public Instant getInstantAnnotated() {
      return instantAnnotated;
    }

    public void setInstantAnnotated(Instant instantAnnotated) {
      this.instantAnnotated = instantAnnotated;
    }

    public MutableDateTime getMutableDateTime() {
      return mutableDateTime;
    }

    public void setMutableDateTime(MutableDateTime mutableDateTime) {
      this.mutableDateTime = mutableDateTime;
    }

    public Instant getMutableDateTimeAnnotated() {
      return mutableDateTimeAnnotated;
    }

    public void setMutableDateTimeAnnotated(Instant mutableDateTimeAnnotated) {
      this.mutableDateTimeAnnotated = mutableDateTimeAnnotated;
    }

    public List<JodaTimeBean> getChildren() {
      return children;
    }
  }

}
TOP

Related Classes of org.springframework.format.datetime.joda.JodaTimeFormattingTests$JodaTimeBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.