API-Eulerian
view release on metacpan or search on metacpan
lib/API/Eulerian/EDW/Parser.pm view on Meta::CPAN
#/usr/bin/env perl
###############################################################################
#
# @file Parser.pm
#
# @brief Eulerian Data Warehouse REST Parser Module definition.
#
# This module is the base class of every input file parser.
#
# @author Thorillon Xavier:x.thorillon@eulerian.com
#
# @date 26/11/2021
#
# @version 1.0
#
###############################################################################
#
# Setup module name
#
package API::Eulerian::EDW::Parser;
#
# Enforce compilor rules
#
use strict; use warnings;
#
# @brief Allocate and initialize a new API::Eulerian::EDW::Parser instance.
#
# @param $class - API::Eulerian::EDW::Parser class.
# @param $path - Input file path.
# @param $uuid - Eulerian Data Warehouse Analysis UUID.
#
# @return API::Eulerian::EDW::Parser instance.
#
sub new
{
my ( $class, $path, $uuid ) = @_;
return bless( {
_PATH => $path,
_UUID => $uuid,
}, $class );
}
#
# @brief Get/Set Eulerian Data Warehouse Analysis UUID.
#
# @param $self - API::Eulerian::EDW::Parser instance.
# @param $uuid - Eulerian Data Warehouse Analysis UUID.
#
# @return Eulerian Data Warehouse Analysis UUID.
#
sub uuid
{
my ( $self, $uuid ) = @_;
$self->{ _UUID } = $uuid if $uuid;
return $self->{ _UUID };
}
#
# @brief Get/Set Input file path.
#
# @parm $self - API::Eulerian::EDW::Parser instance.
#
# @return Input file path.
#
sub path
{
my ( $self, $path ) = @_;
$self->{ _PATH } = $path if $path;
return $self->{ _PATH };
}
#
# @brief Parse input file path and call user specific hook.
#
# @param $self - API::Eulerian::EDW::Parser instance.
# @param $hook - API::Eulerian::EDW::Hook instance.
#
sub do {}
#
# Endup module properly
#
1;
__END__
=pod
=head1 NAME
API::Eulerian::EDW::Hook - Eulerian Data Warehouse Hook module.
=head1 DESCRIPTION
This module is the base interface of an input file parser.
=head1 METHODS
=head2 new()
I<Allocate and initialize a new API::Eulerian::EDW::Hook instance.>
( run in 0.623 second using v1.01-cache-2.11-cpan-39bf76dae61 )