1 package be.bastard.mtracker;
2
3 /***
4 * Created by IntelliJ IDEA.
5 * User: rls
6 * Date: 6-feb-2006
7 * Time: 14:49:26
8 * To change this template use File | Settings | File Templates.
9 */
10 public abstract class AbstractMediaItem implements MediaItem {
11 protected final MediaId id;
12
13 protected AbstractMediaItem(MediaId id) {
14 this.id = id;
15 }
16
17 protected AbstractMediaItem() {
18 this(MediaFactory.createMediaId());
19 }
20
21 public MediaId getId() {
22 return id;
23 }
24
25 public boolean equals(Object obj) {
26 return obj instanceof MediaItem && equals((MediaItem) obj);
27 }
28
29 public int hashCode() {
30 return id.hashCode();
31 }
32
33 public boolean equals(MediaItem item) {
34 return item.getId().equals(this.id);
35 }
36
37 public int compareTo(MediaItem item) {
38 if (equals(item)) {
39 return 0;
40 } else {
41 MediaId id2 = item.getId();
42 return id.compareTo(id2);
43 }
44 }
45 }