/* * Copyright (c) 2014 Dennis Fischer. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0+ * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: Dennis Fischer */ package de.chaosfisch.uploader.persistence; import com.google.inject.Inject; import de.chaosfisch.google.YouTubeProvider; import de.chaosfisch.google.account.Account; import de.chaosfisch.google.account.IAccountService; import de.chaosfisch.google.youtube.playlist.AbstractPlaylistService; import de.chaosfisch.google.youtube.playlist.Playlist; import de.chaosfisch.uploader.persistence.dao.IPlaylistDao; import java.util.List; class PlaylistServiceImpl extends AbstractPlaylistService { private final IPlaylistDao playlistDao; @Inject public PlaylistServiceImpl(final IPlaylistDao playlistDao, final IAccountService accountService, final YouTubeProvider youTubeProvider) { super(accountService, youTubeProvider); this.playlistDao = playlistDao; } @Override public List<Playlist> getAll(final Account account) { return playlistDao.getAll(account); } @Override public Playlist get(final String id) { return playlistDao.get(id); } @Override public void insert(final Playlist playlist) { playlistDao.insert(playlist); } @Override public void update(final Playlist playlist) { playlistDao.update(playlist); } @Override public void delete(final Playlist playlist) { playlistDao.delete(playlist); } @Override public List<Playlist> findByHidden(final Account account, final boolean hidden) { return playlistDao.fetchByHidden(account, hidden); } @Override public Playlist findByPkey(final String playlistKey) { return playlistDao.fetchByPKey(playlistKey); } @Override public List<Playlist> fetchUnhiddenByAccount(final Account account) { return findByHidden(account, false); } }