summaryrefslogtreecommitdiff
path: root/songdbj/ArtistEntry.java
diff options
context:
space:
mode:
authorMichiel Van Der Kolk <not.valid@email.address>2005-07-11 15:42:37 +0000
committerMichiel Van Der Kolk <not.valid@email.address>2005-07-11 15:42:37 +0000
commit9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e (patch)
tree4c304cd4151020bd5494d279ee68a105ae3a5a3a /songdbj/ArtistEntry.java
parentdfa8ecbe609ca8ea194d08560a44fb9a92e94b4b (diff)
downloadrockbox-9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e.zip
rockbox-9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e.tar.gz
rockbox-9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e.tar.bz2
rockbox-9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e.tar.xz
Songdb java version, source. only 1.5 compatible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7101 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'songdbj/ArtistEntry.java')
-rw-r--r--songdbj/ArtistEntry.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/songdbj/ArtistEntry.java b/songdbj/ArtistEntry.java
new file mode 100644
index 0000000..fcaaac7
--- /dev/null
+++ b/songdbj/ArtistEntry.java
@@ -0,0 +1,56 @@
+import java.util.*;
+import java.io.*;
+
+public class ArtistEntry extends Entry implements Comparable {
+ protected String name;
+ protected Vector albums;
+ protected int albumcount;
+
+ public ArtistEntry(String n) {
+ name=n;
+ albums=new Vector();
+ albumcount=0;
+ }
+
+ public void addAlbum(AlbumEntry e) {
+ if(!albums.contains(e)) {
+ albums.add(e);
+ e.setArtist(this);
+ albumcount++;
+ Collections.sort(albums);
+ }
+ }
+
+ public void removeAlbum(AlbumEntry e) {
+ albums.remove(e);
+ albumcount--;
+ }
+
+ public int size() { return albumcount; }
+
+ public int compareTo(Object o) {
+ return String.CASE_INSENSITIVE_ORDER.compare(name,((ArtistEntry)o).getName());
+ }
+
+ public String getName() { return name; }
+ public Collection getAlbums() { return albums; }
+ public void write(DataOutputStream w) throws IOException {
+ int x;
+ w.writeBytes(name);
+ for(x=TagDatabase.getInstance().artistlen-name.length();x>0;x--)
+ w.write(0);
+ Iterator i2 = albums.iterator();
+ x=0;
+ while(i2.hasNext()) {
+ Entry e = (Entry) i2.next();
+ w.writeInt(e.getOffset());
+ x++;
+ }
+ for(;x<TagDatabase.getInstance().albumarraylen;x++)
+ w.writeInt(0);
+ }
+ public static int entrySize() {
+ TagDatabase td=TagDatabase.getInstance();
+ return td.artistlen+4*td.albumarraylen;
+ }
+} \ No newline at end of file