File Coverage

blib/lib/Ekahau/Response/AreaList.pm
Criterion Covered Total %
statement 15 40 37.5
branch 0 4 0.0
condition n/a
subroutine 5 11 45.4
pod 4 6 66.6
total 24 61 39.3


line stmt bran cond sub pod time code
1             package Ekahau::Response::AreaList;
2 6     6   40 use base 'Ekahau::Response'; our $VERSION=Ekahau::Response::VERSION;
  6         11  
  6         1572  
3              
4             # Written by Scott Gifford
5             # Copyright (C) 2004 The Regents of the University of Michigan.
6             # See the file LICENSE included with the distribution for license
7             # information.
8              
9 6     6   3603 use Ekahau::Response::Area;
  6         17  
  6         170  
10 6     6   37 use constant AREA_CLASS => 'Ekahau::Response::Area';
  6         86  
  6         374  
11              
12 6     6   31 use strict;
  6         13  
  6         228  
13 6     6   28 use warnings;
  6         11  
  6         2438  
14              
15             =head1 NAME
16              
17             Ekahau::Response::AreaList - Represents a list of areas contained in an Ekahau response
18              
19             =head1 SYNOPSIS
20              
21             Contains information about a list of areas, possibly from an
22             L object.
23              
24             =head1 DESCRIPTION
25              
26             =head2 Constructor
27              
28             Generally you will not want to construct these objects yourself; they
29             are created by L, and use its constructor.
30              
31             =head2 Methods
32              
33             =cut
34              
35             # Internal method
36             sub init
37             {
38 0     0 0   my $self = shift;
39              
40 0 0         warn "Created Ekahau::Response::AreaList object\n"
41             if ($ENV{VERBOSE});
42 0           $self->{_areas}=[ map { $self->create_area($_) } @{$self->{params}{AREA}} ];
  0            
  0            
43 0           1;
44             }
45              
46             # Internal method
47             sub create_area
48             {
49 0     0 0   my $self = shift;
50 0           my($area)=@_;
51            
52 0 0         if (!$area) { return undef; }
  0            
53            
54 0           my $new = { %$self };
55 0           $new->{params} = { %$area };
56 0           bless $new,AREA_CLASS;
57 0           $new->init;
58 0           $new;
59             }
60              
61             =head3 get ( $which )
62              
63             Return L object number C<$which>.
64              
65             =cut
66              
67             sub get
68             {
69 0     0 1   my $self = shift;
70            
71 0           my($which)=@_;
72 0           return $self->{_areas}[$which];
73             }
74              
75             =head3 get_all ( )
76              
77             Return all L objects in this list.
78              
79             =cut
80              
81             sub get_all
82             {
83 0     0 1   my $self = shift;
84            
85 0           return @{$self->{_areas}};
  0            
86             }
87              
88             =head3 num_areas
89              
90             Returns the number of areas in this object
91              
92             =cut
93              
94             sub num_areas
95             {
96 0     0 1   my $self = shift;
97            
98 0           return scalar(@{$self->{_areas}});
  0            
99             }
100              
101             =head3 type ( )
102              
103             Returns the string I, to identify the type of this object.
104             Note that subclasses of this class will override this method,
105             returning their own type string.
106              
107             =cut
108              
109             sub type
110             {
111 0     0 1   'AreaList';
112             }
113              
114             =head1 AUTHOR
115              
116             Scott Gifford Egifford@umich.eduE, Esgifford@suspectclass.comE
117              
118             Copyright (C) 2005 The Regents of the University of Michigan.
119              
120             See the file LICENSE included with the distribution for license
121             information.
122              
123              
124             =head1 SEE ALSO
125              
126             L, L, L.
127              
128             =cut
129              
130              
131             1;