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

COVERAGE SUMMARY FOR SOURCE FILE [FrameBodyGEOB.java]

nameclass, %method, %block, %line, %
FrameBodyGEOB.java0%   (0/1)0%   (0/8)0%   (0/91)0%   (0/24)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class FrameBodyGEOB0%   (0/1)0%   (0/8)0%   (0/91)0%   (0/24)
FrameBodyGEOB (): void 0%   (0/1)0%   (0/3)0%   (0/2)
FrameBodyGEOB (FrameBodyGEOB): void 0%   (0/1)0%   (0/4)0%   (0/2)
FrameBodyGEOB (RandomAccessFile): void 0%   (0/1)0%   (0/6)0%   (0/3)
FrameBodyGEOB (byte, String, String, String, byte []): void 0%   (0/1)0%   (0/26)0%   (0/7)
getDescription (): String 0%   (0/1)0%   (0/5)0%   (0/1)
getIdentifier (): String 0%   (0/1)0%   (0/10)0%   (0/1)
setDescription (String): void 0%   (0/1)0%   (0/5)0%   (0/2)
setupObjectList (): void 0%   (0/1)0%   (0/32)0%   (0/6)

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.15.&nbsp;&nbsp; General encapsulated object</h3>
13 * <p/>
14 * <p>&nbsp;&nbsp; In this frame any type of file can be encapsulated. After the header,<br> &nbsp;&nbsp; 'Frame size'
15 * and 'Encoding' follows 'MIME type' [MIME] represented as<br> &nbsp;&nbsp; as a terminated string encoded with ISO
16 * 8859-1 [ISO-8859-1]. The<br> &nbsp;&nbsp; filename is case sensitive and is encoded as 'Encoding'. Then follows<br>
17 * <p/>
18 * &nbsp;&nbsp; a content description as terminated string, encoded as 'Encoding'.<br> &nbsp;&nbsp; The last thing in
19 * the frame is the actual object. The first two<br> &nbsp;&nbsp; strings may be omitted, leaving only their
20 * terminations. MIME type is<br> &nbsp;&nbsp; always an ISO-8859-1 text string. There may be more than one
21 * &quot;GEOB&quot;<br>
22 * <p/>
23 * &nbsp;&nbsp; frame in each tag, but only one with the same content descriptor.</p>
24 * <p/>
25 * <p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header for 'General encapsulated object', ID: &quot;GEOB&quot;&gt;<br>
26 * &nbsp;&nbsp;&nbsp;&nbsp; Text encoding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $xx<br>
27 * &nbsp;&nbsp;&nbsp;&nbsp; MIME type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
28 * <p/>
29 * &lt;text string&gt; $00<br> &nbsp;&nbsp;&nbsp;&nbsp; Filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
30 * &lt;text string according to encoding&gt; $00 (00)<br> &nbsp;&nbsp;&nbsp;&nbsp; Content description&nbsp;&nbsp;&nbsp;
31 * &lt;text string according to encoding&gt; $00 (00)<br>
32 * <p/>
33 * &nbsp;&nbsp;&nbsp;&nbsp; Encapsulated object&nbsp;&nbsp;&nbsp; &lt;binary data&gt;<br> </p>
34 *
35 * @author Eric Farng
36 * @version $Revision: 1.4 $
37 */
38public class FrameBodyGEOB extends AbstractID3v2FrameBody {
39 
40    /**
41     * Creates a new FrameBodyGEOB object.
42     */
43    public FrameBodyGEOB() {
44        super();
45    }
46 
47    /**
48     * Creates a new FrameBodyGEOB object.
49     */
50    public FrameBodyGEOB(final FrameBodyGEOB body) {
51        super(body);
52    }
53 
54    /**
55     * Creates a new FrameBodyGEOB object.
56     */
57    public FrameBodyGEOB(final byte textEncoding,
58                         final String mimeType,
59                         final String filename,
60                         final String description,
61                         final byte[] object) {
62        setObject("TextEncoding", new Byte(textEncoding));
63        setObject("MIME Type", mimeType);
64        setObject("Filename", filename);
65        setObject("Description", description);
66        setObject("Encapsulated Object", object);
67    }
68 
69    /**
70     * Creates a new FrameBodyGEOB object.
71     */
72    public FrameBodyGEOB(final RandomAccessFile file) throws IOException, InvalidTagException {
73        this.read(file);
74    }
75 
76    public void setDescription(final String description) {
77        setObject("Description", description);
78    }
79 
80    public String getDescription() {
81        return (String) getObject("Description");
82    }
83 
84    public String getIdentifier() {
85        return "GEOB" + ((char) 0) + getDescription();
86    }
87 
88    protected void setupObjectList() {
89        appendToObjectList(new ObjectNumberHashMap(ObjectNumberHashMap.TEXT_ENCODING, 1));
90        appendToObjectList(new ObjectStringNullTerminated("MIME Type"));
91        appendToObjectList(new ObjectStringNullTerminated("Filename"));
92        appendToObjectList(new ObjectStringNullTerminated("Description"));
93        appendToObjectList(new ObjectByteArraySizeTerminated("Encapsulated Object"));
94    }
95}

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