1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.component;
21
22 import org.apache.myfaces.tobago.internal.util.DateFormatUtils;
23 import org.apache.myfaces.tobago.util.ComponentUtils;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27 import javax.faces.context.FacesContext;
28 import javax.faces.convert.Converter;
29 import javax.faces.convert.DateTimeConverter;
30 import java.lang.invoke.MethodHandles;
31 import java.util.Date;
32
33
34
35
36 public abstract class AbstractUIDate extends AbstractUIIn {
37
38 private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
39
40 public String getPattern() {
41 final FacesContext facesContext = getFacesContext();
42 Converter converter = ComponentUtils.getConverter(facesContext, this, getSubmittedValue());
43 if (!(converter instanceof DateTimeConverter)) {
44
45 converter = facesContext.getApplication().createConverter(Date.class);
46 if (LOG.isWarnEnabled()) {
47 LOG.warn("Can't find a converter to get a pattern in component {}! Using default.",
48 getClientId(facesContext));
49 }
50 }
51 return DateFormatUtils.findPattern((DateTimeConverter) converter);
52 }
53
54 public abstract boolean isTodayButton();
55 }