/*
* MusicItem.java
*
* Created on May 17, 2007, 11:21:05 AM
*
* Represents an item in the collection
*
*/
package com.pugh.sockso.music;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.DataFlavor;
public class MusicItem implements Transferable {
public static final DataFlavor MUSIC_ITEM_FLAVOR = new DataFlavor( DataFlavor.javaJVMLocalObjectMimeType, "MusicItem" );
private final DataFlavor[] flavors = { MUSIC_ITEM_FLAVOR };
public static final String ARTIST = "artist";
public static final String ALBUM = "album";
public static final String GENRE = "genre";
public static final String TRACK = "track";
public static final String COLLECTION = "collection";
public static final String PLAYLIST = "playlist";
private final String type, name;
private final int id;
public MusicItem( final String type, final int id, final String name ) {
this.type = type;
this.id = id;
this.name = name;
}
public String getType() { return type; }
public int getId() { return id; }
public String getName() { return name; }
public String getShortType() { return type.substring(0,2).toLowerCase(); }
public int getChildCount() { return 0; }
@Override
public String toString() { return name; }
public Object getTransferData( final DataFlavor flavor ) {
return this;
}
public boolean isDataFlavorSupported( final DataFlavor flavor ) {
return ( flavor.equals(flavors[0]) );
}
public DataFlavor[] getTransferDataFlavors() {
return flavors.clone();
}
}