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 8     8   183 use 5.008;
  8         56  
4 8     8   56 use strict;
  8         16  
  8         268  
5 8     8   50 use warnings;
  8         18  
  8         555  
6              
7 8     8   53 use vars qw($VERSION);
  8         18  
  8         465  
8             BEGIN {
9 8     8   265 $VERSION='2.28'; # version template
10             }
11 8     8   51 use Carp;
  8         21  
  8         677  
12              
13 8     8   49 use base qw(Treex::PML::Factory);
  8         33  
  8         1142  
14 8     8   53 use UNIVERSAL::DOES;
  8         13  
  8         400  
15              
16 8     8   46 use Treex::PML::Struct;
  8         15  
  8         284  
17 8     8   3942 use Treex::PML::Container;
  8         25  
  8         264  
18 8     8   4040 use Treex::PML::Alt;
  8         28  
  8         291  
19 8     8   3869 use Treex::PML::List;
  8         27  
  8         330  
20 8     8   4004 use Treex::PML::Seq;
  8         29  
  8         322  
21 8     8   50 use Treex::PML::Node;
  8         16  
  8         220  
22 8     8   40 use Treex::PML::FSFormat;
  8         14  
  8         168  
23 8     8   33 use Treex::PML::Document;
  8         29  
  8         4041  
24              
25             sub createPMLSchema {
26 50     50 1 117 my $self = shift;
27 50         493 return Treex::PML::Schema->new(@_);
28             }
29              
30             sub createPMLInstance {
31 92     92 1 210 my $self = shift;
32 92 100       287 if (@_) {
33 28         125 return $self->createPMLInstance()->load(@_);
34             } else {
35 64         525 return Treex::PML::Instance->new();
36             }
37             }
38              
39             sub createDocument {
40 25     25 1 69 my $self = shift;
41 25         255 return Treex::PML::Document->new(@_);
42             }
43              
44             sub createDocumentFromFile {
45 25     25 1 206686 my $self = shift;
46 25         129 return $self->createDocument->load(@_);
47             }
48              
49             sub createFSFormat {
50 27     27 1 67 my $self = shift;
51 27         215 return Treex::PML::FSFormat->new(@_);
52             }
53              
54             sub createNode {
55 11235     11235 1 16009 my $self=shift;
56 11235         44567 return Treex::PML::Node->new(@_);
57             }
58              
59             sub createTypedNode {
60 11235     11235 1 20690 my $self = shift;
61 11235         19042 my $node;
62 11235 50 66     64442 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         21061 my $decl = shift;
69 11235         26134 $node = $self->createNode(@_);
70 11235         29937 $node->set_type($decl);
71             }
72 11235         28220 return $node;
73             }
74              
75             sub createList {
76 15900     15900 1 27444 my $self = shift;
77 15900 100       68004 return @_>0 ? Treex::PML::List->new_from_ref(@_) : Treex::PML::List->new();
78             }
79              
80             sub createSeq {
81 667     667 1 1259 my $self = shift;
82 667         3603 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 420 my $self = shift;
92 207         803 return Treex::PML::Container->new(@_);
93             }
94              
95             sub createStructure {
96 15492     15492 1 26229 my $self = shift;
97 15492         52630 return Treex::PML::Struct->new(@_);
98             }
99              
100              
101             1;
102             __END__