/*******************************************************************************
* Copyright 2011, 2012, 2013 fanfou.com, Xiaoke, Zhang
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
package com.fanfou.app.opensource.db;
import android.content.ContentResolver;
import android.net.Uri;
import android.provider.BaseColumns;
/**
* @author mcxiaoke
* @version 1.0 2011.06.01
* @version 2.0 2011.07.04
* @version 3.0 2011.09.10
* @version 4.0 2011.09.26
* @version 5.0 2011.10.20
* @version 5.1 2011.10.25
* @version 5.5 2011.10.26
* @version 5.6 2011.11.07
* @version 6.0 2011.11.10
* @version 6.1 2011.11.11
*
*/
public final class Contents {
public static interface BasicColumns extends BaseColumns {
public static final String ID = "id";
public static final String OWNER_ID = "owner_id";
public static final String CREATED_AT = "created_at";
public static final String TYPE = "type";
}
public static interface DirectMessageInfo extends BasicColumns {
public static final String TABLE_NAME = "messages";
public static final Uri CONTENT_URI = Uri.parse("content://"
+ Contents.AUTHORITY + "/" + DirectMessageInfo.TABLE_NAME);
public static final String URI_PATH = DirectMessageInfo.TABLE_NAME;
public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE
+ "/vnd.fanfou.message";
public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE
+ "/vnd.fanfou.message";
public static final String TEXT = "text";
public static final String SENDER_ID = "sender_id";
public static final String SENDER_SCREEN_NAME = "sender_screen_name";
public static final String RECIPIENT_ID = "recipient_id";
public static final String RECIPIENT_SCREEN_NAME = "recipient_screen_name";
public static final String SENDER_PROFILE_IMAGE_URL = "sender_profile_image_url";
public static final String RECIPIENT_PROFILE_IMAGE_URL = "recipient_profile_image_url";
public static final String THREAD_USER_ID = "thread_user_id";
public static final String THREAD_USER_NAME = "thread_user_name";
public static final String IS_READ = "is_read";
public static final String COLUMNS[] = { BaseColumns._ID,
BasicColumns.ID, BasicColumns.OWNER_ID, DirectMessageInfo.TEXT,
BasicColumns.CREATED_AT, DirectMessageInfo.SENDER_ID,
DirectMessageInfo.SENDER_SCREEN_NAME,
DirectMessageInfo.RECIPIENT_ID,
DirectMessageInfo.RECIPIENT_SCREEN_NAME,
DirectMessageInfo.SENDER_PROFILE_IMAGE_URL,
DirectMessageInfo.RECIPIENT_PROFILE_IMAGE_URL,
BasicColumns.TYPE,
DirectMessageInfo.THREAD_USER_ID,
DirectMessageInfo.THREAD_USER_NAME, DirectMessageInfo.IS_READ,
};
public static final String CREATE_TABLE = "create table "
+ DirectMessageInfo.TABLE_NAME + " (" + BaseColumns._ID
+ " integer primary key autoincrement, " + BasicColumns.ID
+ " text not null, " + BasicColumns.OWNER_ID + " text , "
+ DirectMessageInfo.TEXT + " text not null, "
+ BasicColumns.CREATED_AT + " integer not null, "
+ DirectMessageInfo.SENDER_ID + " text not null, "
+ DirectMessageInfo.SENDER_SCREEN_NAME + " text not null, "
+ DirectMessageInfo.RECIPIENT_ID + " text not null, "
+ DirectMessageInfo.RECIPIENT_SCREEN_NAME + " text not null, "
+ DirectMessageInfo.SENDER_PROFILE_IMAGE_URL
+ " text not null, "
+ DirectMessageInfo.RECIPIENT_PROFILE_IMAGE_URL
+ " text not null, " + BasicColumns.TYPE
+ " integer not null, " + DirectMessageInfo.THREAD_USER_ID
+ " text , " + DirectMessageInfo.THREAD_USER_NAME + " text , "
+ DirectMessageInfo.IS_READ + " boolean not null, "
+ "unique ( " + BasicColumns.ID + " ) on conflict ignore );";
}
public static interface DraftInfo extends BaseColumns {
public static final String TABLE_NAME = "drafts";
public static final Uri CONTENT_URI = Uri.parse("content://"
+ Contents.AUTHORITY + "/" + DraftInfo.TABLE_NAME);
public static final String URI_PATH = DraftInfo.TABLE_NAME;
public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE
+ "/vnd.fanfou.draft";
public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE
+ "/vnd.fanfou.draft";
public static final String OWNER_ID = "owner_id";
public static final String TYPE = "type";
public static final String TEXT = "text";
public static final String CREATED_AT = "created_at";
public static final String REPLY_TO = "reply";
public static final String FILE_PATH = "file_path";
public static final String COLUMNS[] = { BaseColumns._ID,
DraftInfo.OWNER_ID, DraftInfo.TEXT, DraftInfo.CREATED_AT,
DraftInfo.TYPE, DraftInfo.REPLY_TO, DraftInfo.FILE_PATH, };
public static final String CREATE_TABLE = "create table "
+ DraftInfo.TABLE_NAME + " (" + BaseColumns._ID
+ " integer primary key autoincrement, " + DraftInfo.OWNER_ID
+ " text , " + DraftInfo.TEXT + " text not null, "
+ DraftInfo.CREATED_AT + " integer not null, " + DraftInfo.TYPE
+ " integer not null, " + DraftInfo.REPLY_TO + " text , "
+ DraftInfo.FILE_PATH + " text , " + "unique ( "
+ BaseColumns._ID + " ) on conflict ignore );";
}
public static interface StatusInfo extends BasicColumns {
public static final String TABLE_NAME = "statuses";
public static final Uri CONTENT_URI = Uri.parse("content://"
+ Contents.AUTHORITY + "/" + StatusInfo.TABLE_NAME);
public static final String URI_PATH = StatusInfo.TABLE_NAME;
public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE
+ "/vnd.fanfou.status";
public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE
+ "/vnd.fanfou.status";
public static final String TEXT = "text";
public static final String SIMPLE_TEXT = "simple_text";
public static final String SOURCE = "source";
public static final String IN_REPLY_TO_STATUS_ID = "in_reply_to_status_id";
public static final String IN_REPLY_TO_USER_ID = "in_reply_to_user_id";
public static final String IN_REPLY_TO_SCREEN_NAME = "in_reply_to_screen_name";
public static final String PHOTO_IMAGE_URL = "imageurl";
public static final String PHOTO_THUMB_URL = "thumburl";
public static final String PHOTO_LARGE_URL = "largeurl";
public static final String USER_ID = "user_id";
public static final String USER_SCREEN_NAME = "user_screen_name";
public static final String USER_PROFILE_IMAGE_URL = "user_profile_image_url";
public static final String TRUNCATED = "truncated";
public static final String FAVORITED = "favorited";
public static final String IS_SELF = "is_self";
public static final String IS_READ = "is_read";
public static final String IS_THREAD = "is_thread";
public static final String HAS_PHOTO = "has_photo";
public static final String SPECIAL = "special";
public static final String COLUMNS[] = { BaseColumns._ID,
BasicColumns.ID, BasicColumns.OWNER_ID, BasicColumns.CREATED_AT,
StatusInfo.TEXT, StatusInfo.SIMPLE_TEXT, StatusInfo.SOURCE,
StatusInfo.IN_REPLY_TO_STATUS_ID, StatusInfo.IN_REPLY_TO_USER_ID,
StatusInfo.IN_REPLY_TO_SCREEN_NAME,
StatusInfo.PHOTO_IMAGE_URL, StatusInfo.PHOTO_THUMB_URL,
StatusInfo.PHOTO_LARGE_URL,
StatusInfo.USER_ID, StatusInfo.USER_SCREEN_NAME,
StatusInfo.USER_PROFILE_IMAGE_URL,
StatusInfo.TRUNCATED, StatusInfo.FAVORITED, StatusInfo.IS_SELF,
StatusInfo.IS_READ, StatusInfo.IS_THREAD, StatusInfo.HAS_PHOTO,
StatusInfo.SPECIAL,
BasicColumns.TYPE, };
static final String STATUS_SQL = " (" + BaseColumns._ID
+ " integer primary key autoincrement, "
+ BasicColumns.ID + " text not null, " + BasicColumns.OWNER_ID
+ " text, " + BasicColumns.CREATED_AT + " integer not null, "
+ StatusInfo.TEXT + " text not null, " + StatusInfo.SIMPLE_TEXT
+ " text not null, " + StatusInfo.SOURCE + " text not null, "
+ StatusInfo.IN_REPLY_TO_STATUS_ID + " text, "
+ StatusInfo.IN_REPLY_TO_USER_ID + " text, "
+ StatusInfo.IN_REPLY_TO_SCREEN_NAME + " text, "
+ StatusInfo.PHOTO_IMAGE_URL + " text, "
+ StatusInfo.PHOTO_THUMB_URL + " text, "
+ StatusInfo.PHOTO_LARGE_URL + " text, "
+ StatusInfo.USER_ID + " text not null, "
+ StatusInfo.USER_SCREEN_NAME + " text not null, "
+ StatusInfo.USER_PROFILE_IMAGE_URL + " text not null, "
+ StatusInfo.TRUNCATED + " boolean not null, "
+ StatusInfo.FAVORITED + " boolean not null, "
+ StatusInfo.IS_SELF + " boolean not null, "
+ StatusInfo.IS_READ + " boolean not null, "
+ StatusInfo.IS_THREAD + " boolean not null, "
+ StatusInfo.HAS_PHOTO + " boolean not null, "
+ StatusInfo.SPECIAL + " boolean not null, "
+ BasicColumns.TYPE + " integer not null, "
+ "unique ( " + BasicColumns.ID + "," + BasicColumns.TYPE + ","
+ BasicColumns.OWNER_ID + ") on conflict ignore );";
public static final String CREATE_TABLE = "create table "
+ StatusInfo.TABLE_NAME + StatusInfo.STATUS_SQL;
}
public static interface UserInfo extends BasicColumns {
public static final String TABLE_NAME = "users";
public static final Uri CONTENT_URI = Uri.parse("content://"
+ Contents.AUTHORITY + "/" + UserInfo.TABLE_NAME);
public static final String URI_PATH = UserInfo.TABLE_NAME;
public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE
+ "/vnd.fanfou.user";
public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE
+ "/vnd.fanfou.user";
public static final String SCREEN_NAME = "screen_name";
public static final String LOCATION = "location";
public static final String GENDER = "gender";
public static final String BIRTHDAY = "birthday";
public static final String DESCRIPTION = "description";
public static final String PROFILE_IMAGE_URL = "profile_image_url";
public static final String URL = "url";
public static final String PROTECTED = "protected";
public static final String FOLLOWERS_COUNT = "followers_count";
public static final String FRIENDS_COUNT = "friends_count";
public static final String FAVORITES_COUNT = "favourites_count";
public static final String STATUSES_COUNT = "statuses_count";
public static final String FOLLOWING = "following";
public static final String COLUMNS[] = { BaseColumns._ID,
BasicColumns.ID, BasicColumns.OWNER_ID, UserInfo.SCREEN_NAME,
UserInfo.LOCATION, UserInfo.GENDER, UserInfo.BIRTHDAY,
UserInfo.DESCRIPTION, UserInfo.PROFILE_IMAGE_URL, UserInfo.URL,
UserInfo.PROTECTED, UserInfo.FOLLOWERS_COUNT,
UserInfo.FRIENDS_COUNT, UserInfo.FAVORITES_COUNT,
UserInfo.STATUSES_COUNT, UserInfo.FOLLOWING,
BasicColumns.CREATED_AT, BasicColumns.TYPE, };
public static final String CREATE_TABLE = "create table "
+ UserInfo.TABLE_NAME + " ( " + BaseColumns._ID
+ " integer primary key autoincrement, " + BasicColumns.ID
+ " text not null, " + BasicColumns.OWNER_ID + " text , "
+ UserInfo.SCREEN_NAME + " text not null, " + UserInfo.LOCATION
+ " text not null, " + UserInfo.GENDER + " text not null, "
+ UserInfo.BIRTHDAY + " text not null, " + UserInfo.DESCRIPTION
+ " text not null, " + UserInfo.PROFILE_IMAGE_URL
+ " text not null, " + UserInfo.URL + " text not null, "
+ UserInfo.PROTECTED + " boolean not null, "
+ UserInfo.FOLLOWERS_COUNT + " integer not null, "
+ UserInfo.FRIENDS_COUNT + " integer not null, "
+ UserInfo.FAVORITES_COUNT + " integer not null, "
+ UserInfo.STATUSES_COUNT + " integer not null, "
+ UserInfo.FOLLOWING + " boolean not null, "
+ BasicColumns.CREATED_AT + " integer not null, "
+ BasicColumns.TYPE + " integer not null, " + "unique ( "
+ BasicColumns.ID + "," + BasicColumns.TYPE
+ " ) on conflict ignore );";
// + "unique ( "+ID+","+TYPE+","+OWNER_ID+") on conflict ignore );";
}
public static final String AUTHORITY = "com.fanfou.app.opensource.provider";
}