| /* |
| * 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"; |
| } |
| } |