Laminate

class Laminate : TypedMeta<Laminate>

A meta laminate consisting of multiple immutable meta layers. For mutable front layer, use Scheme. If layers list contains a Laminate it is flat-mapped.

Types

Companion
Link copied to clipboard
common
object Companion

Functions

equals
Link copied to clipboard
common
open operator override fun equals(other: Any?): Boolean
getMeta
Link copied to clipboard
common
open override fun getMeta(name: Name): Laminate?
getValue
Link copied to clipboard
common
open override fun getValue(name: Name): Value?
hashCode
Link copied to clipboard
common
open override fun hashCode(): Int
merge
Link copied to clipboard
common
fun merge(): SealedMeta

Generate sealed meta by interweaving all layers. If a value is present in at least on layer, it will be present in the result.

toMeta
Link copied to clipboard
common
open override fun toMeta(): Meta
top
Link copied to clipboard
common
fun top(): SealedMeta

Generate sealed meta by stacking layers. If node is present in the upper layer, then the lower layers will be ignored event if they have values that are not present on top layer.

toString
Link copied to clipboard
common
open override fun toString(): String

Properties

items
Link copied to clipboard
common
open override val items: Map<NameToken, Laminate>
layers
Link copied to clipboard
common
val layers: List<Meta>
value
Link copied to clipboard
common
open override val value: Value?

Extensions

getFirst
Link copied to clipboard
common
fun Laminate.getFirst(name: Name): Meta?

Performance optimized version of get method

withBottom
Link copied to clipboard
common
fun Laminate.withBottom(meta: Meta): Laminate

Create a new Laminate adding given layer to the bottom

withTop
Link copied to clipboard
common
fun Laminate.withTop(meta: Meta): Laminate

Create a new Laminate adding given layer to the top