AttributeMap

An immutable map where a key is the tuple (String,T) for a fixed type T and can only be associated with values of type T. It is therefore possible for this map to contain mappings for keys with the same label but different types. Excluding this possibility is the responsibility of the client if desired.

Companion:
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def ++(o: Iterable[AttributeEntry[_]]): AttributeMap

Adds the mappings in o to this map, with mappings in o taking precedence over existing mappings.

Adds the mappings in o to this map, with mappings in o taking precedence over existing mappings.

Combines the mappings in o with the mappings in this map, with mappings in o taking precedence over existing mappings.

Combines the mappings in o with the mappings in this map, with mappings in o taking precedence over existing mappings.

def apply[T](k: AttributeKey[T]): T

Gets the value of type T associated with the key k. If a key with the same label but different type is defined, this method will fail.

Gets the value of type T associated with the key k. If a key with the same label but different type is defined, this method will fail.

def contains[T](k: AttributeKey[T]): Boolean

Returns true if this map contains a mapping for k. If a key with the same label but a different type is defined in this map, this method will return false.

Returns true if this map contains a mapping for k. If a key with the same label but a different type is defined in this map, this method will return false.

def entries: Iterable[AttributeEntry[_]]

All mappings in this map. The AttributeEntry type preserves the typesafety of mappings, although the specific types are unknown.

All mappings in this map. The AttributeEntry type preserves the typesafety of mappings, although the specific types are unknown.

def get[T](k: AttributeKey[T]): Option[T]

Gets the value of type T associated with the key k or None if no value is associated. If a key with the same label but a different type is defined, this method will return None.

Gets the value of type T associated with the key k or None if no value is associated. If a key with the same label but a different type is defined, this method will return None.

def isEmpty: Boolean

true if there are no mappings in this map, false if there are.

true if there are no mappings in this map, false if there are.

def keys: Iterable[AttributeKey[_]]

All keys with defined mappings. There may be multiple keys with the same label, but different types.

All keys with defined mappings. There may be multiple keys with the same label, but different types.

def put[T](k: AttributeKey[T], value: T): AttributeMap

Adds the mapping k -> value to this map, replacing any existing mapping for k. Any mappings for keys with the same label but different types are unaffected.

Adds the mapping k -> value to this map, replacing any existing mapping for k. Any mappings for keys with the same label but different types are unaffected.

Returns this map without the mapping for k. This method will not remove a mapping for a key with the same label but a different type.

Returns this map without the mapping for k. This method will not remove a mapping for a key with the same label but a different type.