com.jidesoft.converter.MonthConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jide-oss Show documentation
Show all versions of jide-oss Show documentation
JIDE Common Layer (Professional Swing Components)
/*
* @(#) DateConverter.java
*
* Copyright 2002 - 2003 JIDE Software. All rights reserved.
*/
package com.jidesoft.converter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Converter which converts Date to String and converts it back.
*/
public class MonthConverter implements ObjectConverter {
/**
* Default ConverterContext for MonthConverter.
*/
public static ConverterContext CONTEXT_MONTH = new ConverterContext("Calendar.Month");
private DateFormat _conciseFormat = new SimpleDateFormat("MMyy");
private DateFormat _shortFormat = new SimpleDateFormat("MM/yy");
private DateFormat _mediumFormat = new SimpleDateFormat("MM, yyyy");
private DateFormat _longFormat = new SimpleDateFormat("MMMMM, yyyy");
private DateFormat _defaultFormat = _shortFormat;
/**
* Creates a new CalendarConverter.
*/
public MonthConverter() {
}
public String toString(Object object, ConverterContext context) {
if (object == null || !(object instanceof Calendar)) {
return "";
}
else {
return _defaultFormat.format(((Calendar) object).getTime());
}
}
public boolean supportToString(Object object, ConverterContext context) {
return true;
}
public Object fromString(String string, ConverterContext context) {
Calendar calendar = Calendar.getInstance();
try {
Date time = _defaultFormat.parse(string);
calendar.setTime(time);
}
catch (ParseException e1) { // if current formatter doesn't work try those default ones.
try {
Date time = _shortFormat.parse(string);
calendar.setTime(time);
}
catch (ParseException e2) {
try {
Date time = _mediumFormat.parse(string);
calendar.setTime(time);
}
catch (ParseException e3) {
try {
Date time = _longFormat.parse(string);
calendar.setTime(time);
}
catch (ParseException e4) {
try {
Date time = _conciseFormat.parse(string);
calendar.setTime(time);
}
catch (ParseException e5) {
return null; // nothing works just return null so that old value will be kept.
}
}
}
}
}
return calendar;
}
public boolean supportFromString(String string, ConverterContext context) {
return true;
}
/**
* Gets DefaultFormat to format an calendar.
*
* @return DefaultFormat
*/
public DateFormat getDefaultFormat() {
return _defaultFormat;
}
/**
* Sets DefaultFormat to format an calendar.
*
* @param defaultFormat the default format to format a calendar.
*/
public void setDefaultFormat(DateFormat defaultFormat) {
_defaultFormat = defaultFormat;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy