Record Class InheritedAttributes
java.lang.Object
java.lang.Record
dev.getelements.elements.sdk.util.InheritedAttributes
- Record Components:
base
- the base attributes, may be null and will be replaced withAttributes.emptyAttributes()
current
- the current attributes that are inherited from the base attributes
- All Implemented Interfaces:
Attributes
public record InheritedAttributes(Attributes base, Attributes current)
extends Record
implements Attributes
A type of
Attributes
that inherits from a base set of attributes.-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.getelements.elements.sdk.Attributes
Attributes.Attribute<T>
-
Field Summary
Fields inherited from interface dev.getelements.elements.sdk.Attributes
EMPTY
-
Constructor Summary
ConstructorsConstructorDescriptionInheritedAttributes
(Attributes base, Attributes current) Creates an instance of aInheritedAttributes
record class. -
Method Summary
Modifier and TypeMethodDescriptionbase()
Returns the value of thebase
record component.current()
Returns the value of thecurrent
record component.final boolean
Indicates whether some other object is "equal to" this one.getAttributeOptional
(String name) Gets the attribute associated with thisAttributes
object.final int
hashCode()
Returns a hash code value for this object.Returns a copy of thisAttributes
as an immutable copy.newDerivativeFrom
(Attributes attributes) Derives a new set of attributes from the current set of attributes.newDerivativeFrom
(MutableAttributes attributes) Derives a new set of attributes from the current set of attributes.final String
toString()
Returns a string representation of this record class.static InheritedAttributes
withAttributes
(Attributes current) Creates anInheritedAttributes
object that inherits from the given attributes.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface dev.getelements.elements.sdk.Attributes
asMap, asProperties, asProperties, getAttribute, stream
-
Constructor Details
-
Method Details
-
withAttributes
Creates anInheritedAttributes
object that inherits from the given attributes.- Parameters:
current
- the attributes to inherit from- Returns:
- the new
InheritedAttributes
-
getAttributeNames
Description copied from interface:Attributes
- Specified by:
getAttributeNames
in interfaceAttributes
- Returns:
- the
List<String>
of attribute names
-
getAttributeOptional
Description copied from interface:Attributes
Gets the attribute associated with thisAttributes
object.- Specified by:
getAttributeOptional
in interfaceAttributes
- Parameters:
name
- the name of the attribute to fetch- Returns:
- an
Optional<Object>
for the value
-
immutableCopy
Description copied from interface:Attributes
Returns a copy of thisAttributes
as an immutable copy. Alternatively, if this instance is already immutable, then this will return this instance.- Specified by:
immutableCopy
in interfaceAttributes
- Returns:
- an immutable copy of this
Attributes
-
newDerivativeFrom
Derives a new set of attributes from the current set of attributes.- Parameters:
attributes
- the attributes- Returns:
- the new
InheritedAttributes
-
newDerivativeFrom
Derives a new set of attributes from the current set of attributes.- Parameters:
attributes
- the attributes- Returns:
- the new
InheritedAttributes
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
base
Returns the value of thebase
record component.- Returns:
- the value of the
base
record component
-
current
Returns the value of thecurrent
record component.- Returns:
- the value of the
current
record component
-