AbstractFunctionConfigurationBean extends SingletonFactoryBean<FunctionConfigurationSource> { protected static <F extends FunctionDefinition> FunctionConfiguration functionConfiguration(final Class<F> clazz, final String... args) { if (Modifier.isAbstract(clazz.getModifiers())) { throw new IllegalStateException("Attempting to register an abstract class - " + clazz); } if (args.length == 0) { return new StaticFunctionConfiguration(clazz.getName()); } return new ParameterizedFunctionConfiguration(clazz.getName(), Arrays.asList(args)); }    }
@Test(expectedExceptions = IllegalStateException.class) public void testFunctionConfigurationInvalidArguments() { AbstractFunctionConfigurationBean.functionConfiguration(AbstractFunction.class); }