package com.github.ltsopensource.autoconfigure.resolver; import com.github.ltsopensource.autoconfigure.AutoConfigContext; import java.beans.PropertyDescriptor; /** * @author Robert HG (254963746@qq.com) on 4/20/16. */ public class EnumResolver extends AbstractResolver { public static final EnumResolver INSTANCE = new EnumResolver(); @SuppressWarnings("unchecked") @Override public void resolve(final AutoConfigContext context, final PropertyDescriptor descriptor, final Class<?> propertyType) { doFilter(context, descriptor, new Filter() { @Override public boolean onCondition(String name, String key, String value) { return key.equals(name); } @Override public boolean call(String name, String key, String value) { Object v = Enum.valueOf((Class<Enum>) propertyType, value); writeProperty(context, descriptor, v); return false; } }); } }