org.jboss.as.console.client.widgets.forms.Mutator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of switchyard-console-as7-core
Show all versions of switchyard-console-as7-core
Bundles the core AS7 console as a GWT module. Includes minor customizations to support extensions.
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);
}
}