1// Signature format: 4.0 2package androidx.room { 3 4 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface AutoMigration { 5 method public abstract int from(); 6 method public abstract Class<?> spec() default java.lang.Object.class; 7 method public abstract int to(); 8 } 9 10 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface BuiltInTypeConverters { 11 method public abstract androidx.room.BuiltInTypeConverters.State enums() default androidx.room.BuiltInTypeConverters.State.INHERITED; 12 method public abstract androidx.room.BuiltInTypeConverters.State uuid() default androidx.room.BuiltInTypeConverters.State.INHERITED; 13 } 14 15 public enum BuiltInTypeConverters.State { 16 enum_constant public static final androidx.room.BuiltInTypeConverters.State DISABLED; 17 enum_constant public static final androidx.room.BuiltInTypeConverters.State ENABLED; 18 enum_constant public static final androidx.room.BuiltInTypeConverters.State INHERITED; 19 } 20 21 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public @interface ColumnInfo { 22 method @androidx.room.ColumnInfo.Collate public abstract int collate() default androidx.room.ColumnInfo.UNSPECIFIED; 23 method public abstract String defaultValue() default androidx.room.ColumnInfo.VALUE_UNSPECIFIED; 24 method public abstract boolean index() default false; 25 method public abstract String name() default androidx.room.ColumnInfo.INHERIT_FIELD_NAME; 26 method @androidx.room.ColumnInfo.SQLiteTypeAffinity public abstract int typeAffinity() default androidx.room.ColumnInfo.UNDEFINED; 27 field public static final int BINARY = 2; // 0x2 28 field public static final int BLOB = 5; // 0x5 29 field public static final String INHERIT_FIELD_NAME = "[field-name]"; 30 field public static final int INTEGER = 3; // 0x3 31 field @RequiresApi(21) public static final int LOCALIZED = 5; // 0x5 32 field public static final int NOCASE = 3; // 0x3 33 field public static final int REAL = 4; // 0x4 34 field public static final int RTRIM = 4; // 0x4 35 field public static final int TEXT = 2; // 0x2 36 field public static final int UNDEFINED = 1; // 0x1 37 field @RequiresApi(21) public static final int UNICODE = 6; // 0x6 38 field public static final int UNSPECIFIED = 1; // 0x1 39 field public static final String VALUE_UNSPECIFIED = "[value-unspecified]"; 40 } 41 42 @IntDef({androidx.room.ColumnInfo.UNSPECIFIED, androidx.room.ColumnInfo.BINARY, androidx.room.ColumnInfo.NOCASE, androidx.room.ColumnInfo.RTRIM, androidx.room.ColumnInfo.LOCALIZED, androidx.room.ColumnInfo.UNICODE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface ColumnInfo.Collate { 43 } 44 45 @IntDef({androidx.room.ColumnInfo.UNDEFINED, androidx.room.ColumnInfo.TEXT, androidx.room.ColumnInfo.INTEGER, androidx.room.ColumnInfo.REAL, androidx.room.ColumnInfo.BLOB}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface ColumnInfo.SQLiteTypeAffinity { 46 } 47 48 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Dao { 49 } 50 51 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Database { 52 method public abstract androidx.room.AutoMigration[] autoMigrations() default {}; 53 method public abstract Class<?>[] entities(); 54 method public abstract boolean exportSchema() default true; 55 method public abstract int version(); 56 method public abstract Class<?>[] views() default {}; 57 } 58 59 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface DatabaseView { 60 method public abstract String value() default ""; 61 method public abstract String viewName() default ""; 62 } 63 64 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Delete { 65 method public abstract Class<?> entity() default java.lang.Object.class; 66 } 67 68 @java.lang.annotation.Repeatable(DeleteColumn.Entries.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface DeleteColumn { 69 method public abstract String columnName(); 70 method public abstract String tableName(); 71 } 72 73 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public static @interface DeleteColumn.Entries { 74 method public abstract androidx.room.DeleteColumn[] value(); 75 } 76 77 @java.lang.annotation.Repeatable(DeleteTable.Entries.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface DeleteTable { 78 method public abstract String tableName(); 79 } 80 81 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public static @interface DeleteTable.Entries { 82 method public abstract androidx.room.DeleteTable[] value(); 83 } 84 85 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public @interface Embedded { 86 method public abstract String prefix() default ""; 87 } 88 89 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Entity { 90 method public abstract androidx.room.ForeignKey[] foreignKeys() default {}; 91 method public abstract String[] ignoredColumns() default {}; 92 method public abstract androidx.room.Index[] indices() default {}; 93 method public abstract boolean inheritSuperIndices() default false; 94 method public abstract String[] primaryKeys() default {}; 95 method public abstract String tableName() default ""; 96 } 97 98 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface ForeignKey { 99 method public abstract String[] childColumns(); 100 method public abstract boolean deferred() default false; 101 method public abstract Class<?> entity(); 102 method @androidx.room.ForeignKey.Action public abstract int onDelete() default androidx.room.ForeignKey.NO_ACTION; 103 method @androidx.room.ForeignKey.Action public abstract int onUpdate() default androidx.room.ForeignKey.NO_ACTION; 104 method public abstract String[] parentColumns(); 105 field public static final int CASCADE = 5; // 0x5 106 field public static final int NO_ACTION = 1; // 0x1 107 field public static final int RESTRICT = 2; // 0x2 108 field public static final int SET_DEFAULT = 4; // 0x4 109 field public static final int SET_NULL = 3; // 0x3 110 } 111 112 @IntDef({androidx.room.ForeignKey.NO_ACTION, androidx.room.ForeignKey.RESTRICT, androidx.room.ForeignKey.SET_NULL, androidx.room.ForeignKey.SET_DEFAULT, androidx.room.ForeignKey.CASCADE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface ForeignKey.Action { 113 } 114 115 @RequiresApi(16) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Fts3 { 116 method public abstract String tokenizer() default androidx.room.FtsOptions.TOKENIZER_SIMPLE; 117 method public abstract String[] tokenizerArgs() default {}; 118 } 119 120 @RequiresApi(16) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Fts4 { 121 method public abstract Class<?> contentEntity() default java.lang.Object.class; 122 method public abstract String languageId() default ""; 123 method public abstract androidx.room.FtsOptions.MatchInfo matchInfo() default androidx.room.FtsOptions.MatchInfo.FTS4; 124 method public abstract String[] notIndexed() default {}; 125 method public abstract androidx.room.FtsOptions.Order order() default androidx.room.FtsOptions.Order.ASC; 126 method public abstract int[] prefix() default {}; 127 method public abstract String tokenizer() default androidx.room.FtsOptions.TOKENIZER_SIMPLE; 128 method public abstract String[] tokenizerArgs() default {}; 129 } 130 131 public class FtsOptions { 132 field public static final String TOKENIZER_ICU = "icu"; 133 field public static final String TOKENIZER_PORTER = "porter"; 134 field public static final String TOKENIZER_SIMPLE = "simple"; 135 field @RequiresApi(21) public static final String TOKENIZER_UNICODE61 = "unicode61"; 136 } 137 138 public enum FtsOptions.MatchInfo { 139 enum_constant public static final androidx.room.FtsOptions.MatchInfo FTS3; 140 enum_constant public static final androidx.room.FtsOptions.MatchInfo FTS4; 141 } 142 143 public enum FtsOptions.Order { 144 enum_constant public static final androidx.room.FtsOptions.Order ASC; 145 enum_constant public static final androidx.room.FtsOptions.Order DESC; 146 } 147 148 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.CONSTRUCTOR}) public @interface Ignore { 149 } 150 151 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface Index { 152 method public abstract String name() default ""; 153 method public abstract androidx.room.Index.Order[] orders() default {}; 154 method public abstract boolean unique() default false; 155 method public abstract String[] value(); 156 } 157 158 public enum Index.Order { 159 enum_constant public static final androidx.room.Index.Order ASC; 160 enum_constant public static final androidx.room.Index.Order DESC; 161 } 162 163 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface Insert { 164 method public abstract Class<?> entity() default java.lang.Object.class; 165 method @androidx.room.OnConflictStrategy public abstract int onConflict() default androidx.room.OnConflictStrategy.ABORT; 166 } 167 168 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface Junction { 169 method public abstract String entityColumn() default ""; 170 method public abstract String parentColumn() default ""; 171 method public abstract Class<?> value(); 172 } 173 174 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface MapInfo { 175 method public abstract String keyColumn() default ""; 176 method public abstract String valueColumn() default ""; 177 } 178 179 @IntDef({androidx.room.OnConflictStrategy.REPLACE, androidx.room.OnConflictStrategy.ROLLBACK, androidx.room.OnConflictStrategy.ABORT, androidx.room.OnConflictStrategy.FAIL, androidx.room.OnConflictStrategy.IGNORE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface OnConflictStrategy { 180 field public static final int ABORT = 3; // 0x3 181 field @Deprecated public static final int FAIL = 4; // 0x4 182 field public static final int IGNORE = 5; // 0x5 183 field public static final int REPLACE = 1; // 0x1 184 field @Deprecated public static final int ROLLBACK = 2; // 0x2 185 } 186 187 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public @interface PrimaryKey { 188 method public abstract boolean autoGenerate() default false; 189 } 190 191 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface ProvidedAutoMigrationSpec { 192 } 193 194 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface ProvidedTypeConverter { 195 } 196 197 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Query { 198 method public abstract String value(); 199 } 200 201 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface RawQuery { 202 method public abstract Class<?>[] observedEntities() default {}; 203 } 204 205 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public @interface Relation { 206 method public abstract androidx.room.Junction associateBy() default @androidx.room.Junction; 207 method public abstract Class<?> entity() default java.lang.Object.class; 208 method public abstract String entityColumn(); 209 method public abstract String parentColumn(); 210 method public abstract String[] projection() default {}; 211 } 212 213 @java.lang.annotation.Repeatable(RenameColumn.Entries.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface RenameColumn { 214 method public abstract String fromColumnName(); 215 method public abstract String tableName(); 216 method public abstract String toColumnName(); 217 } 218 219 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public static @interface RenameColumn.Entries { 220 method public abstract androidx.room.RenameColumn[] value(); 221 } 222 223 @java.lang.annotation.Repeatable(RenameTable.Entries.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface RenameTable { 224 method public abstract String fromTableName(); 225 method public abstract String toTableName(); 226 } 227 228 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public static @interface RenameTable.Entries { 229 method public abstract androidx.room.RenameTable[] value(); 230 } 231 232 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns { 233 } 234 235 public class RoomWarnings { 236 ctor @Deprecated public RoomWarnings(); 237 field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE"; 238 field public static final String CURSOR_MISMATCH = "ROOM_CURSOR_MISMATCH"; 239 field public static final String DEFAULT_CONSTRUCTOR = "ROOM_DEFAULT_CONSTRUCTOR"; 240 field public static final String DOES_NOT_IMPLEMENT_EQUALS_HASHCODE = "ROOM_TYPE_DOES_NOT_IMPLEMENT_EQUALS_HASHCODE"; 241 field public static final String INDEX_FROM_EMBEDDED_ENTITY_IS_DROPPED = "ROOM_EMBEDDED_ENTITY_INDEX_IS_DROPPED"; 242 field public static final String INDEX_FROM_EMBEDDED_FIELD_IS_DROPPED = "ROOM_EMBEDDED_INDEX_IS_DROPPED"; 243 field public static final String INDEX_FROM_PARENT_FIELD_IS_DROPPED = "ROOM_PARENT_FIELD_INDEX_IS_DROPPED"; 244 field public static final String INDEX_FROM_PARENT_IS_DROPPED = "ROOM_PARENT_INDEX_IS_DROPPED"; 245 field public static final String MISMATCHED_GETTER = "ROOM_MISMATCHED_GETTER_TYPE"; 246 field public static final String MISMATCHED_SETTER = "ROOM_MISMATCHED_SETTER_TYPE"; 247 field public static final String MISSING_INDEX_ON_FOREIGN_KEY_CHILD = "ROOM_MISSING_FOREIGN_KEY_CHILD_INDEX"; 248 field public static final String MISSING_INDEX_ON_JUNCTION = "MISSING_INDEX_ON_JUNCTION"; 249 field public static final String MISSING_JAVA_TMP_DIR = "ROOM_MISSING_JAVA_TMP_DIR"; 250 field public static final String MISSING_SCHEMA_LOCATION = "ROOM_MISSING_SCHEMA_LOCATION"; 251 field public static final String PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED = "ROOM_EMBEDDED_PRIMARY_KEY_IS_DROPPED"; 252 field public static final String RELATION_QUERY_WITHOUT_TRANSACTION = "ROOM_RELATION_QUERY_WITHOUT_TRANSACTION"; 253 field public static final String RELATION_TYPE_MISMATCH = "ROOM_RELATION_TYPE_MISMATCH"; 254 } 255 256 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface SkipQueryVerification { 257 } 258 259 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface Transaction { 260 } 261 262 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface TypeConverter { 263 } 264 265 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public @interface TypeConverters { 266 method public abstract androidx.room.BuiltInTypeConverters builtInTypeConverters() default @androidx.room.BuiltInTypeConverters; 267 method public abstract Class<?>[] value() default {}; 268 } 269 270 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface Update { 271 method public abstract Class<?> entity() default java.lang.Object.class; 272 method @androidx.room.OnConflictStrategy public abstract int onConflict() default androidx.room.OnConflictStrategy.ABORT; 273 } 274 275} 276 277