INNER CODE UNIT · Java
autorun
elki-project/elki · elki-core-api/src/main/java/elki/Algorithm.java:101
public static Object autorun(Algorithm a, Database database) {
try {
// First try a "run" method accepting a Database.
try {
return a.getClass().getMethod("run", Database.class).invoke(a, database);
}
catch(NoSuchMethodException e) {
// continue below.
}
// Build candidate method signatures
TypeInformation[] inputs = a.getInputTypeRestriction();
Object[] relations = new Object[inputs.length + 1];
Class<?>[] signature = new Class<?>[inputs.length + 1];
// First parameter is the database
relations[0] = database;
signature[0] = Database.class;
// Other parameters are the bound relations
for(int i = 1; i <= inputs.length; i++) {