ru.pocketbyte.locolaser.kotlinmpp.resource.KotlinAbsProxyResources.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of resource-kotlin-mpp Show documentation
Show all versions of resource-kotlin-mpp Show documentation
Implementation of platform for LocoLaser tool to work with Kotlin MPP projects.
The newest version!
package ru.pocketbyte.locolaser.kotlinmpp.resource
import ru.pocketbyte.locolaser.config.resources.ResourceFileProvider
import ru.pocketbyte.locolaser.config.resources.filter.ResourcesFilter
import ru.pocketbyte.locolaser.kotlinmpp.resource.file.KotlinAbsProxyResourceFile
import ru.pocketbyte.locolaser.resource.file.ResourceFile
import ru.pocketbyte.locolaser.resource.formatting.JavaFormattingType
import java.io.File
class KotlinAbsProxyResources(
dir: File,
name: String,
interfaceName: String?,
resourceFileProvider: ResourceFileProvider,
filter: ResourcesFilter?
) : KotlinAbsImplementationResources(dir, name, interfaceName, resourceFileProvider, filter) {
override val formattingType = JavaFormattingType
override fun getResourceFiles(locales: Set?): Array? {
return arrayOf(
KotlinAbsProxyResourceFile(
directory, className, classPackage,
interfaceName ?: throwNoInterface(),
interfacePackage ?: throwNoInterface(),
formattingType
)
)
}
private fun throwNoInterface(): String {
throw IllegalArgumentException(
"Interface missing. KotlinAbsProxy requires interface implementation."
)
}
}