ну вот так надо было именовать эту штуку
This commit is contained in:
parent
bd690ee56c
commit
3275bb1087
@ -5,7 +5,7 @@ import ru.dbotthepony.kstarbound.util.INotNullDelegate
|
|||||||
import kotlin.properties.ReadWriteProperty
|
import kotlin.properties.ReadWriteProperty
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|
||||||
abstract class DefinitionBuilder {
|
abstract class FreezableDefintionBuilder {
|
||||||
interface IProperty {
|
interface IProperty {
|
||||||
fun checkAndThrow()
|
fun checkAndThrow()
|
||||||
}
|
}
|
||||||
@ -81,7 +81,7 @@ abstract class DefinitionBuilder {
|
|||||||
private val properties = ArrayList<IProperty>()
|
private val properties = ArrayList<IProperty>()
|
||||||
|
|
||||||
override fun equals(other: Any?): Boolean {
|
override fun equals(other: Any?): Boolean {
|
||||||
if (other is DefinitionBuilder && other.javaClass === this.javaClass)
|
if (other is FreezableDefintionBuilder && other.javaClass === this.javaClass)
|
||||||
return other.properties == properties
|
return other.properties == properties
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@ -102,6 +102,7 @@ abstract class DefinitionBuilder {
|
|||||||
fun freeze() {
|
fun freeze() {
|
||||||
if (isFrozen) return
|
if (isFrozen) return
|
||||||
onFreeze()
|
onFreeze()
|
||||||
|
properties.forEach { it.checkAndThrow() }
|
||||||
isFrozen = true
|
isFrozen = true
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,19 +1,16 @@
|
|||||||
package ru.dbotthepony.kstarbound.defs.item
|
package ru.dbotthepony.kstarbound.defs.item
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList
|
import com.google.common.collect.ImmutableList
|
||||||
import ru.dbotthepony.kstarbound.defs.DefinitionBuilder
|
import ru.dbotthepony.kstarbound.defs.FreezableDefintionBuilder
|
||||||
import ru.dbotthepony.kstarbound.defs.RegistryReference
|
import ru.dbotthepony.kstarbound.defs.RegistryReference
|
||||||
import ru.dbotthepony.kstarbound.defs.ThingDescription
|
import ru.dbotthepony.kstarbound.defs.ThingDescription
|
||||||
import ru.dbotthepony.kstarbound.defs.util.enrollMap
|
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter
|
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.INativeJsonHolder
|
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
|
import ru.dbotthepony.kstarbound.io.json.builder.JsonBuilder
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.JsonPropertyConfig
|
import ru.dbotthepony.kstarbound.io.json.builder.JsonPropertyConfig
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.JsonIgnoreProperty
|
import ru.dbotthepony.kstarbound.io.json.builder.JsonIgnoreProperty
|
||||||
import ru.dbotthepony.kstarbound.util.NotNullVar
|
import ru.dbotthepony.kstarbound.util.NotNullVar
|
||||||
|
|
||||||
@JsonBuilder
|
@JsonBuilder
|
||||||
open class ItemPrototype : DefinitionBuilder(), IItemDefinition {
|
open class ItemPrototype : FreezableDefintionBuilder(), IItemDefinition {
|
||||||
@JsonIgnoreProperty
|
@JsonIgnoreProperty
|
||||||
final override val shortdescription: String
|
final override val shortdescription: String
|
||||||
get() = descriptionData.shortdescription
|
get() = descriptionData.shortdescription
|
||||||
|
@ -19,11 +19,10 @@ import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet
|
|||||||
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet
|
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet
|
||||||
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap
|
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
||||||
import ru.dbotthepony.kstarbound.defs.DefinitionBuilder
|
import ru.dbotthepony.kstarbound.defs.FreezableDefintionBuilder
|
||||||
import ru.dbotthepony.kstarbound.defs.util.flattenJsonElement
|
import ru.dbotthepony.kstarbound.defs.util.flattenJsonElement
|
||||||
import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter.Builder
|
import ru.dbotthepony.kstarbound.io.json.builder.BuilderAdapter.Builder
|
||||||
import ru.dbotthepony.kstarbound.util.INotNullDelegate
|
import ru.dbotthepony.kstarbound.util.INotNullDelegate
|
||||||
import ru.dbotthepony.kstarbound.util.NotNullVar
|
|
||||||
import kotlin.properties.Delegates
|
import kotlin.properties.Delegates
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlin.reflect.KMutableProperty1
|
import kotlin.reflect.KMutableProperty1
|
||||||
@ -187,7 +186,7 @@ class BuilderAdapter<T : Any> private constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (instance is DefinitionBuilder) {
|
if (instance is FreezableDefintionBuilder) {
|
||||||
instance.freeze()
|
instance.freeze()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user