From: David ‘Bombe’ Roden Date: Tue, 15 Oct 2013 20:10:48 +0000 (+0200) Subject: Move AlbumProvider and AlbumStore into AlbumDatabase. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=69e23fa04554f3a3ca13d0ca64d993be83d9d1ec;p=Sone.git Move AlbumProvider and AlbumStore into AlbumDatabase. --- diff --git a/src/main/java/net/pterodactylus/sone/database/AlbumDatabase.java b/src/main/java/net/pterodactylus/sone/database/AlbumDatabase.java index f07523b..2174553 100644 --- a/src/main/java/net/pterodactylus/sone/database/AlbumDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/AlbumDatabase.java @@ -17,17 +17,26 @@ package net.pterodactylus.sone.database; +import java.util.List; + import net.pterodactylus.sone.data.Album; +import com.google.common.base.Optional; + /** - * Combines an {@link AlbumProvider} and an {@link AlbumStore} into an album - * database. + * Database for handling {@link Album}s. * * @author David ‘Bombe’ Roden */ -public interface AlbumDatabase extends AlbumProvider, AlbumStore { +public interface AlbumDatabase { + + Optional getAlbum(String albumId); + List getAlbums(Album parent); - void moveUp(Album album); void moveDown(Album album); + void moveUp(Album album); + + void storeAlbum(Album album); + void removeAlbum(Album album); } diff --git a/src/main/java/net/pterodactylus/sone/database/AlbumProvider.java b/src/main/java/net/pterodactylus/sone/database/AlbumProvider.java deleted file mode 100644 index c035623..0000000 --- a/src/main/java/net/pterodactylus/sone/database/AlbumProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Sone - AlbumProvider.java - Copyright © 2013 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.database; - -import java.util.List; - -import net.pterodactylus.sone.data.Album; - -import com.google.common.base.Optional; - -/** - * Interface for objects that can provide {@link Album}s by their ID. - * - * @author David ‘Bombe’ Roden - */ -public interface AlbumProvider { - - /** - * Returns the album with the given ID, or {@link Optional#absent()} if no such - * album exists. - * - * @param albumId - * The ID of the album - * @return The album, or {@link Optional#absent()} if the album does not exist - */ - Optional getAlbum(String albumId); - - List getAlbums(Album parent); - -} diff --git a/src/main/java/net/pterodactylus/sone/database/AlbumStore.java b/src/main/java/net/pterodactylus/sone/database/AlbumStore.java deleted file mode 100644 index c625535..0000000 --- a/src/main/java/net/pterodactylus/sone/database/AlbumStore.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Sone - AlbumStore.java - Copyright © 2013 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.database; - -import net.pterodactylus.sone.data.Album; - -/** - * Interface for a store of albums. - * - * @author David ‘Bombe’ Roden - */ -public interface AlbumStore { - - /** - * Stores the given album. - * - * @param album - * The album to store - */ - void storeAlbum(Album album); - - /** - * Removes the given album from the store. - * - * @param album - * The album to remove - */ - void removeAlbum(Album album); - -}