From 69e23fa04554f3a3ca13d0ca64d993be83d9d1ec Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Tue, 15 Oct 2013 22:10:48 +0200 Subject: [PATCH] Move AlbumProvider and AlbumStore into AlbumDatabase. --- .../pterodactylus/sone/database/AlbumDatabase.java | 17 ++++++-- .../pterodactylus/sone/database/AlbumProvider.java | 45 ---------------------- .../pterodactylus/sone/database/AlbumStore.java | 45 ---------------------- 3 files changed, 13 insertions(+), 94 deletions(-) delete mode 100644 src/main/java/net/pterodactylus/sone/database/AlbumProvider.java delete mode 100644 src/main/java/net/pterodactylus/sone/database/AlbumStore.java 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); - -} -- 2.7.4