File Coverage

blib/lib/BIE/Data/HDF5/Data.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1             package BIE::Data::HDF5::Data;
2             our $VERSION = '0.01';
3 1     1   25539 use Moose;
  0            
  0            
4             use namespace::autoclean;
5             use v5.10;
6             use BIE::Data::HDF5 ':all';
7              
8             has 'name' => (
9             is => 'ro',
10             isa => 'Str',
11             lazy => 1,
12             default => sub {
13             my $self = shift;
14             h5name($self->id);
15             },
16             );
17              
18             has 'id' => (
19             is => 'ro',
20             isa => 'Int',
21             required => 1,
22             );
23              
24             has 'code' => (
25             is => 'ro',
26             isa => 'Str',
27             lazy => 1,
28             default => sub {
29             my $self = shift;
30             getH5DCode($self->id);
31             },
32             );
33              
34             has 'value' => (
35             is => 'ro',
36             lazy => 1,
37             default => sub {
38             my $self = shift;
39             H5Dread($self->id);
40             },
41             );
42              
43             has 'dType' => (
44             is => 'ro',
45             isa => 'Int',
46             );
47              
48             has 'mType' => (
49             is => 'ro',
50             isa => 'Int',
51             );
52              
53             has 'space' => (
54             is => 'ro',
55             isa => 'Int',
56             );
57              
58             has 'size' => (
59             is => 'ro',
60             isa => 'Int'
61             );
62              
63             sub read {
64             my $self = shift;
65             my @val = unpack $self->code, $self->value;
66             return \@val;
67             }
68              
69             sub DEMOLISH {
70             my $self = shift;
71             H5Dclose($self->id);
72             }
73              
74             __PACKAGE__->meta->make_immutable;
75              
76             1;
77             __END__
78              
79             =head1 NAME
80              
81             BIE::Data::HDF5::Data - Perl extension for blah with datasets in HDF5.
82              
83             =head1 SYNOPSIS
84              
85             use BIE::Data::HDF5::Data;
86              
87             =head1 DESCRIPTION
88              
89             BIE::Data::HDF5::Data is an interface to operate datasets in
90             B<HDF5> format.
91              
92             =head2 ATTRIBUTES AND METHODS
93              
94             =over
95              
96             =item *
97              
98             "name": Dataset name.
99              
100             =item *
101              
102             "id": Dataset id.
103              
104             =item *
105              
106             "code": Data type code.
107              
108             =item *
109              
110             "read": Read data value.
111              
112             =back
113              
114             =head1 SEE ALSO
115              
116             L<BIE::Data::HDF5::Path>
117              
118             L<BIE::Data::HDF5::File>
119              
120             L<BIE::App::PacBio> See this module for a live example.
121              
122             =head1 AUTHOR
123              
124             Xin Zheng, E<lt>zhengxin@mail.nih.govE<gt>
125              
126             =head1 COPYRIGHT AND LICENSE
127              
128             Copyright (C) 2012 by Xin Zheng
129              
130             This library is free software; you can redistribute it and/or modify
131             it under the same terms as Perl itself, either Perl version 5.14.2 or,
132             at your option, any later version of Perl 5 you may have available.
133              
134             =cut