struct Athena::Serializer::PropertyMetadata(IvarType, ValueType, ClassType)
inherits Struct
#
Stores metadata related to a specific property.
This includes its name (internal and external), value, versions/groups, and any aliases.
Included modules
Athena::Serializer::PropertyMetadataBase
Constructors#
.new(name : String, external_name : String, annotation_configurations : ADI::AnnotationConfigurations, value : ValueType = nil, skip_when_empty : Bool = false, groups : Enumerable(String) = ["default"], aliases : Array(String) = [] of String, since_version : SemanticVersion | Nil = nil, until_version : SemanticVersion | Nil = nil, type : IvarType.class = IvarType, class __arg0 : ClassType.class = ClassType)
#
Methods#
#aliases : Array(String)
#
Deserialize this property from the property's name or any name in aliases.
See ASRA::Name
.
#annotation_configurations : ADI::AnnotationConfigurations
#
Returns annotations configurations registered via ADI..configuration_annotation
and applied to this property.
These configurations could then be accessed within an ASR::ExclusionStrategies::ExclusionStrategyInterface
.
#external_name : String
#
The name that should be used for serialization/deserialization.
#since_version : SemanticVersion | ::Nil
#
Represents the first version this property is available.
#since_version=(since_version : SemanticVersion | Nil)
#
Represents the first version this property is available.
#skip_when_empty? : Bool
#
If this property should not be serialized if it is empty.
See ASRA::SkipWhenEmpty
.
#until_version : SemanticVersion | ::Nil
#
Represents the last version this property was available.
#until_version=(until_version : SemanticVersion | Nil)
#
Represents the last version this property was available.