package uk.org.squirm3.swing.action; import javax.swing.Action; import javax.swing.Icon; import javax.swing.KeyStroke; /** * Declares all {@link Action} pseudo properties as {@link ActionProperty}. */ enum ActionProperties implements ActionProperty { ACCELERATOR(Action.ACCELERATOR_KEY, KeyStroke.class), // COMMAND(Action.ACTION_COMMAND_KEY, String.class), // MNEMOINDEX(Action.DISPLAYED_MNEMONIC_INDEX_KEY, Integer.class), // LARGEICON(Action.LARGE_ICON_KEY, Icon.class), // LONGTEXT(Action.LONG_DESCRIPTION, String.class), // MNEMONIC(Action.MNEMONIC_KEY, Integer.class), // NAME(Action.NAME, String.class), // SELECTED(Action.SELECTED_KEY, Boolean.class), // SHORTTEXT(Action.SHORT_DESCRIPTION, String.class), // SMALLICON(Action.SMALL_ICON, Icon.class); private final String swingKey; private final Class<?> targetType; private ActionProperties(final String swingKey, final Class<?> targetType) { this.swingKey = swingKey; this.targetType = targetType; } /* * (non-Javadoc) * * @see uk.org.squirm3.swing.action.ActionProperty#getSwingKey() */ @Override public String getSwingKey() { return swingKey; } /* * (non-Javadoc) * * @see uk.org.squirm3.swing.action.ActionProperty#getTargetType() */ @Override public Class<?> getTargetType() { return targetType; } /* * (non-Javadoc) * * @see * uk.org.squirm3.swing.action.ActionProperty#getMessageCode(java.lang.String * ) */ @Override public String getMessageCode(final String actionIdentifier) { return actionIdentifier + ".action." + name().toLowerCase(); } }