Я хочу перенести этот модуль разрешений c # на java, но я запутался, как я могу это сделать, когда не могу сохранить числовое значение в базе данных и затем привести его к представлению перечисления.
В c # я создаю перечисление вот так:
public enum ArticlePermission
{
CanRead = 1,
CanWrite = 2,
CanDelete = 4,
CanMove = 16
}
Затем я могу создать набор разрешений, например:
ArticlePermission johnsArticlePermission = ArticlePermission.CanRead | ArticlePermission.CanMove;
Затем я сохраняю это в базу данных, используя:
(int)johnsArticlePermission
Теперь я могу читать его из базы данных как целое / длинное и приводить как:
johnsArticlePermission = (ArticlePermission) dr["articlePermissions"];
И я могу проверить разрешения как:
if(johnsArticlePermission & ArticlePermission.CanRead == ArticlePermission.CanRead)
{
}
Как я могу сделать это в Java?
Насколько я понимаю, в Java вы можете преобразовать перечисление в числовое значение, а затем преобразовать его обратно в перечисление Java.
Идеи