NAME
Data::AnyXfer::Elastic::Import::File::Simple - An object representing a collection of data in storage
SYNOPSIS
# initialise any type of 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
"PID: %s\n"
,
$file
->get;
# get the env back
my
@env_data
;
push
@env_data
,
$data
while
(
my
$data
=
$file
->get );
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.