Skip to content

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)#

View source

Methods#

#aliases : Array(String)#

Deserialize this property from the property's name or any name in aliases.

See ASRA::Name.

View source

#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.

View source

#class : ClassType.class#

The class that the property is part of.

View source

#external_name : String#

The name that should be used for serialization/deserialization.

View source

#groups : Set(String)#

The serialization groups this property belongs to.

See ASR::ExclusionStrategies::Groups.

View source

#name : String#

The name of the property.

View source

#since_version : SemanticVersion | ::Nil#

Represents the first version this property is available.

See ASR::ExclusionStrategies::Version.

View source

#since_version=(since_version : SemanticVersion | Nil)#

Represents the first version this property is available.

See ASR::ExclusionStrategies::Version.

View source

#skip_when_empty? : Bool#

If this property should not be serialized if it is empty.

See ASRA::SkipWhenEmpty.

View source

#type : IvarType.class#

The type of the property.

View source

#until_version : SemanticVersion | ::Nil#

Represents the last version this property was available.

See ASR::ExclusionStrategies::Version.

View source

#until_version=(until_version : SemanticVersion | Nil)#

Represents the last version this property was available.

See ASR::ExclusionStrategies::Version.

View source

#value : ValueType#

The value of the property (when serializing).

View source