blob: 20a0b7868d54d583b2262fa38a10825fc3437e37 [file] [log] [blame]
package org.jclouds.date.internal;
import static com.google.common.base.Preconditions.checkNotNull;
import java.text.ParseException;
import java.util.Date;
import org.jclouds.date.DateCodec;
import org.jclouds.date.DateCodecFactory;
import org.jclouds.date.DateService;
import com.google.inject.Inject;
public class SimpleDateCodecFactory implements DateCodecFactory {
private final DateService dateService;
private volatile DateCodec rfc1123Codec;
@Inject
public SimpleDateCodecFactory(final DateService dateService) {
this.dateService = checkNotNull(dateService, "dateService");
}
public DateCodec rfc1123() {
if (rfc1123Codec == null) {
rfc1123Codec = new DateCodec() {
@Override
public Date toDate(String date) throws ParseException {
return dateService.rfc1123DateParse(date);
}
@Override
public String toString(Date date) {
return dateService.rfc1123DateFormat(date);
}
};
}
return rfc1123Codec;
}
}