aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/resolvers/LocationProvider.kt
diff options
context:
space:
mode:
authorPaweł Marks <pmarks@virtuslab.com>2020-02-17 12:35:15 +0100
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-02-18 13:28:23 +0100
commita89d9a8c87cbe81bdba25b660d1b1fda1d0ce8ec (patch)
tree8e55f99386415fe644c6223a53825cf12022f8db /plugins/base/src/main/kotlin/resolvers/LocationProvider.kt
parentba769f0695aaa9719b62ca32028fd3d24442f5ec (diff)
downloaddokka-a89d9a8c87cbe81bdba25b660d1b1fda1d0ce8ec.tar.gz
dokka-a89d9a8c87cbe81bdba25b660d1b1fda1d0ce8ec.tar.bz2
dokka-a89d9a8c87cbe81bdba25b660d1b1fda1d0ce8ec.zip
Moves location providers and output writers to base plugin
Diffstat (limited to 'plugins/base/src/main/kotlin/resolvers/LocationProvider.kt')
-rw-r--r--plugins/base/src/main/kotlin/resolvers/LocationProvider.kt19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/base/src/main/kotlin/resolvers/LocationProvider.kt b/plugins/base/src/main/kotlin/resolvers/LocationProvider.kt
new file mode 100644
index 00000000..13f4563c
--- /dev/null
+++ b/plugins/base/src/main/kotlin/resolvers/LocationProvider.kt
@@ -0,0 +1,19 @@
+package org.jetbrains.dokka.base.resolvers
+
+import org.jetbrains.dokka.links.DRI
+import org.jetbrains.dokka.pages.ContentPage
+import org.jetbrains.dokka.pages.PageNode
+import org.jetbrains.dokka.pages.PlatformData
+import org.jetbrains.dokka.pages.RootPageNode
+
+interface LocationProvider {
+ fun resolve(dri: DRI, platforms: List<PlatformData>, context: PageNode? = null): String
+ fun resolve(node: PageNode, context: PageNode? = null, skipExtension: Boolean = false): String
+ fun resolveRoot(node: PageNode): String
+ fun ancestors(node: PageNode): List<PageNode>
+}
+
+interface LocationProviderFactory {
+ fun getLocationProvider(pageNode: RootPageNode): LocationProvider
+}
+