All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kuali.maven.plugins.spring.MojoExecutable Maven / Gradle / Ivy

package org.kuali.maven.plugins.spring;

import org.kuali.common.util.Assert;
import org.kuali.common.util.ReflectionUtils;
import org.kuali.common.util.execute.Executable;
import org.springframework.util.MethodInvoker;

public class MojoExecutable implements Executable {

	private static final String SERVICE_CALLBACK_METHOD_NAME = "callback";

	private final AbstractSpringMojo mojo;
	private final SpringMojoService service;

	public MojoExecutable(AbstractSpringMojo mojo, SpringMojoService service) {
		Assert.noNulls(mojo, service);
		this.mojo = mojo;
		this.service = service;
	}

	@Override
	public void execute() {
		MethodInvoker invoker = new MethodInvoker();
		invoker.setTargetObject(service);
		invoker.setTargetMethod(SERVICE_CALLBACK_METHOD_NAME);
		invoker.setArguments(new Object[] { mojo });
		ReflectionUtils.invoke(invoker);
	}

	public AbstractSpringMojo getMojo() {
		return mojo;
	}

	public SpringMojoService getService() {
		return service;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy