An immutable collection of typed key-value attribute pairs.
Backed by parallel arrays with dual-slot storage: primitive values (Long, Double, Boolean) are stored unboxed in a Long array, while String values use a separate String array. A Byte type discriminator array selects the slot. Seq values use a separate AnyRef array for rare cases.
This design eliminates AttributeValue boxing for the common primitive cases, reducing GC pressure on hot paths.
Attributes
- Companion
- object
- Source
- Attributes.scala
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Merges this Attributes with another, with values from other taking precedence on conflicts.
Merges this Attributes with another, with values from other taking precedence on conflicts.
Attributes
- Source
- Attributes.scala
Invokes a visitor for each attribute without boxing primitives.
Compares the receiver object (this) with the argument object (that) for equivalence.
Compares the receiver object (this) with the argument object (that) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
xof typeAny,x.equals(x)should returntrue. - It is symmetric: for any instances
xandyof typeAny,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any instances
x,y, andzof typeAnyifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
trueif the receiver object is equivalent to the argument;falseotherwise. - Definition Classes
-
Any
- Source
- Attributes.scala
Invokes a function for each attribute. Creates AttributeValue wrappers lazily, so callers that need unboxed access should prefer accept.
Invokes a function for each attribute. Creates AttributeValue wrappers lazily, so callers that need unboxed access should prefer accept.
Attributes
- Source
- Attributes.scala
Retrieves a typed attribute by key, returning None if not found.
Retrieves a typed attribute by key, returning None if not found.
Type parameters
- A
-
The expected type of the value
Value parameters
- key
-
The typed key to look up
Attributes
- Returns
-
Some(value) if found, None otherwise
- Source
- Attributes.scala
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
Any
- Source
- Attributes.scala
True if this collection contains no attributes.
Number of attributes in this collection.
Converts this Attributes to a Map with string keys and AttributeValue values.
Converts this Attributes to a Map with string keys and AttributeValue values.
Attributes
- Source
- Attributes.scala