File Coverage

blib/lib/Treex/PML/StandardFactory.pm
Criterion Covered Total %
statement 74 80 92.5
branch 5 8 62.5
condition 3 6 50.0
subroutine 27 28 96.4
pod 12 12 100.0
total 121 134 90.3


line stmt bran cond sub pod time code
1             package Treex::PML::StandardFactory;
2              
3 9     9   162 use 5.008;
  9         31  
4 9     9   39 use strict;
  9         35  
  9         270  
5 9     9   33 use warnings;
  9         19  
  9         536  
6              
7 9     9   40 use vars qw($VERSION);
  9         10  
  9         465  
8             BEGIN {
9 9     9   189 $VERSION='2.29'; # version template
10             }
11 9     9   61 use Carp;
  9         20  
  9         614  
12              
13 9     9   42 use base qw(Treex::PML::Factory);
  9         23  
  9         1115  
14 9     9   53 use UNIVERSAL::DOES;
  9         29  
  9         376  
15              
16 9     9   49 use Treex::PML::Struct;
  9         14  
  9         200  
17 9     9   4035 use Treex::PML::Container;
  9         27  
  9         229  
18 9     9   3436 use Treex::PML::Alt;
  9         28  
  9         266  
19 9     9   3649 use Treex::PML::List;
  9         25  
  9         304  
20 9     9   3902 use Treex::PML::Seq;
  9         25  
  9         309  
21 9     9   77 use Treex::PML::Node;
  9         15  
  9         205  
22 9     9   38 use Treex::PML::FSFormat;
  9         17  
  9         196  
23 9     9   35 use Treex::PML::Document;
  9         16  
  9         3534  
24              
25             sub createPMLSchema {
26 51     51 1 96 my $self = shift;
27 51         442 return Treex::PML::Schema->new(@_);
28             }
29              
30             sub createPMLInstance {
31 93     93 1 136 my $self = shift;
32 93 100       178 if (@_) {
33 28         91 return $self->createPMLInstance()->load(@_);
34             } else {
35 65         308 return Treex::PML::Instance->new();
36             }
37             }
38              
39             sub createDocument {
40 25     25 1 72 my $self = shift;
41 25         234 return Treex::PML::Document->new(@_);
42             }
43              
44             sub createDocumentFromFile {
45 25     25 1 171162 my $self = shift;
46 25         97 return $self->createDocument->load(@_);
47             }
48              
49             sub createFSFormat {
50 27     27 1 40 my $self = shift;
51 27         193 return Treex::PML::FSFormat->new(@_);
52             }
53              
54             sub createNode {
55 11235     11235 1 13247 my $self=shift;
56 11235         26514 return Treex::PML::Node->new(@_);
57             }
58              
59             sub createTypedNode {
60 11235     11235 1 15297 my $self = shift;
61 11235         13459 my $node;
62 11235 50 66     43090 if (@_>1 and !ref($_[0]) and UNIVERSAL::DOES::does($_[1],'Treex::PML::Schema')) {
      33        
63 0         0 my $type = shift;
64 0         0 my $schema = shift;
65 0         0 $node = $self->createNode(@_);
66 0         0 $node->set_type_by_name($schema,$type);
67             } else {
68 11235         13783 my $decl = shift;
69 11235         17756 $node = $self->createNode(@_);
70 11235         21245 $node->set_type($decl);
71             }
72 11235         17818 return $node;
73             }
74              
75             sub createList {
76 15900     15900 1 19649 my $self = shift;
77 15900 100       46406 return @_>0 ? Treex::PML::List->new_from_ref(@_) : Treex::PML::List->new();
78             }
79              
80             sub createSeq {
81 673     673 1 168902 my $self = shift;
82 673         2876 return Treex::PML::Seq->new(@_);
83             }
84              
85             sub createAlt {
86 0     0 1 0 my $self = shift;
87 0 0       0 return @_>0 ? Treex::PML::Alt->new_from_ref(@_) : Treex::PML::Alt->new();
88             }
89              
90             sub createContainer {
91 207     207 1 295 my $self = shift;
92 207         648 return Treex::PML::Container->new(@_);
93             }
94              
95             sub createStructure {
96 15493     15493 1 18272 my $self = shift;
97 15493         36762 return Treex::PML::Struct->new(@_);
98             }
99              
100              
101             1;
102             __END__