NAME
Data::AnyXfer::Elastic::Import::File::Simple - An object representing a collection of data in storage
SYNOPSIS
# 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 } );
DESCRIPTION
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.
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
ATTRIBUTES
- storage
-
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.
- name
-
Optional. The name of the data collection. This will be need to match to retrieve the same data.
- format
-
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,
DATA INTERFACE
Please see Data::AnyXfer::Elastic::Import::File for the interface definition and information.
ADDITIONAL METHODS
reset_item_pos
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.
content
# 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.
COPYRIGHT
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.