diff options
| author | Michiel Van Der Kolk <not.valid@email.address> | 2005-07-11 15:42:37 +0000 |
|---|---|---|
| committer | Michiel Van Der Kolk <not.valid@email.address> | 2005-07-11 15:42:37 +0000 |
| commit | 9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e (patch) | |
| tree | 4c304cd4151020bd5494d279ee68a105ae3a5a3a /songdbj/ArtistEntry.java | |
| parent | dfa8ecbe609ca8ea194d08560a44fb9a92e94b4b (diff) | |
| download | rockbox-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.java | 56 |
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 |