mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
convert WebBrowserUrlProvider to kotlin
This commit is contained in:
@@ -13,58 +13,42 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.browsers;
|
||||
package com.intellij.ide.browsers
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.Url;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.Url
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public abstract class WebBrowserUrlProvider {
|
||||
public static final ExtensionPointName<WebBrowserUrlProvider> EP_NAME = ExtensionPointName.create("com.intellij.webBrowserUrlProvider");
|
||||
abstract class WebBrowserUrlProvider {
|
||||
companion object {
|
||||
val EP_NAME = ExtensionPointName.create<WebBrowserUrlProvider>("com.intellij.webBrowserUrlProvider")
|
||||
}
|
||||
|
||||
/**
|
||||
* Browser exceptions are printed in Error Dialog when user presses any browser button
|
||||
*/
|
||||
public static class BrowserException extends Exception {
|
||||
public BrowserException(final String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
class BrowserException(message: String) : Exception(message)
|
||||
|
||||
public boolean canHandleElement(@NotNull OpenInBrowserRequest request) {
|
||||
try {
|
||||
Collection<Url> urls = getUrls(request);
|
||||
if (!urls.isEmpty()) {
|
||||
request.setResult(urls);
|
||||
return true;
|
||||
}
|
||||
open fun canHandleElement(request: OpenInBrowserRequest): Boolean {
|
||||
val urls = try {
|
||||
getUrls(request)
|
||||
}
|
||||
catch (BrowserException ignored) {
|
||||
catch (ignored: BrowserException) {
|
||||
return false
|
||||
}
|
||||
|
||||
return false;
|
||||
if (!urls.isEmpty()) {
|
||||
request.result = urls
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected Url getUrl(@NotNull OpenInBrowserRequest request, @NotNull VirtualFile file) throws BrowserException {
|
||||
return null;
|
||||
@Throws(BrowserException::class)
|
||||
protected open fun getUrl(request: OpenInBrowserRequest, file: VirtualFile): Url? {
|
||||
return null
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<Url> getUrls(@NotNull OpenInBrowserRequest request) throws BrowserException {
|
||||
return ContainerUtil.createMaybeSingletonList(getUrl(request, request.getVirtualFile()));
|
||||
}
|
||||
|
||||
@SuppressWarnings({"UnusedParameters", "unused"})
|
||||
@Nullable
|
||||
@Deprecated
|
||||
public String getOpenInBrowserActionDescription(@NotNull PsiFile file) {
|
||||
return null;
|
||||
}
|
||||
@Throws(BrowserException::class)
|
||||
open fun getUrls(request: OpenInBrowserRequest): Collection<Url> = listOfNotNull(request.virtualFile?.let { getUrl(request, it) })
|
||||
}
|
||||
Reference in New Issue
Block a user