]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/MethodCall.java
Introduce revision build numbers
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / core / execution / tasks / MethodCall.java
1 package org.argeo.slc.core.execution.tasks;
2
3 import java.lang.reflect.Method;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.springframework.util.Assert;
8 import org.springframework.util.ReflectionUtils;
9
10 public class MethodCall implements Runnable {
11 private Object target;
12 private String method;
13 private List<Object> args = new ArrayList<Object>();
14
15 public void run() {
16 Assert.notNull(target, "target");
17 Assert.notNull(method, "method");
18 Method methodRef = ReflectionUtils
19 .findMethod(target.getClass(), method);
20 if (args.size() == 0)
21 ReflectionUtils.invokeMethod(methodRef, target);
22 else
23 ReflectionUtils.invokeMethod(methodRef, methodRef, args.toArray());
24 }
25
26 public void setTarget(Object target) {
27 this.target = target;
28 }
29
30 public void setMethod(String method) {
31 this.method = method;
32 }
33
34 public void setArgs(List<Object> args) {
35 this.args = args;
36 }
37
38 }