package net.sourceforge.phpdt.internal.launching; import java.io.File; import java.io.IOException; import org.eclipse.core.runtime.IPath; public class PHPInterpreter { //public final String endOfOptionsDelimeter = " -- "; protected IPath installLocation; protected String name; public PHPInterpreter(String aName, IPath validInstallLocation) { name = aName; installLocation = validInstallLocation; } public IPath getInstallLocation() { return installLocation; } public void setInstallLocation(IPath validInstallLocation) { installLocation = validInstallLocation; } public String getName() { return name; } public void setName(String newName) { name = newName; } public String getCommand() { String directory = installLocation.toOSString() + File.separator; if (new File(directory + "php.exe").isFile()) return directory + "php.exe"; if (new File(directory, "php").isFile()) return directory + "php"; return null; } public Process exec(String arguments, File workingDirectory, String[] env) throws IOException { return Runtime.getRuntime().exec(this.getCommand() + " " + arguments, env, workingDirectory); } public boolean equals(Object other) { if (other instanceof PHPInterpreter) { PHPInterpreter otherInterpreter = (PHPInterpreter) other; if (name.equals(otherInterpreter.getName())) return installLocation.equals(otherInterpreter.getInstallLocation()); } return false; } }