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
4 years ago
|
@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)
|
||
|
|
||
|
|
||
|
}
|