X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FElementLoader.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FElementLoader.kt;h=2424cf15442afc23c48a1036a2a3a2862e08cb5f;hb=675710fc669a9f5ccfab42296a3aa0b822539e14;hp=0000000000000000000000000000000000000000;hpb=d8bf8d6a89ce08693868fa7fac5d18d6d31256ce;p=Sone.git diff --git a/src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt b/src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt new file mode 100644 index 0000000..2424cf1 --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/sone/core/ElementLoader.kt @@ -0,0 +1,22 @@ +package net.pterodactylus.sone.core + +import com.google.inject.ImplementedBy + +/** + * Component that loads images and supplies information about them. + */ +@ImplementedBy(DefaultElementLoader::class) +interface ElementLoader { + + fun loadElement(link: String): LinkedElement + +} + +interface LinkedElement { + + val link: String + val loading: Boolean + +} + +data class LinkedImage(override val link: String, override val loading: Boolean = false) : LinkedElement