EMMA Coverage Report (generated Tue Mar 14 21:50:42 EST 2006)
[all classes][org.farng.mp3.id3]

COVERAGE SUMMARY FOR SOURCE FILE [FrameBodyAPIC.java]

nameclass, %method, %block, %line, %
FrameBodyAPIC.java100% (1/1)62%  (5/8)58%  (51/88)52%  (12/23)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class FrameBodyAPIC100% (1/1)62%  (5/8)58%  (51/88)52%  (12/23)
FrameBodyAPIC (): void 0%   (0/1)0%   (0/3)0%   (0/2)
FrameBodyAPIC (byte, String, byte, String, byte []): void 0%   (0/1)0%   (0/29)0%   (0/7)
setDescription (String): void 0%   (0/1)0%   (0/5)0%   (0/2)
FrameBodyAPIC (FrameBodyAPIC): void 100% (1/1)100% (4/4)100% (2/2)
FrameBodyAPIC (RandomAccessFile): void 100% (1/1)100% (6/6)100% (3/3)
getDescription (): String 100% (1/1)100% (5/5)100% (1/1)
getIdentifier (): String 100% (1/1)100% (10/10)100% (1/1)
setupObjectList (): void 100% (1/1)100% (26/26)100% (5/5)

1package org.farng.mp3.id3;
2 
3import org.farng.mp3.InvalidTagException;
4import org.farng.mp3.object.ObjectByteArraySizeTerminated;
5import org.farng.mp3.object.ObjectNumberHashMap;
6import org.farng.mp3.object.ObjectStringNullTerminated;
7 
8import java.io.IOException;
9import java.io.RandomAccessFile;
10 
11/**
12 * <h3>4.14.&nbsp;&nbsp; Attached picture</h3>
13 * <p/>
14 * <p>&nbsp;&nbsp; This frame contains a picture directly related to the audio file.<br> &nbsp;&nbsp; Image format is
15 * the MIME type and subtype [MIME] for the image. In<br> &nbsp;&nbsp; the event that the MIME media type name is
16 * omitted, &quot;image/&quot; will be<br>
17 * <p/>
18 * &nbsp;&nbsp; implied. The &quot;image/png&quot; [PNG] or &quot;image/jpeg&quot; [JFIF] picture format<br>
19 * &nbsp;&nbsp; should be used when interoperability is wanted. Description is a<br> &nbsp;&nbsp; short description of
20 * the picture, represented as a terminated<br>
21 * <p/>
22 * &nbsp;&nbsp; text string. There may be several pictures attached to one file, each<br> &nbsp;&nbsp; in their
23 * individual &quot;APIC&quot; frame, but only one with the same content<br> &nbsp;&nbsp; descriptor. There may only be
24 * one picture with the picture type<br> &nbsp;&nbsp; declared as picture type $01 and $02 respectively. There is
25 * the<br>
26 * <p/>
27 * &nbsp;&nbsp; possibility to put only a link to the image file by using the 'MIME<br> &nbsp;&nbsp; type'
28 * &quot;--&gt;&quot; and having a complete URL [URL] instead of picture data.<br> &nbsp;&nbsp; The use of linked files
29 * should however be used sparingly since there<br> &nbsp;&nbsp; is the risk of separation of files.</p>
30 * <p/>
31 * <p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header for 'Attached picture', ID: &quot;APIC&quot;&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;
32 * Text encoding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $xx<br> &nbsp;&nbsp;&nbsp;&nbsp; MIME
33 * type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;text string&gt;
34 * <p/>
35 * $00<br> &nbsp;&nbsp;&nbsp;&nbsp; Picture type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $xx<br> &nbsp;&nbsp;&nbsp;&nbsp;
36 * Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;text string according to encoding&gt; $00 (00)<br>
37 * <p/>
38 * &nbsp;&nbsp;&nbsp;&nbsp; Picture data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;binary data&gt;<br> </p>
39 * <p/>
40 * <p>&nbsp;&nbsp; Picture type:&nbsp; $00&nbsp; Other<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
41 * <p/>
42 * $01&nbsp; 32x32 pixels 'file icon' (PNG only)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
43 * $02&nbsp; Other file icon<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
44 * $03&nbsp; Cover (front)<br>
45 * <p/>
46 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $04&nbsp;
47 * Cover (back)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
48 * $05&nbsp; Leaflet page<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
49 * $06&nbsp; Media (e.g. label side of CD)<br>
50 * <p/>
51 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $07&nbsp; Lead
52 * artist/lead performer/soloist<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
53 * $08&nbsp; Artist/performer<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
54 * $09&nbsp; Conductor<br>
55 * <p/>
56 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $0A&nbsp;
57 * Band/Orchestra<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
58 * $0B&nbsp; Composer<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
59 * $0C&nbsp; Lyricist/text writer<br>
60 * <p/>
61 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $0D&nbsp;
62 * Recording Location<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
63 * $0E&nbsp; During recording<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
64 * $0F&nbsp; During performance<br>
65 * <p/>
66 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $10&nbsp;
67 * Movie/video screen capture<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
68 * $11&nbsp; A bright coloured fish<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
69 * $12&nbsp; Illustration<br>
70 * <p/>
71 * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $13&nbsp;
72 * Band/artist logotype<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
73 * $14&nbsp; Publisher/Studio logotype<br> </p>
74 *
75 * @author Eric Farng
76 * @version $Revision: 1.4 $
77 */
78public class FrameBodyAPIC extends AbstractID3v2FrameBody {
79 
80    /**
81     * Creates a new FrameBodyAPIC object.
82     */
83    public FrameBodyAPIC() {
84        super();
85    }
86 
87    /**
88     * Creates a new FrameBodyAPIC object.
89     */
90    public FrameBodyAPIC(final FrameBodyAPIC body) {
91        super(body);
92    }
93 
94    /**
95     * Creates a new FrameBodyAPIC object.
96     */
97    public FrameBodyAPIC(final byte textEncoding,
98                         final String mimeType,
99                         final byte pictureType,
100                         final String description,
101                         final byte[] data) {
102        super();
103        setObject("Text Encoding", new Byte(textEncoding));
104        setObject("MIME Type", mimeType);
105        setObject("Picture Type", new Byte(pictureType));
106        setObject("Description", description);
107        setObject("Picture Data", data);
108    }
109 
110    /**
111     * Creates a new FrameBodyAPIC object.
112     */
113    public FrameBodyAPIC(final RandomAccessFile file) throws IOException, InvalidTagException {
114        super();
115        read(file);
116    }
117 
118    public void setDescription(final String description) {
119        setObject("Description", description);
120    }
121 
122    public String getDescription() {
123        return (String) getObject("Description");
124    }
125 
126    public String getIdentifier() {
127        return "APIC" + (char) 0 + getDescription();
128    }
129 
130    protected void setupObjectList() {
131        appendToObjectList(new ObjectNumberHashMap("Text Encoding", 1));
132        appendToObjectList(new ObjectStringNullTerminated("MIME Type"));
133        appendToObjectList(new ObjectStringNullTerminated("Description"));
134        appendToObjectList(new ObjectByteArraySizeTerminated("Picture Data"));
135    }
136}

[all classes][org.farng.mp3.id3]
EMMA 2.0.5312 (C) Vladimir Roubtsov