Slide 56
Slide 56 text
@AutoValue public abstract class User {
public static final String CREATE_TABLE = format("CREATE TABLE %s (" //
+ "%s INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," //
+ "%s TEXT NOT NULL," //
+ "%s TEXT NOT NULL," //
+ "%s TEXT NOT NULL" //
+ ")", TABLE_NAME, USER_ID, NAME, PHOTO_URL, BIRTH_DATE);
@Column(USER_ID) public abstract long userId();
@Column(NAME) public abstract String name();
@Column(PHOTO_URL) public abstract String photoUrl();
@Column(value = BIRTH_DATE, marshalMapper = CalendarMarshalMapper.class)
public abstract Calendar birthDate();
public static final Func1 MAPPER =
cursor -> User_Mapper.map(cursor, AutoValue_User::new);
public static final class Marshal extends User_Marshal { }
}
CREATE TABLE user (
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
photo_url TEXT NOT NULL,
birth_date TEXT NOT NULL
);