package com.turtleplayer.persistance.turtle.db.structure;
import com.turtleplayer.persistance.source.relational.Field;
import com.turtleplayer.util.Shorty;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
/**
* TURTLE PLAYER
* <p/>
* Licensed under MIT & GPL
* <p/>
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
* OR OTHER DEALINGS IN THE SOFTWARE.
* <p/>
* More Information @ www.turtle-player.co.uk
*
* @author Simon Honegger (Hoene84)
*/
public class Views
{
public final static Albums ALBUMS = new Albums();
public final static Artists ARTISTS = new Artists();
public final static Genres GENRES = new Genres();
public final static Songs SONGS = new Songs();
public static final class Albums implements Tables.AlbumsReadable
{
public Set<Tables.Tracks> getTables()
{
return Shorty.oneElementSet(Tables.TRACKS);
}
public List<Field> getFields()
{
return Arrays.asList(new Field[]{ALBUM});
}
}
public static final class Artists implements Tables.ArtistsReadable
{
public Set<Tables.Tracks> getTables()
{
return Shorty.oneElementSet(Tables.TRACKS);
}
public List<Field> getFields()
{
return Arrays.asList(new Field[]{ARTIST});
}
}
public static final class Genres implements Tables.GenresReadable
{
public Set<Tables.Tracks> getTables()
{
return Shorty.oneElementSet(Tables.TRACKS);
}
public List<Field> getFields()
{
return Arrays.asList(new Field[]{GENRE});
}
}
public static final class Songs implements Tables.SongsReadable
{
public Set<Tables.Tracks> getTables()
{
return Shorty.oneElementSet(Tables.TRACKS);
}
public List<Field> getFields()
{
return Arrays.asList(new Field[]{TITLE});
}
}
}