PdfDeveloperExtension.java

1
/*
2
 * $Id:  $
3
 *
4
 * Copyright 2009 by Bruno Lowagie.
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * (the "License"); you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
9
 *
10
 * Software distributed under the License is distributed on an "AS IS" basis,
11
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
 * for the specific language governing rights and limitations under the License.
13
 *
14
 * The Original Code is 'iText, a free JAVA-PDF library'.
15
 *
16
 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
17
 * the Initial Developer are Copyright (C) 1999-2009 by Bruno Lowagie.
18
 * All Rights Reserved.
19
 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
20
 * are Copyright (C) 2000-2009 by Paulo Soares. All Rights Reserved.
21
 *
22
 * Contributor(s): all the names of the contributors are added in the source code
23
 * where applicable.
24
 *
25
 * Alternatively, the contents of this file may be used under the terms of the
26
 * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
27
 * provisions of LGPL are applicable instead of those above.  If you wish to
28
 * allow use of your version of this file only under the terms of the LGPL
29
 * License and not to allow others to use your version of this file under
30
 * the MPL, indicate your decision by deleting the provisions above and
31
 * replace them with the notice and other provisions required by the LGPL.
32
 * If you do not delete the provisions above, a recipient may use your version
33
 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
34
 *
35
 * This library is free software; you can redistribute it and/or modify it
36
 * under the terms of the MPL as stated above or under the terms of the GNU
37
 * Library General Public License as published by the Free Software Foundation;
38
 * either version 2 of the License, or any later version.
39
 *
40
 * This library is distributed in the hope that it will be useful, but WITHOUT
41
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
42
 * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
43
 * details.
44
 *
45
 * If you didn't download this code from the following link, you should check if
46
 * you aren't using an obsolete version:
47
 * http://www.lowagie.com/iText/
48
 */
49
50
package com.lowagie.text.pdf;
51
52
/**
53
 * Beginning with BaseVersion 1.7, the extensions dictionary lets developers
54
 * designate that a given document contains extensions to PDF. The presence
55
 * of the extension dictionary in a document indicates that it may contain
56
 * developer-specific PDF properties that extend a particular base version
57
 * of the PDF specification.
58
 * The extensions dictionary enables developers to identify their own extensions
59
 * relative to a base version of PDF. Additionally, the convention identifies
60
 * extension levels relative to that base version. The intent of this dictionary
61
 * is to enable developers of PDF-producing applications to identify company-specific
62
 * specifications (such as this one) that PDF-consuming applications use to
63
 * interpret the extensions.
64
 * @since    2.1.6
65
 */
66
public class PdfDeveloperExtension {
67
68
    /** An instance of this class for Adobe 1.7 Extension level 3. */
69
    public static final PdfDeveloperExtension ADOBE_1_7_EXTENSIONLEVEL3 =
70
        new PdfDeveloperExtension(PdfName.ADBE, PdfWriter.PDF_VERSION_1_7, 3);
71
    
72
    /** The prefix used in the Extensions dictionary added to the Catalog. */
73
    protected PdfName prefix;
74
    /** The base version. */
75
    protected PdfName baseversion;
76
    /** The extension level within the baseversion. */
77
    protected int extensionLevel;
78
    
79
    /**
80
     * Creates a PdfDeveloperExtension object.
81
     * @param prefix    the prefix referring to the developer
82
     * @param baseversion    the number of the base version
83
     * @param extensionLevel    the extension level within the baseverion.
84
     */
85
    public PdfDeveloperExtension(PdfName prefix, PdfName baseversion, int extensionLevel) {
86
        this.prefix = prefix;
87
        this.baseversion = baseversion;
88
        this.extensionLevel = extensionLevel;
89
    }
90
91
    /**
92
     * Gets the prefix name.
93
     * @return    a PdfName
94
     */
95
    public PdfName getPrefix() {
96
        return prefix;
97
    }
98
99
    /**
100
     * Gets the baseversion name.
101
     * @return    a PdfName
102
     */
103
    public PdfName getBaseversion() {
104
        return baseversion;
105
    }
106
107
    /**
108
     * Gets the extension level within the baseversion.
109
     * @return    an integer
110
     */
111
    public int getExtensionLevel() {
112
        return extensionLevel;
113
    }
114
    
115
    /**
116
     * Generations the developer extension dictionary corresponding
117
     * with the prefix.
118
     * @return    a PdfDictionary
119
     */
120
    public PdfDictionary getDeveloperExtensions() {
121
        PdfDictionary developerextensions = new PdfDictionary();
122 1 1. getDeveloperExtensions : removed call to com/lowagie/text/pdf/PdfDictionary::put → NO_COVERAGE
        developerextensions.put(PdfName.BASEVERSION, baseversion);
123 1 1. getDeveloperExtensions : removed call to com/lowagie/text/pdf/PdfDictionary::put → NO_COVERAGE
        developerextensions.put(PdfName.EXTENSIONLEVEL, new PdfNumber(extensionLevel));
124 1 1. getDeveloperExtensions : mutated return of Object value for com/lowagie/text/pdf/PdfDeveloperExtension::getDeveloperExtensions to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return developerextensions;
125
    }
126
}

Mutations

122

1.1
Location : getDeveloperExtensions
Killed by : none
removed call to com/lowagie/text/pdf/PdfDictionary::put → NO_COVERAGE

123

1.1
Location : getDeveloperExtensions
Killed by : none
removed call to com/lowagie/text/pdf/PdfDictionary::put → NO_COVERAGE

124

1.1
Location : getDeveloperExtensions
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/PdfDeveloperExtension::getDeveloperExtensions to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.4.2