File Coverage

blib/lib/SOAP/WSDL/Generator/PrefixResolver.pm
Criterion Covered Total %
statement 12 18 66.6
branch 0 2 0.0
condition 0 3 0.0
subroutine 4 5 80.0
pod 1 1 100.0
total 17 29 58.6


line stmt bran cond sub pod time code
1             package SOAP::WSDL::Generator::PrefixResolver;
2 2     2   31458 use strict; use warnings;
  2     2   4  
  2         75  
  2         11  
  2         3  
  2         62  
3              
4 2     2   1391 use Class::Std::Fast::Storable;
  2         6720  
  2         24  
5              
6 2     2   425 use version; our $VERSION = qv('3.001');
  2         4  
  2         12  
7              
8             my %namespace_prefix_map_of :ATTR(:name :default<{}>);
9             my %namespace_map_of :ATTR(:name :default<{}>);
10             my %prefix_of :ATTR(:name :default<{}>);
11              
12             sub resolve_prefix {
13 0     0 1   my ($self, $type, $namespace, $element) = @_;
14 0           my $prefix;
15 0 0         if (not defined($namespace)) {
16 0           $prefix = $prefix_of{ $$self }->{ $type }
17             }
18             else {
19 0   0       $prefix = $namespace_prefix_map_of{ $$self }->{ $namespace }
20             || ( ($namespace_map_of{ $$self }->{ $namespace })
21             ? join ('::', $prefix_of{ $$self }->{ $type }, $namespace_map_of{ $$self }->{ $namespace })
22             : $prefix_of{ $$self }->{ $type }
23             );
24             }
25 0           return "${prefix}::";
26             }
27              
28             1;
29              
30             __END__