Trait<TraitValue extends Object> class abstract

Traits provide additional context and semantics to shapes.

A trait complements a Shape by providing additional information to help correctly interpret any specific representation of it or to add information about constraints on the logical structure of the Shape.

Implementers
Available extensions

Constructors

Trait.new(ShapeId shapeId, TraitValue value)
const

Properties

hashCode int
The hash code for this object.
no setterinherited
idiomaticName String

Available on Trait<Object>, provided by the TraitHelpers extension

Gets the idiomatic name of a prelude trait by stripping off the smithy.api# prefix. This is used in various error messages.
no setter
isSynthetic bool
Checks if this trait is persisted with the shape, or if it is a synthetic, or transient trait, only meant to temporarily aid in some kind of in-memory model transformation.
no setter
name String

Available on Trait<Object>, provided by the TraitHelpers extension

The absolute name (shape ID) of this trait.
no setter
props List<Object?>
The type's equatable properties.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shapeId ShapeId
Returns the fully-qualified shape ID of the trait.
final
value → TraitValue
The value of the trait.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Object?
Serializes this as a JSON object.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

serializers Map<ShapeId, TraitConstructor<Object, Trait<Object>>>
final

Static Methods

fromJson(ShapeId shapeId, Object? jsonValue) Trait<Object>