PdfICCBased.java

1
/*
2
 * Copyright 2002 by Phillip Pan
3
 *
4
 * The contents of this file are subject to the Mozilla Public License Version 1.1
5
 * (the "License"); you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
7
 *
8
 * Software distributed under the License is distributed on an "AS IS" basis,
9
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10
 * for the specific language governing rights and limitations under the License.
11
 *
12
 * The Original Code is 'iText, a free JAVA-PDF library'.
13
 *
14
 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
15
 * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
16
 * All Rights Reserved.
17
 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
18
 * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
19
 *
20
 * Contributor(s): all the names of the contributors are added in the source code
21
 * where applicable.
22
 *
23
 * Alternatively, the contents of this file may be used under the terms of the
24
 * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
25
 * provisions of LGPL are applicable instead of those above.  If you wish to
26
 * allow use of your version of this file only under the terms of the LGPL
27
 * License and not to allow others to use your version of this file under
28
 * the MPL, indicate your decision by deleting the provisions above and
29
 * replace them with the notice and other provisions required by the LGPL.
30
 * If you do not delete the provisions above, a recipient may use your version
31
 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
32
 *
33
 * This library is free software; you can redistribute it and/or modify it
34
 * under the terms of the MPL as stated above or under the terms of the GNU
35
 * Library General Public License as published by the Free Software Foundation;
36
 * either version 2 of the License, or any later version.
37
 *
38
 * This library is distributed in the hope that it will be useful, but WITHOUT
39
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
40
 * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
41
 * details.
42
 *
43
 * If you didn't download this code from the following link, you should check if
44
 * you aren't using an obsolete version:
45
 * http://www.lowagie.com/iText/
46
 */
47
package com.lowagie.text.pdf;
48
49
import java.awt.color.ICC_Profile;
50
import com.lowagie.text.error_messages.MessageLocalization;
51
import com.lowagie.text.ExceptionConverter;
52
53
54
/**
55
 * A <CODE>PdfICCBased</CODE> defines a ColorSpace
56
 *
57
 * @see        PdfStream
58
 */
59
60
public class PdfICCBased extends PdfStream {
61
62
    /**
63
     * Creates an ICC stream.
64
     * @param    profile an ICC profile
65
     */
66
    public PdfICCBased(ICC_Profile profile) {
67
        this(profile, DEFAULT_COMPRESSION);
68
    }
69
    
70
    /**
71
     * Creates an ICC stream.
72
     *
73
     * @param    compressionLevel    the compressionLevel
74
     *
75
     * @param    profile an ICC profile
76
     * @since    2.1.3    (replacing the constructor without param compressionLevel)
77
     */
78
    public PdfICCBased(ICC_Profile profile, int compressionLevel) {
79
        super();
80
        try {
81
            int numberOfComponents = profile.getNumComponents();
82
            switch (numberOfComponents) {
83
                case 1:
84 1 1. : removed call to com/lowagie/text/pdf/PdfICCBased::put → NO_COVERAGE
                    put(PdfName.ALTERNATE, PdfName.DEVICEGRAY);
85
                    break;
86
                case 3:
87 1 1. : removed call to com/lowagie/text/pdf/PdfICCBased::put → NO_COVERAGE
                    put(PdfName.ALTERNATE, PdfName.DEVICERGB);
88
                    break;
89
                case 4:
90 1 1. : removed call to com/lowagie/text/pdf/PdfICCBased::put → NO_COVERAGE
                    put(PdfName.ALTERNATE, PdfName.DEVICECMYK);
91
                    break;
92
                default:
93
                    throw new PdfException(MessageLocalization.getComposedMessage("1.component.s.is.not.supported", numberOfComponents));
94
            }
95 1 1. : removed call to com/lowagie/text/pdf/PdfICCBased::put → NO_COVERAGE
            put(PdfName.N, new PdfNumber(numberOfComponents));
96
            bytes = profile.getData();
97 1 1. : removed call to com/lowagie/text/pdf/PdfICCBased::flateCompress → NO_COVERAGE
            flateCompress(compressionLevel);
98
        } catch (Exception e) {
99
            throw new ExceptionConverter(e);
100
        }
101
    }
102
}

Mutations

84

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

87

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

90

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

95

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

97

1.1
Location :
Killed by : none
removed call to com/lowagie/text/pdf/PdfICCBased::flateCompress → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.4.2