package com.turtleplayer.persistance.turtle.mapping;
import android.database.Cursor;
import com.turtleplayer.model.*;
import com.turtleplayer.persistance.framework.creator.ResultCreator;
import com.turtleplayer.persistance.turtle.db.structure.Tables;
/**
* 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 TrackCreator implements ResultCreator<Tables.Tracks, Track, Cursor>
{
public Track create(Cursor cursor)
{
return new Track(
new SongDigest(cursor.getString(cursor.getColumnIndex(Tables.SongsReadable.TITLE.getName()))),
new ArtistDigest(cursor.getString(cursor.getColumnIndex(Tables.ArtistsReadable.ARTIST.getName()))),
new AlbumDigest(cursor.getString(cursor.getColumnIndex(Tables.AlbumsReadable.ALBUM.getName()))),
new GenreDigest(cursor.getString(cursor.getColumnIndex(Tables.GenresReadable.GENRE.getName()))),
cursor.getInt(cursor.getColumnIndex(Tables.Tracks.NUMBER.getName())),
cursor.getString(cursor.getColumnIndex(Tables.FsObjects.PATH.getName())),
cursor.getString(cursor.getColumnIndex(Tables.FsObjects.NAME.getName()))
);
}
}