package hudson.plugins.sshslaves;
import com.trilead.ssh2.Connection;
import hudson.ExtensionList;
import hudson.ExtensionPoint;
import hudson.slaves.SlaveComputer;
import hudson.model.Hudson;
import hudson.model.TaskListener;
import java.util.List;
import java.util.Collections;
/**
* Guess where Java is.
*/
public abstract class JavaProvider implements ExtensionPoint {
/**
* @deprecated
* Override {@link #getJavas(SlaveComputer, TaskListener, Connection)} instead.
*/
public List<String> getJavas(TaskListener listener, Connection connection) {
return Collections.emptyList();
}
/**
* Returns the list of possible places where java executable might exist.
*
* @return
* Can be empty but never null. Absolute path to the possible locations of Java.
*/
public List<String> getJavas(SlaveComputer computer, TaskListener listener, Connection connection) {
return getJavas(listener,connection);
}
/**
* All regsitered instances.
*/
public static ExtensionList<JavaProvider> all() {
return Hudson.getInstance().getExtensionList(JavaProvider.class);
}
}