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

org.jboss.as.console.client.widgets.forms.Mutator Maven / Gradle / Ivy

Go to download

Bundles the core AS7 console as a GWT module. Includes minor customizations to support extensions.

There is a newer version: 0.7.0.Final
Show newest version
package org.jboss.as.console.client.widgets.forms;

import java.util.HashMap;
import java.util.Map;

/**
 * Generic access to bean properties.
 *
 * @author Heiko Braun
 * @date 9/23/11
 */
public class Mutator {

    private Map setters = new HashMap();
    private Map getters = new HashMap();

    public void register(String javaName, Getter getter)
    {
        getters.put(javaName, getter);
    }

    public void register(String javaName, Setter setter)
    {
        setters.put(javaName, setter);
    }

    public Setter setter(String javaName)
    {
        Setter setter = setters.get(javaName);
        if(null==setter)
            throw new IllegalArgumentException("No setter for field "+javaName);

        return setter;
    }

    public Getter getter(String javaName)
    {
        Getter getter = getters.get(javaName);
        if(null==getter)
            throw new IllegalArgumentException("No getter for field "+javaName);

        return getter;
    }

    public void setValue(T entity, String javaName, Object value)
    {
        setter(javaName).invoke(entity, value);
    }

    public Object getValue(T entity, String javaName)
    {
        return getter(javaName).invoke(entity);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy