package fr.adrienbrault.idea.symfony2plugin.dic; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.xmlb.annotations.Tag; import fr.adrienbrault.idea.symfony2plugin.ui.dict.AbstractUiFilePath; import org.jetbrains.annotations.Nullable; import java.io.File; /** * @author Daniel Espendiller <daniel@espendiller.net> */ @Tag("container_file") public class ContainerFile extends AbstractUiFilePath { public ContainerFile() { } public ContainerFile(String path) { this.path = path; } @Nullable public File getFile(Project project) { if (!FileUtil.isAbsolute(this.path)) { VirtualFile virtualFile = VfsUtil.findRelativeFile(this.path, project.getBaseDir()); if(virtualFile == null) { return null; } return VfsUtil.virtualToIoFile(virtualFile); } File file = new File(this.path); if(!file.exists()) { return null; } return file; } }