All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.ltsopensource.autoconfigure.resolver.EnumResolver Maven / Gradle / Ivy

package com.github.ltsopensource.autoconfigure.resolver;

import com.github.ltsopensource.autoconfigure.AutoConfigContext;

import java.beans.PropertyDescriptor;

/**
 * @author Robert HG ([email protected]) 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) propertyType, value);
                writeProperty(context, descriptor, v);
                return false;
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy