/*
* Sone - FreenetTemplatePage.kt - Copyright © 2010–2020 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.clients.http.*
import net.pterodactylus.sone.main.*
import net.pterodactylus.util.template.*
import net.pterodactylus.util.web.*
import java.lang.String.*
import java.net.*
import java.util.logging.*
import java.util.logging.Logger.*
/**
* Base class for all [Page]s that are rendered with [Template]s and
* fit into Freenet’s web interface.
*/
open class FreenetTemplatePage(
private val templateRenderer: TemplateRenderer,
loaders: Loaders,
private val invalidFormPasswordRedirectTarget: String
) : FreenetPage, LinkEnabledCallback {
private val pageMakerInteractionFactory: PageMakerInteractionFactory = DefaultPageMakerInteractionFactory()
open val styleSheets: Collection = emptySet()
open val shortcutIcon: String? get() = null
open val isFullAccessOnly get() = false
override fun getPath() = toadletPath
open fun getPageTitle(request: FreenetRequest) = ""
override fun isPrefixPage() = false
open fun getRedirectTarget(request: FreenetRequest): String? = null
open fun getAdditionalLinkNodes(request: FreenetRequest): List