You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
677 B
Kotlin
28 lines
677 B
Kotlin
@file:Suppress("UNUSED")
|
|
|
|
package me.eater.hefbrug.dsl.context
|
|
|
|
import me.eater.hefbrug.dsl.annotation.HefbrugDSL
|
|
import me.eater.hefbrug.module.Module
|
|
import me.eater.hefbrug.utils.ArgumentDelegate
|
|
import java.util.*
|
|
|
|
@HefbrugDSL
|
|
class ModuleContext(
|
|
override val runtimeUUID: UUID,
|
|
override val contextUUID: UUID,
|
|
private val module: Module,
|
|
private val arguments: Map<String, Any?>
|
|
) :
|
|
TargetedContext() {
|
|
val id: String
|
|
get() = module.id
|
|
|
|
fun <T> arg(name: String, default: T? = null) =
|
|
ArgumentDelegate<T>(arguments, name, default)
|
|
|
|
fun <T> arg(default: T? = null) =
|
|
ArgumentDelegate<T>(arguments, null, default)
|
|
|
|
|
|
} |