package fr.adrienbrault.idea.symfony2plugin.ui.dict;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.util.xmlb.annotations.Attribute;
import org.jetbrains.annotations.NotNull;
import java.io.File;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public abstract class AbstractUiFilePath implements UiFilePathInterface {
protected String path;
public boolean exists(@NotNull Project project) {
if (!FileUtil.isAbsolute(this.path)) {
return VfsUtil.findRelativeFile(this.path, project.getBaseDir()) != null;
}
return new File(this.path).exists();
}
@Attribute("path")
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
@Override
public boolean isRemote() {
return this.path != null && this.path.startsWith("remote://");
}
}