File Coverage

blib/lib/PDF/API3/Compat/API2/Basic/PDF/Null.pm
Criterion Covered Total %
statement 9 18 50.0
branch n/a
condition n/a
subroutine 3 10 30.0
pod 6 7 85.7
total 18 35 51.4


line stmt bran cond sub pod time code
1             #=======================================================================
2             # ____ ____ _____ _ ____ ___ ____
3             # | _ \| _ \| ___| _ _ / \ | _ \_ _| |___ \
4             # | |_) | | | | |_ (_) (_) / _ \ | |_) | | __) |
5             # | __/| |_| | _| _ _ / ___ \| __/| | / __/
6             # |_| |____/|_| (_) (_) /_/ \_\_| |___| |_____|
7             #
8             # A Perl Module Chain to faciliate the Creation and Modification
9             # of High-Quality "Portable Document Format (PDF)" Files.
10             #
11             #=======================================================================
12             #
13             # THIS IS A REUSED PERL MODULE, FOR PROPER LICENCING TERMS SEE BELOW:
14             #
15             #
16             # Copyright Martin Hosken
17             #
18             # No warranty or expression of effectiveness, least of all regarding
19             # anyone's safety, is implied in this software or documentation.
20             #
21             # This specific module is licensed under the Perl Artistic License.
22             #
23             #
24             # $Id: Null.pm,v 2.0 2005/11/16 02:16:00 areibens Exp $
25             #
26             #=======================================================================
27             package PDF::API3::Compat::API2::Basic::PDF::Null;
28            
29             =head1 NAME
30            
31             PDF::API3::Compat::API2::Basic::PDF::Null - PDF Null type object. This is a subclass of
32             PDF::API3::Compat::API2::Basic::PDF::Objind and cannot be subclassed.
33            
34             =head1 METHODS
35            
36             =cut
37            
38 1     1   5 use strict;
  1         2  
  1         45  
39            
40 1     1   6 use vars qw(@ISA);
  1         2  
  1         50  
41             @ISA = qw(PDF::API3::Compat::API2::Basic::PDF::Objind);
42            
43 1     1   5 no warnings qw[ deprecated recursion uninitialized ];
  1         1  
  1         299  
44            
45             # There is only one null object (section 3.2.8).
46             my ($null_obj) = {};
47             bless $null_obj, "PDF::API3::Compat::API2::Basic::PDF::Null";
48            
49            
50             =head2 PDF::API3::Compat::API2::Basic::PDF::Null->new
51            
52             Returns the null object. There is only one null object.
53            
54             =cut
55            
56             sub new {
57 0     0 1   return $null_obj;
58             }
59            
60             =head2 $s->realise
61            
62             Pretends to finish reading the object.
63            
64             =cut
65            
66             sub realise {
67 0     0 1   return $null_obj;
68             }
69            
70             =head2 $s->outobjdeep
71            
72             Output the object in PDF format.
73            
74             =cut
75            
76             sub outobjdeep
77             {
78 0     0 1   my ($self, $fh, $pdf) = @_;
79 0           $fh->print ("null");
80             }
81            
82             sub outxmldeep
83             {
84 0     0 0   my ($self, $fh, $pdf, %opts) = @_;
85            
86 0           $opts{-xmlfh}->print("\n");
87             }
88            
89             =head2 $s->is_obj
90            
91             Returns false because null is not a full object.
92            
93             =cut
94            
95             sub is_obj {
96 0     0 1   return 0;
97             }
98            
99             =head2 $s->copy
100            
101             Another no-op.
102            
103             =cut
104            
105             sub copy {
106 0     0 1   return $null_obj;
107             }
108            
109             =head2 $s->val
110            
111             Return undef.
112            
113             =cut
114            
115             sub val
116             {
117 0     0 1   return undef;
118             }
119            
120             1;