File Coverage

blib/lib/SWIFT/Factory/Tag/Tag17.pm
Criterion Covered Total %
statement 19 27 70.3
branch 0 2 0.0
condition 0 3 0.0
subroutine 7 10 70.0
pod 2 2 100.0
total 28 44 63.6


line stmt bran cond sub pod time code
1             package SWIFT::Factory::Tag::Tag17;
2 1     1   6633 use strict;
  1         2  
  1         34  
3 1     1   6 use warnings;
  1         2  
  1         30  
4              
5 1     1   5 use vars qw($VERSION);
  1         11  
  1         45  
6             $VERSION='0.01';
7              
8             # Three potentially (and typically) overridden class methods.
9 1     1   5 use constant TAG_ID=>'';
  1         1  
  1         66  
10 1     1   4 use constant INDICATOR_TRUE=>'Y';
  1         2  
  1         35  
11 1     1   4 use constant INDICATOR_FALSE=>'N';
  1         2  
  1         37  
12              
13             BEGIN{
14 1     1   156 *provide=*string;
15             }
16              
17             ###########################################################################################################
18             # Constructor. Rarely overridden.
19             sub new {
20 0     0 1   my$self={};
21 0           bless($self,shift())->_init(@_);
22             }
23              
24             ###########################################################################################################
25             # Object method, potentially (but rarely) overridden.
26             # In normal cases, a subclass would override TAG_ID, INDICATOR_FALSE and INDICATOR_TRUE to achieve
27             # a specialized behaviour.
28             sub string {
29 0     0 1   my$self=shift;
30 0           ':17'.
31             $self->TAG_ID.
32             ':'.
33             $self->{INDICATOR}.
34             chr(13). # CR
35             chr(10); # LF
36             }
37              
38             ###########################################################################################################
39             ###########################################################################################################
40             #
41             # 'Internal' subs. Don't call these since they may, and will, change without notice.
42             #
43             ###########################################################################################################
44             ###########################################################################################################
45              
46             ###########################################################################################################
47             sub _init {
48 0     0     my$self=shift();
49 0           my%args=(
50             INDICATOR=>'',
51             @_);
52              
53 0 0 0       $self->{INDICATOR}=(defined($args{INDICATOR})&&$args{INDICATOR}?$self->INDICATOR_TRUE:$self->INDICATOR_FALSE);
54 0           $self;
55             }
56              
57             ###########################################################################################################
58             'Choppers rule';
59             __END__