package com.dreikraft.axbo.sound;
import com.dreikraft.axbo.util.ReflectUtil;
import java.util.Arrays;
/**
* Sound
*
* @author jan.illetschko@3kraft.com
*/
public class Sound {
private Integer id;
private String name;
private SoundFile axboFile;
private transient boolean playing = false;
private transient int startPage;
private transient int pageCount;
private transient byte[] data;
/**
* Creates a new instance of Sound
*/
public Sound() {
}
public Sound(final Integer id, final String name, final SoundFile axboFile) {
this.id = id;
this.name = name;
this.axboFile = axboFile;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SoundFile getAxboFile() {
return axboFile;
}
public void setAxboFile(SoundFile axboFile) {
this.axboFile = axboFile;
}
@Override
public String toString() {
return ReflectUtil.toString(this);
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public boolean isPlaying() {
return playing;
}
public void setPlaying(boolean playing) {
this.playing = playing;
}
public int getStartPage() {
return startPage;
}
public void setStartPage(int startPage) {
this.startPage = startPage;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public byte[] getData() {
return data != null ? Arrays.copyOf(data, data.length) : new byte[0];
}
public void setData(byte[] data) {
this.data = data != null ? Arrays.copyOf(data, data.length) : new byte[0];
}
}