package org.devtcg.five.provider.util; import org.devtcg.five.provider.Five; import android.content.ContentUris; import android.content.Context; import android.database.CharArrayBuffer; import android.database.Cursor; import android.net.Uri; public class AlbumItem extends AbstractDAOItem { private final int mColumnId; private final int mColumnMbid; private final int mColumnName; private final int mColumnFullName; private final int mColumnNamePrefix; private final int mColumnArtwork; private final int mColumnArtworkBig; private final int mColumnDiscoveryDate; private final int mColumnReleaseDate; private final int mColumnNumSongs; private final int mColumnSet; private final int mColumnArtist; private final int mColumnArtistId; public static AlbumItem getInstance(Context context, Uri uri) { return CREATOR.newInstance(context, uri); } public static AlbumItem getInstance(Cursor cursor) { return CREATOR.newInstance(cursor); } public AlbumItem(Cursor cursor) { super(cursor); mColumnId = cursor.getColumnIndex(Five.Music.Albums._ID); mColumnMbid = cursor.getColumnIndex(Five.Music.Albums.MBID); mColumnName = cursor.getColumnIndex(Five.Music.Albums.NAME); mColumnFullName = cursor.getColumnIndex(Five.Music.Albums.FULL_NAME); mColumnNamePrefix = cursor.getColumnIndex(Five.Music.Albums.NAME_PREFIX); mColumnArtwork = cursor.getColumnIndex(Five.Music.Albums.ARTWORK); mColumnArtworkBig = cursor.getColumnIndex(Five.Music.Albums.ARTWORK_BIG); mColumnDiscoveryDate = cursor.getColumnIndex(Five.Music.Albums.DISCOVERY_DATE); mColumnReleaseDate = cursor.getColumnIndex(Five.Music.Albums.RELEASE_DATE); mColumnNumSongs = cursor.getColumnIndex(Five.Music.Albums.NUM_SONGS); mColumnSet = cursor.getColumnIndex(Five.Music.Albums.SET); mColumnArtist = cursor.getColumnIndex(Five.Music.Albums.ARTIST); mColumnArtistId = cursor.getColumnIndex(Five.Music.Albums.ARTIST_ID); } public Uri getUri() { return ContentUris.withAppendedId(Five.Music.Albums.CONTENT_URI, getId()); } public long getId() { return mCursor.getLong(mColumnId); } public String getMbid() { return mCursor.getString(mColumnMbid); } public String getName() { return mCursor.getString(mColumnName); } public String getFullName() { return mCursor.getString(mColumnFullName); } public void getFullName(CharArrayBuffer buffer) { mCursor.copyStringToBuffer(mColumnFullName, buffer); } public String getNamePrefix() { return mCursor.getString(mColumnNamePrefix); } public Uri getArtworkThumbUri() { return parseUriNullSafe(mCursor.getString(mColumnArtwork)); } public Uri getArtworkFullUri() { return parseUriNullSafe(mCursor.getString(mColumnArtworkBig)); } public String getDiscoveryDate() { return mCursor.getString(mColumnDiscoveryDate); } public String getReleaseDate() { return mCursor.getString(mColumnReleaseDate); } public int getNumSongs() { return mCursor.getInt(mColumnNumSongs); } public long getArtistId() { return mCursor.getLong(mColumnArtistId); } public String getArtist() { return mCursor.getString(mColumnArtist); } public void getArtist(CharArrayBuffer buffer) { mCursor.copyStringToBuffer(mColumnArtist, buffer); } private static final AbstractDAOItem.Creator<AlbumItem> CREATOR = new AbstractDAOItem.Creator<AlbumItem>() { @Override public AlbumItem init(Cursor cursor) { return new AlbumItem(cursor); } }; }