From 17d761a0d5d6e06fd9cc3d8a4098fb1bbd729d54 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 1 Dec 2016 11:56:38 +0100 Subject: [PATCH] convert WebBrowserUrlProvider to kotlin --- .../ide/browsers/WebBrowserUrlProvider.java | 64 +++++++------------ 1 file changed, 24 insertions(+), 40 deletions(-) diff --git a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java index 6864d4fc907e..b70e618ff823 100644 --- a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java +++ b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java @@ -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 EP_NAME = ExtensionPointName.create("com.intellij.webBrowserUrlProvider"); +abstract class WebBrowserUrlProvider { + companion object { + val EP_NAME = ExtensionPointName.create("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 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 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 = listOfNotNull(request.virtualFile?.let { getUrl(request, it) }) } \ No newline at end of file