Data::AnyXfer::Elastic::Import::File::Simple - An object representing a collection of data in storage
# initialise any type of storage... use constant STORAGE => Data::AnyXfer::Elastic::Import::Storage::Directory->new( dir => '/mnt/webdata/some/path' ); # 1. CREATE AN ENTRY... my $file = Data::AnyXfer::Elastic::Import::File::Simple->new( name => 'My-Data', storage => STORAGE, ); # store some data in the "file" entry $file->add($$); $file->add(%ENV); # depending on the storage type, you may need to call save... $storage->save; # 2. AND THEN...AT SOME OTHER TIME... my $file = Data::AnyXfer::Elastic::Import::File::Simple->new( name => 'My-Data', storage => STORAGE, ); # get the pid back print "PID: %s\n", $file->get; # get the env back my @env_data; push @env_data, $data while ( my $data = $file->get ); print Data::Dumper::Dumper( { @env_data } );
This is a low-level module representing a Data::AnyXfer::Elastic collection of data. The interface allows the storage and interaction with the data collection. Details of actual storage and persistence are handled by the Data::AnyXfer::Elastic::Import::Storage backend. See the "storage" attribute.
Data::AnyXfer::Elastic
Not all perl data structures may be supported. Serialisation is handled by Data::AnyXfer::Elastic::Import::File::Format. See the "format" attribute.
This module implements: Data::AnyXfer::Elastic::Import::File
Optional. The storage backend to retrieve and manipulate data from. If not supplied, will default to an instance of Data::AnyXfer::Elastic::Import::Storage::TempDirectory.
Optional. The name of the data collection. This will be need to match to retrieve the same data.
Optional. An implementation of Data::AnyXfer::Elastic::Import::File::Format. This controls serialisation and supported data types.
If not supplied, defaults to an instance of Data::AnyXfer::Elastic::Import::File::Format::JSON,
Please see Data::AnyXfer::Elastic::Import::File for the interface definition and information.
Does the same as the "reset" method but more descriptive. Can be used by subclasses to provide clarity when multiple types of 'resets' are available.
See "reset" in Data::AnyXfer::Elastic::Import::File for the interface definition.
# get all of the content my @data = @{ $file->content }; # or set it... $file->content([1..10]);
Fetch or overwrite the entire contents of the data collection. All at once.
This method should NOT be favoured over the standard iteration interface provided by "get" in Data::AnyXfer::Elastic::Import::File and "add" in Data::AnyXfer::Elastic::Import::File.
Knowledge of the entry structure and underlying implementation is required, or there may be unknown side-effects.
This is mostly intended for use within specialised subclasses such as Data::AnyXfer::Elastic::Import::File::MultiPart.
This software is copyright (c) 2019, Anthony Lucas.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Data::AnyXfer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::AnyXfer
CPAN shell
perl -MCPAN -e shell install Data::AnyXfer
For more information on module installation, please visit the detailed CPAN module installation guide.