package org.javabuilders.swing.handler.property; import org.javabuilders.BuildException; import org.javabuilders.BuildProcess; import org.javabuilders.BuilderConfig; import org.javabuilders.Node; import org.javabuilders.handler.AbstractPropertyHandler; import org.javabuilders.swing.SwingAction; import org.javabuilders.swing.SwingJavaBuilder; import org.javabuilders.swing.SwingJavaBuilderUtils; import org.javabuilders.swing.SwingJavaBuilderUtils.ActionDefinition; /** * Handler for SwingAction.text * @author Jacek Furmankiewicz * */ public class SwingActionTextHandler extends AbstractPropertyHandler { private static final SwingActionTextHandler singleton = new SwingActionTextHandler(); /** * @return Singleton */ public static SwingActionTextHandler getInstance() {return singleton;} private SwingActionTextHandler() { super(SwingJavaBuilder.TEXT); } /* (non-Javadoc) * @see org.javabuilders.handler.IPropertyHandler#handle(org.javabuilders.BuilderConfig, org.javabuilders.BuildProcess, org.javabuilders.Node, java.lang.String) */ public void handle(BuilderConfig config, BuildProcess process, Node node, String key) throws BuildException { String text = node.getStringProperty(SwingJavaBuilder.TEXT); SwingAction action = (SwingAction) node.getMainObject(); ActionDefinition def = SwingJavaBuilderUtils.getActionDefintion(text); action.setText(def.getText()); if (def.getAccelerator() != null) { action.setAccelerator(def.getAccelerator()); } if (def.getMnemonic() != null) { action.setMnemonic(def.getMnemonic()); } } /* (non-Javadoc) * @see org.javabuilders.IApplicable#getApplicableClass() */ public Class<SwingAction> getApplicableClass() { return SwingAction.class; } }