Example usage for org.apache.commons.lang ClassUtils INNER_CLASS_SEPARATOR

List of usage examples for org.apache.commons.lang ClassUtils INNER_CLASS_SEPARATOR

Introduction

In this page you can find the example usage for org.apache.commons.lang ClassUtils INNER_CLASS_SEPARATOR.

Prototype

String INNER_CLASS_SEPARATOR

To view the source code for org.apache.commons.lang ClassUtils INNER_CLASS_SEPARATOR.

Click Source Link

Document

The inner class separator String: "$".

Usage

From source file:org.openlegacy.designtime.terminal.analyzer.support.DefaultTerminalActionAnalyzer.java

@Override
@SuppressWarnings("unchecked")
public TerminalActionDefinition toTerminalActionDefinition(String action, String caption,
        TerminalPosition position) {//from  w ww . j av a2 s  .  c o m
    action = action.trim().toUpperCase();
    AdditionalKey additionalKey = null;

    String keyNumberText = "";
    if (action.startsWith("F")) {
        keyNumberText = action.substring(1);
    } else if (action.startsWith("PF")) {
        // Remove the P prefix
        action = action.substring(1);
        keyNumberText = action.substring(1);
    }

    if (!StringUtils.isEmpty(keyNumberText) && StringUtils.isNumeric(keyNumberText)) {
        int keyNumber = Integer.valueOf(keyNumberText);
        if (keyNumber > 12 && keyNumber <= 24) {
            keyNumber = keyNumber - 12;
            additionalKey = AdditionalKey.SHIFT;
            action = "F" + keyNumber;
        }
    }

    Class<? extends TerminalAction> actionClass = null;
    try {
        actionClass = (Class<? extends TerminalAction>) Class.forName(MessageFormat.format("{0}{1}{2}",
                TerminalActions.class.getName(), ClassUtils.INNER_CLASS_SEPARATOR, action));

        TerminalAction actionInstance = ReflectionUtil.newInstance(actionClass);
        SimpleTerminalActionDefinition actionDefinition = new SimpleTerminalActionDefinition(actionInstance,
                additionalKey, caption, position);

        caption = textTranslator.translate(caption);
        actionDefinition.setAlias(StringUtil.toJavaMethodName(caption));

        return actionDefinition;

    } catch (ClassNotFoundException e) {
        logger.warn(MessageFormat.format("Could not find class for Action {0}", action));
        return null;
    }
}