blob: 10d84ccf05cda2e57700f9f4b3238720268ed8e4 [file] [log] [blame]
package com.intellij.ide.browsers;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.util.Url;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
public abstract class OpenInBrowserRequest {
private Collection<Url> result;
protected PsiFile file;
public OpenInBrowserRequest(@NotNull PsiFile file) {
this.file = file;
}
public OpenInBrowserRequest() {
}
@Nullable
public static OpenInBrowserRequest create(@NotNull final PsiElement element) {
PsiFile psiFile = element.isValid() ? element.getContainingFile() : null;
if (psiFile == null || psiFile.getVirtualFile() == null) {
return null;
}
return new OpenInBrowserRequest(psiFile) {
@NotNull
@Override
public PsiElement getElement() {
return element;
}
};
}
@NotNull
public PsiFile getFile() {
return file;
}
@NotNull
public VirtualFile getVirtualFile() {
return file.getVirtualFile();
}
@NotNull
public Project getProject() {
return file.getProject();
}
@NotNull
public abstract PsiElement getElement();
public void setResult(@NotNull Collection<Url> result) {
this.result = result;
}
@Nullable
public Collection<Url> getResult() {
return result;
}
}