io.specmatic.core.value.NullValue.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of specmatic-core Show documentation
Show all versions of specmatic-core Show documentation
Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.
package io.specmatic.core.value
import io.specmatic.core.ExampleDeclarations
import io.specmatic.core.pattern.NullPattern
import io.specmatic.core.pattern.Pattern
object NullValue : Value, ScalarValue {
override val httpContentType: String = "text/plain"
override fun valueErrorSnippet(): String = this.displayableType()
override fun displayableValue(): String = "null"
override fun toStringLiteral() = ""
override fun displayableType(): String = "null"
override fun exactMatchElseType(): Pattern = NullPattern
override fun type(): Pattern = NullPattern
override fun typeDeclarationWithKey(key: String, types: Map, exampleDeclarations: ExampleDeclarations): Pair =
primitiveTypeDeclarationWithKey(key, types, exampleDeclarations, displayableType(), "(null)")
override fun listOf(valueList: List): Value {
return JSONArrayValue(valueList)
}
override fun typeDeclarationWithoutKey(exampleKey: String, types: Map, exampleDeclarations: ExampleDeclarations): Pair =
primitiveTypeDeclarationWithoutKey(exampleKey, types, exampleDeclarations, displayableType(), "(null)")
override val nativeValue: Any?
get() = null
override fun toString() = ""
}