View Javadoc
1   package org.apache.turbine.services.localization;
2   
3   import java.time.format.DateTimeFormatter;
4   import java.time.temporal.TemporalAccessor;
5   import java.util.Locale;
6   
7   public interface DateTimeFormatterInterface {
8       DateTimeFormatter getDefaultFormat();
9   
10      String getDateTimeFormatPattern();
11  
12      /**
13       * Formats the given datetime as a String with the #{@link DateTimeFormatterService#defaultFormat}.
14       * using the default date format.
15       *
16       * @param the {@link TemporalAccessor to format
17       * @return String value of the date
18       */
19      <T extends TemporalAccessor> String format(T temporalAccessor);
20  
21      /**
22       * Formats the given date as a String.
23       *
24       * @param the TimeDate date to format
25       * @param dateFormatString format string to use.  See {@link DateTimeFormatter}
26       * for details.
27       * @return String value of the date
28       */
29      <T extends TemporalAccessor> String format(T temporalAccessor, String dateFormatString);
30  
31      /**
32       * Formats the given date as a String.
33       *
34       * @param the TimeDate date to format
35       * @param dateFormatString format string to use.  See {@link DateTimeFormatter}
36       * for details.
37       * @param locale
38       * @return String value of the date
39       */
40      <T extends TemporalAccessor> String format(T temporalAccessor, String dateFormatString, Locale locale);
41  
42      /**
43       * Maps from an incoming format to an outgoing format {@link DateTimeFormatter}.
44       * @param src the formatted datetime
45       * @param outgoingFormat {@link DateTimeFormatter}
46       * @param locale  Locale, if needed for outgoing formatting, no default.
47       * @param incomingFormat {@link DateTimeFormatter}, optional, default is {@link #defaultFormat}.
48       * @return the newly mapped
49       */
50      String map(String src, String outgoingFormatPattern, Locale locale, String incomingFormatPattern);
51  
52      /**
53       * Uses as incoming format {@link #defaultFormat} and no locale.
54       * @param src
55       * @param outgoingFormat
56       * @return the formatted string
57       *
58       * @throws java.time.temporal.UnsupportedTemporalTypeException
59       */
60      String map(String src, DateTimeFormatter outgoingFormat, Locale locale,
61                 DateTimeFormatter incomingFormat);
62  
63      /**
64       * Uses as outgoing {@link DateTimeFormatter} {@link #defaultFormat} and no locale.
65       * @param src the datetime formatted string
66       * @param incomingFormat the format of this string
67       * @return the date time formatted using the {@link #defaultFormat}.
68       */
69      String mapTo(String src, DateTimeFormatter outgoingFormat);
70  
71      /**
72       * Uses as incoming {@link DateTimeFormatter}  {@link #defaultFormat}.
73       * @param src the datetime formatted string
74       * @param outgoingFormat the format to which this string should be formatted.
75       * @param locale
76       * @return the newly formatted date time string
77       *
78       * @throws java.time.temporal.UnsupportedTemporalTypeException
79       */
80      String mapFrom(String src, DateTimeFormatter incomingFormat);
81  
82      String map(String src, DateTimeFormatter outgoingFormat, Locale locale);
83  }