private constructor()

in src/install-jdk/index.ts [61:102]


	private constructor(extensionPath: string, columnOrwebviewPanel: vscode.ViewColumn | vscode.WebviewPanel) {
		this._extensionPath = extensionPath;
		if ((columnOrwebviewPanel as vscode.WebviewPanel).viewType) {
			this._panel = columnOrwebviewPanel as vscode.WebviewPanel;
		} else {
			this._panel = vscode.window.createWebviewPanel(InstallJdkPage.viewType, "Install New JDK", columnOrwebviewPanel as vscode.ViewColumn, {
				enableScripts: true,
				localResourceRoots: [
					vscode.Uri.file(path.join(this._extensionPath, 'out'))
				],
				enableCommandUris: true,
				retainContextWhenHidden: true
			});
		}

		this._panel.iconPath = {
			light: vscode.Uri.file(path.join(extensionPath, "caption.light.svg")),
			dark: vscode.Uri.file(path.join(extensionPath, "caption.dark.svg"))
		};
		this._panel.webview.html = this._getHtmlForWebview();

		this._panel.onDidDispose(() => this.dispose(), null, this._disposables);

		// Handle messages from the webview
		this._panel.webview.onDidReceiveMessage(message => {
			switch (message.command) {
				case 'onWillFetchAvailableReleases':
					this.doFetchAvailableReleases();
					return;

				case 'onWillFetchAsset':
					this.doFetchAsset(message.payload);
					return;
				case 'onWillDownloadTemurinJDK':
					this.doDownloadTemurinJDK(message.payload);
					return;
				case 'onWillReloadWindow':
					this.doReloadWindow();

			}
		}, null, this._disposables);
	}