aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt')
-rw-r--r--plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt b/plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt
new file mode 100644
index 00000000..745636d0
--- /dev/null
+++ b/plugins/base/src/main/kotlin/resolvers/local/LocationProvider.kt
@@ -0,0 +1,18 @@
+package org.jetbrains.dokka.base.resolvers.local
+
+import org.jetbrains.dokka.links.DRI
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
+import org.jetbrains.dokka.pages.PageNode
+import org.jetbrains.dokka.pages.RootPageNode
+
+interface LocationProvider {
+ fun resolve(dri: DRI, sourceSets: Set<DokkaSourceSet>, 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
+}
+