package org.robotframework.swing.testkeyword; import org.robotframework.javalib.keyword.Keyword; import org.robotframework.javalib.library.AnnotationLibrary; import org.robotframework.javalib.library.RobotJavaLibrary; public abstract class RunnerKeyword implements Keyword { private Object[] arguments; private RobotJavaLibrary library = new AnnotationLibrary() {{ addKeywordPattern("org/robotframework/**/keyword/**/*.class"); }}; public Object execute(Object[] arguments) { this.arguments = arguments; return executeKeyword(); } protected Object runKeyword() { return library.runKeyword(arguments[0].toString(), removeFirstArgument(arguments)); } private Object[] removeFirstArgument(Object[] arguments) { Object[] fixedArguments = new Object[arguments.length - 1]; for(int i = 1; i < arguments.length; i++) { fixedArguments[i - 1] = arguments[i]; } return fixedArguments; } protected abstract Object executeKeyword(); }