package com.towel.el.factory; import com.towel.bean.Formatter; import com.towel.el.FieldResolver; import com.towel.el.NotResolvableFieldException; public class FieldResolverFactory { private Class<?> clazz; public FieldResolverFactory(Class<?> tClass) { if (tClass == null) throw new IllegalArgumentException("Class can't be null!"); clazz = tClass; } public FieldResolver createResolver(String fieldName, String colName) { if (fieldName == null) throw NotResolvableFieldException.create(null, fieldName, clazz); return new FieldResolver(clazz, fieldName, colName); } public FieldResolver createResolver(String fieldName, String colName, Formatter formatter) { FieldResolver resolver = new FieldResolver(clazz, fieldName, colName); resolver.setFormatter(formatter); return resolver; } public FieldResolver createResolver(String string) { return createResolver(string, string); } public FieldResolver createResolver(String string, Formatter formatter) { return createResolver(string, string, formatter); } }