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.FIELD, java.lang.annotation.ElementType.METHOD}) public @interface ColumnInfo { 5 method @androidx.room.ColumnInfo.Collate public abstract int collate() default androidx.room.ColumnInfo.UNSPECIFIED; 6 method public abstract String defaultValue() default androidx.room.ColumnInfo.VALUE_UNSPECIFIED; 7 method public abstract boolean index() default false; 8 method public abstract String name() default androidx.room.ColumnInfo.INHERIT_FIELD_NAME; 9 method @androidx.room.ColumnInfo.SQLiteTypeAffinity public abstract int typeAffinity() default androidx.room.ColumnInfo.UNDEFINED; 10 field public static final int BINARY = 2; // 0x2 11 field public static final int BLOB = 5; // 0x5 12 field public static final String INHERIT_FIELD_NAME = "[field-name]"; 13 field public static final int INTEGER = 3; // 0x3 14 field @RequiresApi(21) public static final int LOCALIZED = 5; // 0x5 15 field public static final int NOCASE = 3; // 0x3 16 field public static final int REAL = 4; // 0x4 17 field public static final int RTRIM = 4; // 0x4 18 field public static final int TEXT = 2; // 0x2 19 field public static final int UNDEFINED = 1; // 0x1 20 field @RequiresApi(21) public static final int UNICODE = 6; // 0x6 21 field public static final int UNSPECIFIED = 1; // 0x1 22 field public static final String VALUE_UNSPECIFIED = "[value-unspecified]"; 23 } 24 25 @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 { 26 } 27 28 @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 { 29 } 30 31 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Dao { 32 } 33 34 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Database { 35 method public abstract Class<?>[] entities(); 36 method public abstract boolean exportSchema() default true; 37 method public abstract int version(); 38 method public abstract Class<?>[] views() default {}; 39 } 40 41 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface DatabaseView { 42 method public abstract String value() default ""; 43 method public abstract String viewName() default ""; 44 } 45 46 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Delete { 47 method public abstract Class<?> entity() default java.lang.Object.class; 48 } 49 50 @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 { 51 method public abstract String prefix() default ""; 52 } 53 54 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Entity { 55 method public abstract androidx.room.ForeignKey[] foreignKeys() default {}; 56 method public abstract String[] ignoredColumns() default {}; 57 method public abstract androidx.room.Index[] indices() default {}; 58 method public abstract boolean inheritSuperIndices() default false; 59 method public abstract String[] primaryKeys() default {}; 60 method public abstract String tableName() default ""; 61 } 62 63 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ForeignKey { 64 method public abstract String[] childColumns(); 65 method public abstract boolean deferred() default false; 66 method public abstract Class<?> entity(); 67 method @androidx.room.ForeignKey.Action public abstract int onDelete() default androidx.room.ForeignKey.NO_ACTION; 68 method @androidx.room.ForeignKey.Action public abstract int onUpdate() default androidx.room.ForeignKey.NO_ACTION; 69 method public abstract String[] parentColumns(); 70 field public static final int CASCADE = 5; // 0x5 71 field public static final int NO_ACTION = 1; // 0x1 72 field public static final int RESTRICT = 2; // 0x2 73 field public static final int SET_DEFAULT = 4; // 0x4 74 field public static final int SET_NULL = 3; // 0x3 75 } 76 77 @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 { 78 } 79 80 @RequiresApi(16) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Fts3 { 81 method public abstract String tokenizer() default androidx.room.FtsOptions.TOKENIZER_SIMPLE; 82 method public abstract String[] tokenizerArgs() default {}; 83 } 84 85 @RequiresApi(16) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface Fts4 { 86 method public abstract Class<?> contentEntity() default java.lang.Object.class; 87 method public abstract String languageId() default ""; 88 method public abstract androidx.room.FtsOptions.MatchInfo matchInfo() default androidx.room.FtsOptions.MatchInfo.FTS4; 89 method public abstract String[] notIndexed() default {}; 90 method public abstract androidx.room.FtsOptions.Order order() default androidx.room.FtsOptions.Order.ASC; 91 method public abstract int[] prefix() default {}; 92 method public abstract String tokenizer() default androidx.room.FtsOptions.TOKENIZER_SIMPLE; 93 method public abstract String[] tokenizerArgs() default {}; 94 } 95 96 public class FtsOptions { 97 field public static final String TOKENIZER_ICU = "icu"; 98 field public static final String TOKENIZER_PORTER = "porter"; 99 field public static final String TOKENIZER_SIMPLE = "simple"; 100 field @RequiresApi(21) public static final String TOKENIZER_UNICODE61 = "unicode61"; 101 } 102 103 public enum FtsOptions.MatchInfo { 104 enum_constant public static final androidx.room.FtsOptions.MatchInfo FTS3; 105 enum_constant public static final androidx.room.FtsOptions.MatchInfo FTS4; 106 } 107 108 public enum FtsOptions.Order { 109 enum_constant public static final androidx.room.FtsOptions.Order ASC; 110 enum_constant public static final androidx.room.FtsOptions.Order DESC; 111 } 112 113 @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 { 114 } 115 116 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface Index { 117 method public abstract String name() default ""; 118 method public abstract boolean unique() default false; 119 method public abstract String[] value(); 120 } 121 122 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface Insert { 123 method public abstract Class<?> entity() default java.lang.Object.class; 124 method @androidx.room.OnConflictStrategy public abstract int onConflict() default androidx.room.OnConflictStrategy.ABORT; 125 } 126 127 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({}) public @interface Junction { 128 method public abstract String entityColumn() default ""; 129 method public abstract String parentColumn() default ""; 130 method public abstract Class<?> value(); 131 } 132 133 @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 { 134 field public static final int ABORT = 3; // 0x3 135 field @Deprecated public static final int FAIL = 4; // 0x4 136 field public static final int IGNORE = 5; // 0x5 137 field public static final int REPLACE = 1; // 0x1 138 field @Deprecated public static final int ROLLBACK = 2; // 0x2 139 } 140 141 @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 { 142 method public abstract boolean autoGenerate() default false; 143 } 144 145 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Query { 146 method public abstract String value(); 147 } 148 149 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface RawQuery { 150 method public abstract Class<?>[] observedEntities() default {}; 151 } 152 153 @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 { 154 method public abstract androidx.room.Junction associateBy() default @androidx.room.Junction; 155 method public abstract Class<?> entity() default java.lang.Object.class; 156 method public abstract String entityColumn(); 157 method public abstract String parentColumn(); 158 method public abstract String[] projection() default {}; 159 } 160 161 public class RoomWarnings { 162 ctor @Deprecated public RoomWarnings(); 163 field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE"; 164 field public static final String CURSOR_MISMATCH = "ROOM_CURSOR_MISMATCH"; 165 field public static final String DEFAULT_CONSTRUCTOR = "ROOM_DEFAULT_CONSTRUCTOR"; 166 field public static final String INDEX_FROM_EMBEDDED_ENTITY_IS_DROPPED = "ROOM_EMBEDDED_ENTITY_INDEX_IS_DROPPED"; 167 field public static final String INDEX_FROM_EMBEDDED_FIELD_IS_DROPPED = "ROOM_EMBEDDED_INDEX_IS_DROPPED"; 168 field public static final String INDEX_FROM_PARENT_FIELD_IS_DROPPED = "ROOM_PARENT_FIELD_INDEX_IS_DROPPED"; 169 field public static final String INDEX_FROM_PARENT_IS_DROPPED = "ROOM_PARENT_INDEX_IS_DROPPED"; 170 field public static final String MISSING_INDEX_ON_FOREIGN_KEY_CHILD = "ROOM_MISSING_FOREIGN_KEY_CHILD_INDEX"; 171 field public static final String MISSING_JAVA_TMP_DIR = "ROOM_MISSING_JAVA_TMP_DIR"; 172 field public static final String MISSING_SCHEMA_LOCATION = "ROOM_MISSING_SCHEMA_LOCATION"; 173 field public static final String PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED = "ROOM_EMBEDDED_PRIMARY_KEY_IS_DROPPED"; 174 field public static final String RELATION_QUERY_WITHOUT_TRANSACTION = "ROOM_RELATION_QUERY_WITHOUT_TRANSACTION"; 175 field public static final String RELATION_TYPE_MISMATCH = "ROOM_RELATION_TYPE_MISMATCH"; 176 } 177 178 @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 { 179 } 180 181 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface Transaction { 182 } 183 184 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface TypeConverter { 185 } 186 187 @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 { 188 method public abstract Class<?>[] value(); 189 } 190 191 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface Update { 192 method public abstract Class<?> entity() default java.lang.Object.class; 193 method @androidx.room.OnConflictStrategy public abstract int onConflict() default androidx.room.OnConflictStrategy.ABORT; 194 } 195 196} 197 198