From: David ‘Bombe’ Roden Date: Fri, 12 Apr 2019 14:13:12 +0000 (+0200) Subject: 🎨 Replace PageToadletFactory with Kotlin version X-Git-Tag: v79^2~65 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=e8bfde9bfac05a6fb4ad145b5aa523bff7fbbd5a;hp=e7afeda8d0658bd4c392803cf444f5810fe18471;ds=sidebyside 🎨 Replace PageToadletFactory with Kotlin version --- diff --git a/src/main/java/net/pterodactylus/sone/web/page/PageToadletFactory.java b/src/main/java/net/pterodactylus/sone/web/page/PageToadletFactory.java deleted file mode 100644 index 719b74a..0000000 --- a/src/main/java/net/pterodactylus/sone/web/page/PageToadletFactory.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Sone - PageToadletFactory.java - Copyright © 2010–2019 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.web.page; - -import net.pterodactylus.util.web.Page; -import freenet.client.HighLevelSimpleClient; - -/** - * Factory that creates {@link PageToadlet}s using a given - * {@link HighLevelSimpleClient}. - */ -public class PageToadletFactory { - - /** The client to use when creating the toadlets. */ - private final HighLevelSimpleClient highLevelSimpleClient; - - /** The prefix for all pages’ paths. */ - private final String pathPrefix; - - /** - * Creates a new {@link PageToadlet} factory. - * - * @param highLevelSimpleClient - * The client to use when creating the toadlets - * @param pathPrefix - * The path that is prepended to all pages’ paths - */ - public PageToadletFactory(HighLevelSimpleClient highLevelSimpleClient, String pathPrefix) { - this.highLevelSimpleClient = highLevelSimpleClient; - this.pathPrefix = pathPrefix; - } - - /** - * Creates a {@link PageToadlet} that wraps the given page and does not - * appear in the node’s menu. - * - * @param page - * The page to wrap - * @return The toadlet wrapped around the page - */ - public PageToadlet createPageToadlet(Page page) { - return createPageToadlet(page, null); - } - - /** - * Creates a {@link PageToadlet} that wraps the given page and appears in - * the node’s menu under the given name. - * - * @param page - * The page to wrap - * @param menuName - * The name of the menu item - * @return The toadlet wrapped around the page - */ - public PageToadlet createPageToadlet(Page page, String menuName) { - return new PageToadlet(highLevelSimpleClient, menuName, page, pathPrefix); - } - -} diff --git a/src/main/kotlin/net/pterodactylus/sone/web/page/PageToadletFactory.kt b/src/main/kotlin/net/pterodactylus/sone/web/page/PageToadletFactory.kt new file mode 100644 index 0000000..48ea39f --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/sone/web/page/PageToadletFactory.kt @@ -0,0 +1,29 @@ +/* + * Sone - PageToadletFactory.java - Copyright © 2010–2019 David Roden + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package net.pterodactylus.sone.web.page + +import freenet.client.HighLevelSimpleClient +import net.pterodactylus.util.web.Page + +class PageToadletFactory(private val highLevelSimpleClient: HighLevelSimpleClient, private val pathPrefix: String) { + + @JvmOverloads + fun createPageToadlet(page: Page, menuName: String? = null) = + PageToadlet(highLevelSimpleClient, menuName, page, pathPrefix) + +}