package sagan.blog.support;
import sagan.blog.PostCategory;
import java.text.ParseException;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import org.springframework.format.Formatter;
import org.springframework.stereotype.Component;
@Component
class PostCategoryFormatter implements Formatter<PostCategory> {
private static Map<String, PostCategory> mapping = new HashMap<>();
{
for (PostCategory category : PostCategory.values()) {
mapping.put(category.getUrlSlug(), category);
mapping.put(category.name(), category);
}
}
@Override
public PostCategory parse(String text, Locale locale) throws ParseException {
return mapping.get(text.trim());
}
@Override
public String print(PostCategory category, Locale locale) {
return category.getUrlSlug();
}
}