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