File Coverage

blib/lib/W3C/SOAP/WSDL/Document/InOutPuts.pm
Criterion Covered Total %
statement 27 47 57.4
branch 0 8 0.0
condition n/a
subroutine 9 11 81.8
pod n/a
total 36 66 54.5


line stmt bran cond sub pod time code
1             package W3C::SOAP::WSDL::Document::InOutPuts;
2              
3             # Created on: 2012-05-28 07:30:02
4             # Create by: Ivan Wills
5             # $Id$
6             # $Revision$, $HeadURL$, $Date$
7             # $Revision$, $Source$, $Date$
8              
9 1     1   5 use Moose;
  1         2  
  1         6  
10 1     1   4758 use warnings;
  1         3  
  1         22  
11 1     1   4 use version;
  1         1  
  1         5  
12 1     1   45 use Carp;
  1         1  
  1         50  
13 1     1   5 use Scalar::Util;
  1         1  
  1         25  
14 1     1   4 use List::Util;
  1         1  
  1         42  
15             #use List::MoreUtils;
16 1     1   4 use Data::Dumper qw/Dumper/;
  1         1  
  1         43  
17 1     1   4 use English qw/ -no_match_vars /;
  1         2  
  1         5  
18 1     1   313 use W3C::SOAP::Utils qw/split_ns/;
  1         2  
  1         7  
19             extends 'W3C::SOAP::Document::Node';
20              
21             our $VERSION = version->new('0.11');
22              
23             has message => (
24             is => 'rw',
25             isa => 'Maybe[W3C::SOAP::WSDL::Document::Message]',
26             builder => '_message',
27             lazy => 1,
28             );
29             has header => (
30             is => 'rw',
31             isa => 'Maybe[W3C::SOAP::WSDL::Document::Message]',
32             builder => '_header',
33             lazy => 1,
34             );
35             has policy => (
36             is => 'rw',
37             isa => 'Maybe[Str]',
38             builder => '_policy',
39             lazy => 1,
40             );
41             has body => (
42             is => 'rw',
43             isa => 'Maybe[Str]',
44             builder => '_body',
45             lazy => 1,
46             );
47              
48             has dir => (
49             is => 'rw',
50             isa => 'Maybe[Str]',
51             predicate => 'has_dir',
52             );
53              
54             sub _message {
55 0     0     my ($self) = @_;
56 0           my ($ns, $message) = split_ns($self->node->getAttribute('message'));
57              
58 0           for my $msg (@{ $self->document->messages }) {
  0            
59 0 0         return $msg if $msg->name eq $message;
60             }
61              
62 0           return;
63             }
64              
65             sub _header {
66 0     0     my ($self) = @_;
67              
68 0           my $header;
69 0 0         if ( $self->parent_node()->has_binding_operation() ) {
70 0           my $dir = $self->dir();
71 0           my $bo_node = $self->parent_node()->binding_operation()->node();
72              
73 0           my ($_node) = $self->document->xpc->findnodes("wsdl:$dir/soap:header", $bo_node);
74              
75 0 0         if ( defined $_node ) {
76 0           my ($ns, $message) = split_ns($_node->getAttribute('message'));
77              
78 0           HEADER_MESSAGE:
79 0           for my $msg (@{ $self->document->messages }) {
80 0 0         if ( $msg->name eq $message ) {
81 0           $header = $msg;
82 0           last HEADER_MESSAGE;
83             }
84             }
85             }
86             }
87 0           return $header;
88             }
89              
90              
91             1;
92              
93             __END__
94              
95             =head1 NAME
96              
97             W3C::SOAP::WSDL::Document::InOutPuts - Representation of input and output element in a WSDL document
98              
99             =head1 VERSION
100              
101             This documentation refers to W3C::SOAP::WSDL::Document::InOutPuts version 0.11.
102              
103              
104             =head1 SYNOPSIS
105              
106             use W3C::SOAP::WSDL::Document::InOutPuts;
107              
108             # Brief but working code example(s) here showing the most common usage(s)
109             # This section will be as far as many users bother reading, so make it as
110             # educational and exemplary as possible.
111              
112              
113             =head1 DESCRIPTION
114              
115             A C<W3C::SOAP::WSDL::Document::InOutPuts> represents the input and output
116             tags in a WSDL document
117              
118             =head1 SUBROUTINES/METHODS
119              
120             =over 4
121              
122             =back
123              
124             =head1 DIAGNOSTICS
125              
126             =head1 CONFIGURATION AND ENVIRONMENT
127              
128             =head1 DEPENDENCIES
129              
130             =head1 INCOMPATIBILITIES
131              
132             =head1 BUGS AND LIMITATIONS
133              
134             There are no known bugs in this module.
135              
136             Please report problems to Ivan Wills (ivan.wills@gmail.com).
137              
138             Patches are welcome.
139              
140             =head1 AUTHOR
141              
142             Ivan Wills - (ivan.wills@gmail.com)
143              
144             =head1 LICENSE AND COPYRIGHT
145              
146             Copyright (c) 2012 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077).
147             All rights reserved.
148              
149             This module is free software; you can redistribute it and/or modify it under
150             the same terms as Perl itself. See L<perlartistic>. This program is
151             distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
152             without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
153             PARTICULAR PURPOSE.
154              
155             =cut