1 31 32 package org.opencms.workplace.list; 33 34 import org.opencms.i18n.CmsMessageContainer; 35 36 import java.util.Date ; 37 import java.util.Locale ; 38 39 50 public class CmsListDateMacroFormatter extends CmsListMacroFormatter { 51 52 53 private final CmsMessageContainer m_never; 54 55 56 private final long m_neverTime; 57 58 64 public CmsListDateMacroFormatter(CmsMessageContainer mask, CmsMessageContainer never) { 65 66 this(mask, never, 0); 67 } 68 69 76 public CmsListDateMacroFormatter(CmsMessageContainer mask, CmsMessageContainer never, long neverTime) { 77 78 super(mask); 79 m_never = never; 80 m_neverTime = neverTime; 81 } 82 83 88 public static I_CmsListFormatter getDefaultDateFormatter() { 89 90 return new CmsListDateMacroFormatter( 91 Messages.get().container(Messages.GUI_LIST_DATE_FORMAT_1), 92 Messages.get().container(Messages.GUI_LIST_DATE_FORMAT_NEVER_0)); 93 } 94 95 102 public static I_CmsListFormatter getDefaultDateFormatter(long never) { 103 104 return new CmsListDateMacroFormatter( 105 Messages.get().container(Messages.GUI_LIST_DATE_FORMAT_1), 106 Messages.get().container(Messages.GUI_LIST_DATE_FORMAT_NEVER_0), 107 never); 108 } 109 110 113 public String format(Object data, Locale locale) { 114 115 if (data == null) { 116 return m_never.key(locale); 117 } 118 if (data instanceof Date ) { 119 if (((Date )data).getTime() == m_neverTime) { 120 return m_never.key(locale); 121 } 122 } 123 return super.format(data, locale); 124 } 125 } 126 | Popular Tags |