001/* 002 * Copyright 2019-2021 M. Sean Gilligan. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package app.supernaut.fx.services; 017 018import javafx.application.HostServices; 019import app.supernaut.services.BrowserService; 020 021/** 022 * Implementation of {@link BrowserService} using JavaFX {@link HostServices}. 023 */ 024public class FxBrowserService implements BrowserService { 025 private final HostServices hostServices; 026 027 /** 028 * Constructor 029 * @param hostServices HostServices object to wrap 030 */ 031 public FxBrowserService(HostServices hostServices) { 032 this.hostServices = hostServices; 033 } 034 035 /** 036 * Implementation of showDocument using HostServices 037 * @param uri the URI of the web page that will be opened in a browser. 038 */ 039 @Override 040 public void showDocument(String uri) { 041 hostServices.showDocument(uri); 042 } 043}