Change logic of AttributesBuilder. It no longer exposes the constructor
This commit is contained in:
parent
214467d21c
commit
3b74968f9a
@ -14,8 +14,6 @@ public class AttributesBuilder<out O> internal constructor(
|
|||||||
private val map: MutableMap<Attribute<*>, Any?>,
|
private val map: MutableMap<Attribute<*>, Any?>,
|
||||||
) : Attributes {
|
) : Attributes {
|
||||||
|
|
||||||
public constructor() : this(mutableMapOf())
|
|
||||||
|
|
||||||
override fun toString(): String = "Attributes(value=${content.entries})"
|
override fun toString(): String = "Attributes(value=${content.entries})"
|
||||||
override fun equals(other: Any?): Boolean = other is Attributes && Attributes.equals(this, other)
|
override fun equals(other: Any?): Boolean = other is Attributes && Attributes.equals(this, other)
|
||||||
override fun hashCode(): Int = content.hashCode()
|
override fun hashCode(): Int = content.hashCode()
|
||||||
@ -61,5 +59,9 @@ public class AttributesBuilder<out O> internal constructor(
|
|||||||
public fun build(): Attributes = AttributesImpl(map)
|
public fun build(): Attributes = AttributesImpl(map)
|
||||||
}
|
}
|
||||||
|
|
||||||
public inline fun <O> Attributes(builder: AttributesBuilder<O>.() -> Unit): Attributes =
|
/**
|
||||||
AttributesBuilder<O>().apply(builder).build()
|
* Create [Attributes] with a given [builder]
|
||||||
|
* @param O the type for which attributes are built. The type is used only during compilation phase for static extension dispatch
|
||||||
|
*/
|
||||||
|
public fun <O> Attributes(builder: AttributesBuilder<O>.() -> Unit): Attributes =
|
||||||
|
AttributesBuilder<O>(mutableMapOf()).apply(builder).build()
|
Loading…
Reference in New Issue
Block a user