| /* | |
| * Copyright (C) 2007 The Android Open Source Project | |
| * | |
| * 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.example.android.notepad; | |
| import android.net.Uri; | |
| import android.provider.BaseColumns; | |
| /** | |
| * Defines a contract between the Note Pad content provider and its clients. A contract defines the | |
| * information that a client needs to access the provider as one or more data tables. A contract | |
| * is a public, non-extendable (final) class that contains constants defining column names and | |
| * URIs. A well-written client depends only on the constants in the contract. | |
| */ | |
| public final class NotePad { | |
| public static final String AUTHORITY = "com.google.provider.NotePad"; | |
| // This class cannot be instantiated | |
| private NotePad() { | |
| } | |
| /** | |
| * Notes table contract | |
| */ | |
| public static final class Notes implements BaseColumns { | |
| // This class cannot be instantiated | |
| private Notes() {} | |
| /** | |
| * The table name offered by this provider | |
| */ | |
| public static final String TABLE_NAME = "notes"; | |
| /* | |
| * URI definitions | |
| */ | |
| /** | |
| * The scheme part for this provider's URI | |
| */ | |
| private static final String SCHEME = "content://"; | |
| /** | |
| * Path parts for the URIs | |
| */ | |
| /** | |
| * Path part for the Notes URI | |
| */ | |
| private static final String PATH_NOTES = "/notes"; | |
| /** | |
| * Path part for the Note ID URI | |
| */ | |
| private static final String PATH_NOTE_ID = "/notes/"; | |
| /** | |
| * 0-relative position of a note ID segment in the path part of a note ID URI | |
| */ | |
| public static final int NOTE_ID_PATH_POSITION = 1; | |
| /** | |
| * Path part for the Live Folder URI | |
| */ | |
| private static final String PATH_LIVE_FOLDER = "/live_folders/notes"; | |
| /** | |
| * The content:// style URL for this table | |
| */ | |
| public static final Uri CONTENT_URI = Uri.parse(SCHEME + AUTHORITY + PATH_NOTES); | |
| /** | |
| * The content URI base for a single note. Callers must | |
| * append a numeric note id to this Uri to retrieve a note | |
| */ | |
| public static final Uri CONTENT_ID_URI_BASE | |
| = Uri.parse(SCHEME + AUTHORITY + PATH_NOTE_ID); | |
| /** | |
| * The content URI match pattern for a single note, specified by its ID. Use this to match | |
| * incoming URIs or to construct an Intent. | |
| */ | |
| public static final Uri CONTENT_ID_URI_PATTERN | |
| = Uri.parse(SCHEME + AUTHORITY + PATH_NOTE_ID + "/#"); | |
| /** | |
| * The content Uri pattern for a notes listing for live folders | |
| */ | |
| public static final Uri LIVE_FOLDER_URI | |
| = Uri.parse(SCHEME + AUTHORITY + PATH_LIVE_FOLDER); | |
| /* | |
| * MIME type definitions | |
| */ | |
| /** | |
| * The MIME type of {@link #CONTENT_URI} providing a directory of notes. | |
| */ | |
| public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.note"; | |
| /** | |
| * The MIME type of a {@link #CONTENT_URI} sub-directory of a single | |
| * note. | |
| */ | |
| public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.note"; | |
| /** | |
| * The default sort order for this table | |
| */ | |
| public static final String DEFAULT_SORT_ORDER = "modified DESC"; | |
| /* | |
| * Column definitions | |
| */ | |
| /** | |
| * Column name for the title of the note | |
| * <P>Type: TEXT</P> | |
| */ | |
| public static final String COLUMN_NAME_TITLE = "title"; | |
| /** | |
| * Column name of the note content | |
| * <P>Type: TEXT</P> | |
| */ | |
| public static final String COLUMN_NAME_NOTE = "note"; | |
| /** | |
| * Column name for the creation timestamp | |
| * <P>Type: INTEGER (long from System.curentTimeMillis())</P> | |
| */ | |
| public static final String COLUMN_NAME_CREATE_DATE = "created"; | |
| /** | |
| * Column name for the modification timestamp | |
| * <P>Type: INTEGER (long from System.curentTimeMillis())</P> | |
| */ | |
| public static final String COLUMN_NAME_MODIFICATION_DATE = "modified"; | |
| } | |
| } |