77 lines
2.6 KiB
Java
77 lines
2.6 KiB
Java
package org.schabi.newpipe.database.playlist.model;
|
|
|
|
import androidx.room.ColumnInfo;
|
|
import androidx.room.Entity;
|
|
import androidx.room.ForeignKey;
|
|
import androidx.room.Index;
|
|
|
|
import org.schabi.newpipe.database.stream.model.StreamEntity;
|
|
|
|
import static androidx.room.ForeignKey.CASCADE;
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_INDEX;
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_PLAYLIST_ID;
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_STREAM_ID;
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.PLAYLIST_STREAM_JOIN_TABLE;
|
|
|
|
@Entity(tableName = PLAYLIST_STREAM_JOIN_TABLE,
|
|
primaryKeys = {JOIN_PLAYLIST_ID, JOIN_INDEX},
|
|
indices = {
|
|
@Index(value = {JOIN_PLAYLIST_ID, JOIN_INDEX}, unique = true),
|
|
@Index(value = {JOIN_STREAM_ID})
|
|
},
|
|
foreignKeys = {
|
|
@ForeignKey(entity = PlaylistEntity.class,
|
|
parentColumns = PlaylistEntity.PLAYLIST_ID,
|
|
childColumns = JOIN_PLAYLIST_ID,
|
|
onDelete = CASCADE, onUpdate = CASCADE, deferred = true),
|
|
@ForeignKey(entity = StreamEntity.class,
|
|
parentColumns = StreamEntity.STREAM_ID,
|
|
childColumns = JOIN_STREAM_ID,
|
|
onDelete = CASCADE, onUpdate = CASCADE, deferred = true)
|
|
})
|
|
public class PlaylistStreamEntity {
|
|
public static final String PLAYLIST_STREAM_JOIN_TABLE = "playlist_stream_join";
|
|
public static final String JOIN_PLAYLIST_ID = "playlist_id";
|
|
public static final String JOIN_STREAM_ID = "stream_id";
|
|
public static final String JOIN_INDEX = "join_index";
|
|
|
|
@ColumnInfo(name = JOIN_PLAYLIST_ID)
|
|
private long playlistUid;
|
|
|
|
@ColumnInfo(name = JOIN_STREAM_ID)
|
|
private long streamUid;
|
|
|
|
@ColumnInfo(name = JOIN_INDEX)
|
|
private int index;
|
|
|
|
public PlaylistStreamEntity(final long playlistUid, final long streamUid, final int index) {
|
|
this.playlistUid = playlistUid;
|
|
this.streamUid = streamUid;
|
|
this.index = index;
|
|
}
|
|
|
|
public long getPlaylistUid() {
|
|
return playlistUid;
|
|
}
|
|
|
|
public void setPlaylistUid(final long playlistUid) {
|
|
this.playlistUid = playlistUid;
|
|
}
|
|
|
|
public long getStreamUid() {
|
|
return streamUid;
|
|
}
|
|
|
|
public void setStreamUid(final long streamUid) {
|
|
this.streamUid = streamUid;
|
|
}
|
|
|
|
public int getIndex() {
|
|
return index;
|
|
}
|
|
|
|
public void setIndex(final int index) {
|
|
this.index = index;
|
|
}
|
|
}
|