NAME

Mail::AuthenticationResults::Header::Base - Base class for modelling parts of the Authentication Results Header

VERSION

version 1.20200108

DESCRIPTION

Set of classes representing the various parts and sub parts of Authentication Results Headers.

Mail::AuthenticationResults::Header represents a complete Authentication Results Header set Mail::AuthenticationResults::Header::AuthServID represents the AuthServID part of the set Mail::AuthenticationResults::Header::Comment represents a comment Mail::AuthenticationResults::Header::Entry represents a main entry Mail::AuthenticationResults::Header::Group represents a group of parts, typically as a search result Mail::AuthenticationResults::Header::SubEntry represents a sub entry part Mail::AuthenticationResults::Header::Version represents a version part

Header AuthServID Version Comment SubEntry Entry Comment Entry Comment SubEntry Comment Entry SubEntry SubEntry

Group Entry Comment SubEntry Comment Entry SubEntry

METHODS

new()

Return a new instance of this class

set_key( $key )

Set the key for this instance.

Croaks if $key is invalid.

key()

Return the current key for this instance.

Croaks if this instance type can not have a key.

safe_set_value( $value )

Set the value for this instance.

Munges the value to remove invalid characters before setting.

This method also removes some value characters when their inclusion would be likely to break simple parsers.

set_value( $value )

Set the value for this instance.

Croaks if the value contains invalid characters.

value()

Returns the current value for this instance.

stringify( $value )

Returns $value with stringify rules applied.

children()

Returns a listref of this instances children.

Croaks if this instance type can not have children.

orphan()

Removes the parent for this instance.

Croaks if this instance does not have a parent.

add_parent( $parent )

Sets the parent for this instance to the supplied object.

Croaks if the relationship between $parent and $self is not valid.

parent()

Returns the parent object for this instance.

remove_child( $child )

Removes $child as a child of this instance.

Croaks if the relationship between $child and $self is not valid.

add_child( $child )

Adds $child as a child of this instance.

Croaks if the relationship between $child and $self is not valid.

ancestor()

Returns the top Header object and depth of this child

as_string_prefix( $header )

Add the prefix to as_string for this object when calledas a child of another objects as_string method call.

as_json()

Return this instance as a JSON serialised string

as_string()

Returns this instance as a string.

build_string( $header )

Build a string using the supplied Mail::AuthenticationResults::FoldableHeader object.

search( $search )

Apply search rules in $search to this instance and return a Mail::AuthenticationResults::Header::Group object containing the matches.

$search is a HASHREF with the following possible key/value pairs

key

Match if the instance key matches the supplied value (string or regex)

value

Match if the instance value matches the supplied value (string or regex)

isa

Match is the instance class typs matches the supplied value. This is a lowercase version of the class type, (comment,entry,subentry,etc))

has

An arrayref of searches, match this class if the supplied search queries would return at least 1 result each

AUTHOR

Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Marc Bradshaw.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.