App::Serializer::Yaml - Interface for serialization and deserialization


App-Context documentation  | view source Contained in the App-Context distribution.

Index


NAME

Top

App::Serializer::Yaml - Interface for serialization and deserialization

SYNOPSIS

Top

    use App;

    $context = App->context();
    $serializer = $context->service("Serializer");  # or ...
    $serializer = $context->serializer();
    $data = {
        an => 'arbitrary',
        collection => [ 'of', 'data', ],
        of => {
            arbitrary => 'depth',
        },
    };
    $yaml = $serializer->serialize($data);
    $data = $serializer->deserialize($yaml);
    print $serializer->dump($data), "\n";

DESCRIPTION

Top

A Serializer allows you to serialize a structure of data of arbitrary depth to a scalar and deserialize it back to the structure.

The Yaml serializer uses YAML as the serialized form of the data. It uses the "YAML.pm" module from CPAN to perform the deserialization and serialization.

Class: App::Serializer::Yaml

Top

 * Throws: App::Exception::Serializer
 * Since:  0.01

Design

The class is entirely made up of static (class) methods. However, they are each intended to be called as methods on the instance itself.

Constructor Methods:

Top

new()

The constructor is inherited from App::Service|App::Service/"new()".

Public Methods:

Top

serialize()

    * Signature: $yaml = $serializer->serialize(@data);
    * Param:     @data             any
    * Return:    $yaml             text
    * Throws:    App::Exception::Serializer
    * Since:     0.01

    Sample Usage: 

    $context = App->context();
    $serializer = $context->service("Serializer");  # or ...
    $serializer = $context->serializer();
    $data = {
        an => 'arbitrary',
        collection => [ 'of', 'data', ],
        of => {
            arbitrary => 'depth',
        },
    };
    $yaml = $serializer->serialize($data);

deserialize()

    * Signature: @data = $serializer->deserialize($yaml);
    * Signature: @data = App::Serializer->deserialize($yaml);
    * Param:     $yaml          text
    * Return:    @data          any
    * Throws:    App::Exception::Serializer
    * Since:     0.01

    Sample Usage: 

    $context = App->context();
    $serializer = $context->service("Serializer");  # or ...
    $serializer = $context->serializer();
    $data = $serializer->deserialize($yaml);
    print $serializer->dump($data), "\n";

serialized_content_type()

    * Signature: $serialized_content_type = $service->serialized_content_type();
    * Param:     void
    * Return:    $serialized_content_type   string
    * Throws:    App::Exception
    * Since:     0.01

    Sample Usage: 

    $serialized_content_type = $service->serialized_content_type();

dump()

This method is inherited from App::Serializer|App::Serializer/"dump()".

ACKNOWLEDGEMENTS

Top

 * Author:  Stephen Adkins <spadkins@gmail.com>
 * License: This is free software. It is licensed under the same terms as Perl itself.

SEE ALSO

Top

App::Context|App::Context, App::Service|App::Service


App-Context documentation  | view source Contained in the App-Context distribution.