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.ReflectionUtils;
import org.kuali.common.util.execute.Executable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.util.MethodInvoker;

@Component
public class MojoExecutable implements Executable {

	private static final Logger logger = LoggerFactory.getLogger(MojoExecutable.class);

	MethodInvoker invoker = new MethodInvoker();
	String serviceMethod = "mojoCallback";
	AbstractSpringMojo mojo;
	SpringMojoService service;

	@Override
	public void execute() {
		Object[] args = { service.getClass().getName(), serviceMethod, mojo.getClass().getSimpleName() };
		logger.debug("Invoking  - [{}.{}({})]", args);
		invoker.setTargetObject(service);
		invoker.setTargetMethod(serviceMethod);
		invoker.setArguments(new Object[] { mojo });
		ReflectionUtils.invoke(invoker);
		logger.debug("Completed - [{}.{}({})]", args);
	}

	public MethodInvoker getInvoker() {
		return invoker;
	}

	public void setInvoker(MethodInvoker invoker) {
		this.invoker = invoker;
	}

	public String getServiceMethod() {
		return serviceMethod;
	}

	public void setServiceMethod(String serviceMethod) {
		this.serviceMethod = serviceMethod;
	}

	public AbstractSpringMojo getMojo() {
		return mojo;
	}

	public void setMojo(AbstractSpringMojo mojo) {
		this.mojo = mojo;
	}

	public SpringMojoService getService() {
		return service;
	}

	public void setService(SpringMojoService service) {
		this.service = service;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy