package com.nuscomputing.ivle.providers;
import java.util.HashMap;
import java.util.Map;
import com.nuscomputing.ivle.DatabaseHelper;
import android.net.Uri;
/**
* The contract between the workbins provider and applications.
* Contains definitions for supported URIs and data columns.
* @author yjwong
*/
public class WorkbinFilesContract extends IVLEContract {
// {{{ properties
/** The content:// style URL for the top level authority */
public static final Uri CONTENT_URI = Uri.parse("content://com.nuscomputing.ivle.provider/workbin_files");
/** The database table backing this type */
public static final String TABLE = DatabaseHelper.WORKBIN_FILES_TABLE_NAME;
/** The creator of the folder */
public static final String CREATOR_ID = "creator_id";
/** Commenter of the folder */
public static final String COMMENTER_ID = "commenter_id";
/** The workbin folder ID */
public static final String WORKBIN_FOLDER_ID = "workbin_folder_id";
/** Other columns */
public static final String FILE_DESCRIPTION = "fileDescription";
public static final String FILE_NAME = "fileName";
public static final String FILE_REMARKS = "fileRemarks";
public static final String FILE_REMARKS_ATTACHMENT = "fileRemarksAttachment";
public static final String FILE_SIZE = "fileSize";
public static final String FILE_TYPE = "fileType";
public static final String IS_DOWNLOADED = "isDownloaded";
/** Additional column for download URL */
public static final String DOWNLOAD_URL = "downloadUrl";
// }}}
// {{{ methods
@Override
public Uri getContentUri() {
return WorkbinFilesContract.CONTENT_URI;
}
@Override
public String getTableName() {
return WorkbinFilesContract.TABLE;
}
@Override
public String getColumnNameModuleId() {
return IVLEContract.MODULE_ID;
}
@Override
public Map<String, String> getJoinProjectionMap(String prefix) {
Map<String, String> map = new HashMap<String, String>();
map.put(prefix + WorkbinFilesContract.IVLE_ID, TABLE + "." + WorkbinFilesContract.IVLE_ID);
map.put(prefix + WorkbinFilesContract.ACCOUNT, TABLE + "." + WorkbinFilesContract.ACCOUNT);
map.put(prefix + WorkbinFilesContract.FILE_DESCRIPTION, TABLE + "." + WorkbinFilesContract.FILE_DESCRIPTION);
map.put(prefix + WorkbinFilesContract.FILE_NAME, TABLE + "." + WorkbinFilesContract.FILE_NAME);
map.put(prefix + WorkbinFilesContract.FILE_REMARKS, TABLE + "." + WorkbinFilesContract.FILE_REMARKS);
map.put(prefix + WorkbinFilesContract.FILE_REMARKS_ATTACHMENT, TABLE + "." + WorkbinFilesContract.FILE_REMARKS_ATTACHMENT);
map.put(prefix + WorkbinFilesContract.FILE_SIZE, TABLE + "." + WorkbinFilesContract.FILE_SIZE);
map.put(prefix + WorkbinFilesContract.FILE_TYPE, TABLE + "." + WorkbinFilesContract.FILE_TYPE);
map.put(prefix + WorkbinFilesContract.IS_DOWNLOADED, TABLE + "." + WorkbinFilesContract.IS_DOWNLOADED);
map.put(prefix + WorkbinFilesContract.DOWNLOAD_URL, TABLE + "." + WorkbinFilesContract.DOWNLOAD_URL);
return map;
}
// }}}
}