Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2008 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.binding.format.formatters;
 
 import java.util.Date;
 
A formatter for java.util.Date types. Allows the configuration of an explicit date pattern and locale.

Author(s):
Keith Donald
See also:
java.text.SimpleDateFormat
 
 public class DateFormatter implements Formatter {

The default date pattern.
 
 	private static final String DEFAULT_PATTERN = "yyyy-MM-dd";
 
 	private String pattern;
 
 	private Locale locale;

The pattern to use to format date values.

Returns:
the date formatting pattern
 
 	public String getPattern() {
 		return ;
 	}

Sets the pattern to use to format date values.

Parameters:
pattern the date formatting pattern
 
 	public void setPattern(String pattern) {
 		this. = pattern;
 	}

The locale to use in formatting date values. If null, the default locale is used.

Returns:
the locale
 
 	public Locale getLocale() {
 		return ;
 	}

Sets the locale to use in formatting date values.

Parameters:
locale the locale
 
 	public void setLocale(Locale locale) {
 		this. = locale;
 	}
 
 	public String format(Object date) {
 		if (date == null) {
 			return "";
 		}
 		return getDateFormat().format((Datedate);
 	}
 
 	public Object parse(String formattedStringthrows InvalidFormatException {
 		if (!StringUtils.hasText(formattedString)) {
 			return null;
 		}
 		DateFormat dateFormat = getDateFormat();
 		try {
 			return dateFormat.parse(formattedString);
 		} catch (ParseException e) {
 			throw new InvalidFormatException(formattedStringdeterminePattern(), e);
 		}
 	}
 
 	// subclassing hookings
 
 	protected DateFormat getDateFormat() {
 		String pattern = determinePattern(this.);
 		Locale locale = determineLocale(this.);
		return new SimpleDateFormat(patternlocale);
	}
	// internal helpers
	private String determinePattern(String pattern) {
		return pattern != null ? pattern : ;
	}
	private Locale determineLocale(Locale locale) {
		return locale != null ? locale : Locale.getDefault();
	}
New to GrepCode? Check out our FAQ X