Jumat, 21 September 2012

Enum Type

Kita mulai dari yang paling sederhana, yaitu tipe data enum. Dalam domain model kita, enum digunakan untuk menentukan ijin akses user. Mari kita lihat class User.

public class User {
private Integer id;
private String username;
private String password;
private UserLevel level;
}


Class User ini menggunakan fitur baru dalam Java 5, yaitu Typesafe Enum. Adapun enum UserLevel tidak sulit, kodenya seperti ini.


public enum UserLevel {
CONTRIBUTOR, EDITOR, ADMINISTRATOR
}


Kita memiliki dua pilihan bagaimana UserLevel ini akan disimpan dalam tabel, yaitu:

  • ordinal : menyimpan nilai index dari enum tersebut. CONTRIBUTOR akan disimpan dengan nilai 1,
     EDITOR dengan nilai 2, dan ADMINISTRATOR dengan nilai 3. Ordinal adalah modus default.
  • string : menyimpan nilai teks enum. Di database, nilainya akan disimpan sebagai tipe data enumeration bila
     tersedia, atau varchar.

Untuk memetakan enum, cukup berikan anotasi @Enumerated.

public class User {
private Integer id;
private String username;
private String password;
@Enumerated(value = EnumType.STRING)
private UserLevel level;
}

Tidak ada komentar:

Posting Komentar