/*
* Copyright (C) 2011 Peransin Nicolas. All rights reserved.
* Use is subject to license terms.
*/
package org.mypsycho.swing.app.beans;
import javax.swing.Action;
import javax.swing.ActionMap;
import org.mypsycho.beans.AbstractCollectionExtension;
/**
* Adapt ActionMap class to Map<String -> Action> signature.
* <p>
* Usefull for injection.
* </p>
*
* @author Peransin Nicolas
*/
public class ActionMapExtension extends AbstractCollectionExtension {
/**
*
*/
public ActionMapExtension() {
super(ActionMap.class);
}
@Override
public Object get(Object bean, String key) throws IllegalArgumentException {
return ((ActionMap) bean).get(key);
}
@Override
public void set(Object bean, String key, Object value) throws IllegalArgumentException {
((ActionMap) bean).put(key, (Action) value);
}
@Override
public Class<?> getCollectedType(Class<?> collectionType) {
return Action.class;
}
}