package org.richfaces.demo.tree;
import java.util.ArrayList;
import java.util.Iterator;
import org.richfaces.model.TreeNode;
public class Song implements TreeNode {
/**
*
*/
private static final long serialVersionUID = 7155620465939481885L;
private long id;
private String title;
private String genre;
private int trackNumber;
private Album album;
public Song(long id) {
this.id = id;
}
public void addChild(Object identifier, TreeNode child) {
throw new UnsupportedOperationException("Songs do not have children");
}
public TreeNode getChild(Object id) {
throw new UnsupportedOperationException("Songs do not have children");
}
public Iterator getChildren() {
// TODO: Fix me!
return new ArrayList().iterator(); // work around limitation for TreeNode
}
public Object getData() {
return this;
}
public TreeNode getParent() {
return album;
}
public boolean isLeaf() {
return true;
}
public void removeChild(Object id) {
throw new UnsupportedOperationException("Songs do not have children");
}
public void setData(Object data) {
}
public void setParent(TreeNode parent) {
this.album = (Album) parent;
}
public Album getAlbum() {
return album;
}
public void setAlbum(Album album) {
this.album = album;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getTrackNumber() {
return trackNumber;
}
public void setTrackNumber(int trackNumber) {
this.trackNumber = trackNumber;
}
public long getId() {
return id;
}
public String getType() {
return "song";
}
}