File Coverage

blib/lib/SOAP/WSDL/Generator/PrefixResolver.pm
Criterion Covered Total %
statement 9 15 60.0
branch 0 2 0.0
condition 0 3 0.0
subroutine 3 4 75.0
pod 1 1 100.0
total 13 25 52.0


line stmt bran cond sub pod time code
1             package SOAP::WSDL::Generator::PrefixResolver;
2 2     2   24127 use strict; use warnings;
  2     2   7  
  2         59  
  2         10  
  2         3  
  2         46  
3              
4 2     2   858 use Class::Std::Fast::Storable;
  2         5868  
  2         14  
5              
6             our $VERSION = $SOAP::WSDL::VERSION;
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__