/**
* Copyright (c) 2015 Mustafa DUMLUPINAR, mdumlupinar@gmail.com
*
* This file is part of seyhan project.
*
* seyhan is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package enums;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import com.avaje.ebean.annotation.EnumValue;
public enum Right {
/*
* CARI MENUSU
*/
@EnumValue("CARI")
CARI(Module.contact, true, false, false),
@EnumValue("CARI_TANITIMI")
CARI_TANITIMI(Module.contact, false, true, false),
@EnumValue("CARI_KATEGORI_TANITIMI")
CARI_KATEGORI_TANITIMI(Module.contact, false, true, false),
@EnumValue("CARI_EKSTRA_ALANLAR")
CARI_EKSTRA_ALANLAR(Module.contact, false, true, false),
@EnumValue("CARI_ISLEM_KAYNAKLARI")
CARI_ISLEM_KAYNAKLARI(Module.contact, false, true, false),
// -----------------------------------------------------------------
@EnumValue("CARI_ACILIS_ISLEMI")
CARI_ACILIS_ISLEMI(Module.contact, false, true, false, TransType.Debt, 2),
@EnumValue("CARI_BORC_DEKONTU")
CARI_BORC_DEKONTU(Module.contact, false, true, false, TransType.Debt),
@EnumValue("CARI_ALACAK_DEKONTU")
CARI_ALACAK_DEKONTU(Module.contact, false, true, false, TransType.Credit),
// -----------------------------------------------------------------
@EnumValue("CARI_HESAP_LISTESI")
CARI_HESAP_LISTESI(Module.contact, false, false, false),
@EnumValue("CARI_ISLEM_LISTESI")
CARI_ISLEM_LISTESI(Module.contact, false, false, false),
@EnumValue("CARI_DURUM_RAPORU")
CARI_DURUM_RAPORU(Module.contact, false, false, false),
@EnumValue("CARI_ANALIZ_RAPORU")
CARI_ANALIZ_RAPORU(Module.contact, false, false, false),
@EnumValue("CARI_YASLANDIRMA_RAPORU")
CARI_YASLANDIRMA_RAPORU(Module.contact, false, false, false),
@EnumValue("CARI_HAREKET_RAPORU")
CARI_HAREKET_RAPORU(Module.contact, false, false, false),
@EnumValue("CARI_SON_ISLEM_RAPORU")
CARI_SON_ISLEM_RAPORU(Module.contact, false, false, false),
@EnumValue("CARI_HAREKETSIZ_CARILER_LISTESI")
CARI_HAREKETSIZ_CARILER_LISTESI(Module.contact, false, false, false),
/*
* CEK MENUSU
*/
@EnumValue("CEK")
CEK(Module.cheque, true, false, false),
@EnumValue("CEK_TURLERI")
CEK_TURLERI(Module.cheque, false, true, false),
@EnumValue("CEK_BORDRO_KAYNAKLARI")
CEK_BORDRO_KAYNAKLARI(Module.cheque, false, true, false),
// -----------------------------------------------------------------
@EnumValue("CEK_MUSTERI_ACILIS_ISLEMI")
CEK_MUSTERI_ACILIS_ISLEMI(Module.cheque, false, true, false, TransType.Debt, 2),
@EnumValue("CEK_FIRMA_ACILIS_ISLEMI")
CEK_FIRMA_ACILIS_ISLEMI(Module.cheque, false, true, false, TransType.Debt, 2),
@EnumValue("CEK_GIRIS_BORDROSU")
CEK_GIRIS_BORDROSU(Module.cheque, false, true, false, TransType.Debt),
@EnumValue("CEK_MUSTERI_HAREKETLERI")
CEK_MUSTERI_HAREKETLERI(Module.cheque, false, true, false, TransType.Debt),
@EnumValue("CEK_PARCALI_TAHSILAT")
CEK_PARCALI_TAHSILAT(Module.cheque, false, true, false, TransType.Debt),
@EnumValue("CEK_CIKIS_BORDROSU")
CEK_CIKIS_BORDROSU(Module.cheque, false, true, false, TransType.Credit),
@EnumValue("CEK_FIRMA_HAREKETLERI")
CEK_FIRMA_HAREKETLERI(Module.cheque, false, true, false, TransType.Credit),
@EnumValue("CEK_PARCALI_ODEME")
CEK_PARCALI_ODEME(Module.cheque, false, true, false, TransType.Credit),
// -----------------------------------------------------------------
@EnumValue("CEK_LISTESI")
CEK_LISTESI(Module.cheque, false, false, false),
@EnumValue("CEK_PARCALI_LISTESI")
CEK_PARCALI_LISTESI(Module.cheque, false, false, false),
@EnumValue("CEK_ISLEM_BORDRO_LISTESI")
CEK_ISLEM_BORDRO_LISTESI(Module.cheque, false, false, false),
@EnumValue("CEK_HAREKET_BORDRO_LISTESI")
CEK_HAREKET_BORDRO_LISTESI(Module.cheque, false, false, false),
/*
* SENET MENUSU
*/
@EnumValue("SENET")
SENET(Module.bill, true, false, false),
@EnumValue("SENET_TURLERI")
SENET_TURLERI(Module.bill, false, true, false),
@EnumValue("SENET_BORDRO_KAYNAKLARI")
SENET_BORDRO_KAYNAKLARI(Module.bill, false, true, false),
// -----------------------------------------------------------------
@EnumValue("SENET_MUSTERI_ACILIS_ISLEMI")
SENET_MUSTERI_ACILIS_ISLEMI(Module.bill, false, true, false, TransType.Debt, 2),
@EnumValue("SENET_FIRMA_ACILIS_ISLEMI")
SENET_FIRMA_ACILIS_ISLEMI(Module.bill, false, true, false, TransType.Debt, 2),
@EnumValue("SENET_GIRIS_BORDROSU")
SENET_GIRIS_BORDROSU(Module.bill, false, true, false, TransType.Debt),
@EnumValue("SENET_MUSTERI_HAREKETLERI")
SENET_MUSTERI_HAREKETLERI(Module.bill, false, true, false, TransType.Debt),
@EnumValue("SENET_PARCALI_TAHSILAT")
SENET_PARCALI_TAHSILAT(Module.bill, false, true, false, TransType.Debt),
@EnumValue("SENET_CIKIS_BORDROSU")
SENET_CIKIS_BORDROSU(Module.bill, false, true, false, TransType.Credit),
@EnumValue("SENET_FIRMA_HAREKETLERI")
SENET_FIRMA_HAREKETLERI(Module.bill, false, true, false, TransType.Credit),
@EnumValue("SENET_PARCALI_ODEME")
SENET_PARCALI_ODEME(Module.bill, false, true, false, TransType.Credit),
// -----------------------------------------------------------------
@EnumValue("SENET_LISTESI")
SENET_LISTESI(Module.bill, false, false, false),
@EnumValue("SENET_PARCALI_LISTESI")
SENET_PARCALI_LISTESI(Module.bill, false, false, false),
@EnumValue("SENET_ISLEM_BORDRO_LISTESI")
SENET_ISLEM_BORDRO_LISTESI(Module.bill, false, false, false),
@EnumValue("SENET_HAREKET_BORDRO_LISTESI")
SENET_HAREKET_BORDRO_LISTESI(Module.bill, false, false, false),
/*
* STOK MENUSU
*/
@EnumValue("STOK")
STOK(Module.stock, true, false, false),
@EnumValue("STOK_TANITIMI")
STOK_TANITIMI(Module.stock, false, true, false),
@EnumValue("STOK_KATEGORI_TANITIMI")
STOK_KATEGORI_TANITIMI(Module.stock, false, true, false),
@EnumValue("STOK_DEPO_TANITIMI")
STOK_DEPO_TANITIMI(Module.stock, false, true, false),
@EnumValue("STOK_BIRIM_TANITIMI")
STOK_BIRIM_TANITIMI(Module.stock, false, true, false),
@EnumValue("STOK_EKSTRA_ALANLAR")
STOK_EKSTRA_ALANLAR(Module.stock, false, true, false),
@EnumValue("STOK_FIS_KAYNAKLARI")
STOK_FIS_KAYNAKLARI(Module.stock, false, true, false),
// -----------------------------------------------------------------
@EnumValue("STOK_ACILIS_ISLEMI")
STOK_ACILIS_ISLEMI(Module.stock, false, true, false, TransType.Input, 2),
@EnumValue("STOK_GIRIS_FISI")
STOK_GIRIS_FISI(Module.stock, false, true, false, TransType.Input),
@EnumValue("STOK_CIKIS_FISI")
STOK_CIKIS_FISI(Module.stock, false, true, false, TransType.Output),
@EnumValue("STOK_CIKIS_IADE_FISI")
STOK_CIKIS_IADE_FISI(Module.stock, false, true, false, TransType.Input, 1),
@EnumValue("STOK_GIRIS_IADE_FISI")
STOK_GIRIS_IADE_FISI(Module.stock, false, true, false, TransType.Output, 1),
// -----------------------------------------------------------------
@EnumValue("STOK_TRANSFER_FISI")
STOK_TRANSFER_FISI(Module.stock, false, true, false, TransType.Output),
@EnumValue("STOK_TRANSFER_YANSI")
STOK_TRANSFER_YANSI(Module.stock, true),
// -----------------------------------------------------------------
@EnumValue("STOK_FIYAT_GUNCELLEME")
STOK_FIYAT_GUNCELLEME(Module.stock, false, true, false),
@EnumValue("STOK_FIYAT_LISTESI")
STOK_FIYAT_LISTESI(Module.stock, false, true, false),
@EnumValue("STOK_MALIYET_HESAPLAMALARI")
STOK_MALIYET_HESAPLAMALARI(Module.stock, false, true, false),
@EnumValue("STOK_MALIYET_FAKTORLERI")
STOK_MALIYET_FAKTORLERI(Module.stock, false, true, false),
// -----------------------------------------------------------------
@EnumValue("STOK_LISTESI")
STOK_LISTESI(Module.stock, false, false, false),
@EnumValue("STOK_FIYATLI_LISTE")
STOK_FIYATLI_LISTE(Module.stock, false, false, false),
@EnumValue("STOK_FIS_LISTESI")
STOK_FIS_LISTESI(Module.stock, false, false, false),
@EnumValue("STOK_HAREKET_RAPORU")
STOK_HAREKET_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_ICMAL_RAPORU")
STOK_ICMAL_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_TOPN_RAPORU")
STOK_TOPN_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_DURUM_RAPORU")
STOK_DURUM_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_ENVANTER_RAPORU")
STOK_ENVANTER_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_KAR_ZARAR_RAPORU")
STOK_KAR_ZARAR_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_SON_ISLEM_RAPORU")
STOK_SON_ISLEM_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_BEKLEYEN_STOKLAR_RAPORU")
STOK_BEKLEYEN_STOKLAR_RAPORU(Module.stock, false, false, false),
@EnumValue("STOK_HAREKETSIZ_STOKLAR_LISTESI")
STOK_HAREKETSIZ_STOKLAR_LISTESI(Module.stock, false, false, false),
/*
* SIPARIS MENUSU
*/
@EnumValue("SIPARIS")
SPRS(Module.order, true, false, false),
@EnumValue("SPRS_FIS_KAYNAKLARI")
SPRS_FIS_KAYNAKLARI(Module.order, false, true, false),
@EnumValue("SPRS_SIPARIS_DURUMLARI")
SPRS_SIPARIS_DURUMLARI(Module.order, false, true, false),
@EnumValue("SPRS_ONAYLAMA_ADIMLARI")
SPRS_ONAYLAMA_ADIMLARI(Module.order, false, false, false),
// -----------------------------------------------------------------
@EnumValue("SPRS_ALINAN_SIPARIS_FISI")
SPRS_ALINAN_SIPARIS_FISI(Module.order, false, true, false, TransType.Output),
@EnumValue("SPRS_VERILEN_SIPARIS_FISI")
SPRS_VERILEN_SIPARIS_FISI(Module.order, false, true, false, TransType.Input),
// -----------------------------------------------------------------
@EnumValue("SPRS_FIS_LISTESI")
SPRS_FIS_LISTESI(Module.order, false, false, false),
@EnumValue("SPRS_DAGILIM_RAPORU")
SPRS_DAGILIM_RAPORU(Module.order, false, false, false),
/*
* IRSALIYE MENUSU
*/
@EnumValue("IRSALIYE")
IRSL(Module.waybill, true, false, false),
@EnumValue("IRSL_IRSALIYE_KAYNAKLARI")
IRSL_IRSALIYE_KAYNAKLARI(Module.waybill, false, true, false),
@EnumValue("IRSL_FATURA_DURUMLARI")
IRSL_IRSALIYE_DURUMLARI(Module.waybill, false, true, false),
@EnumValue("IRSL_ONAYLAMA_ADIMLARI")
IRSL_ONAYLAMA_ADIMLARI(Module.waybill, false, false, false),
// -----------------------------------------------------------------
@EnumValue("IRSL_ALIS_IRSALIYESI")
IRSL_ALIS_IRSALIYESI(Module.waybill, false, true, false, TransType.Input),
@EnumValue("IRSL_SATIS_IRSALIYESI")
IRSL_SATIS_IRSALIYESI(Module.waybill, false, true, false, TransType.Output),
// -----------------------------------------------------------------
@EnumValue("IRSL_FIS_LISTESI")
IRSL_FIS_LISTESI(Module.waybill, false, false, false),
@EnumValue("IRSL_DAGILIM_RAPORU")
IRSL_DAGILIM_RAPORU(Module.waybill, false, false, false),
/*
* FATURA MENUSU
*/
@EnumValue("FATURA")
FATR(Module.invoice, true, false, false),
@EnumValue("FATR_FATURA_KAYNAKLARI")
FATR_FATURA_KAYNAKLARI(Module.invoice, false, true, false),
@EnumValue("FATR_FATURA_DURUMLARI")
FATR_FATURA_DURUMLARI(Module.invoice, false, true, false),
@EnumValue("FATR_ONAYLAMA_ADIMLARI")
FATR_ONAYLAMA_ADIMLARI(Module.invoice, false, true, false),
// -----------------------------------------------------------------
@EnumValue("FATR_ALIS_FATURASI")
FATR_ALIS_FATURASI(Module.invoice, false, true, false, TransType.Input),
@EnumValue("FATR_SATIS_FATURASI")
FATR_SATIS_FATURASI(Module.invoice, false, true, false, TransType.Output),
@EnumValue("FATR_ALIS_IADE_FATURASI")
FATR_ALIS_IADE_FATURASI(Module.invoice, false, true, false, TransType.Output, 1),
@EnumValue("FATR_SATIS_IADE_FATURASI")
FATR_SATIS_IADE_FATURASI(Module.invoice, false, true, false, TransType.Input, 1),
// -----------------------------------------------------------------
@EnumValue("FATR_FATURA_LISTESI")
FATR_FATURA_LISTESI(Module.invoice, false, false, false),
@EnumValue("FATR_DAGILIM_RAPORU")
FATR_DAGILIM_RAPORU(Module.invoice, false, false, false),
// -----------------------------------------------------------------
/*
* KASA MENUSU
*/
@EnumValue("KASA")
KASA(Module.safe, true, false, false),
@EnumValue("KASA_TANITIMI")
KASA_TANITIMI(Module.safe, false, true, false),
@EnumValue("KASA_ISLEM_KAYNAKLARI")
KASA_ISLEM_KAYNAKLARI(Module.safe, false, true, false),
@EnumValue("KASA_GIDER_TANITIMI")
KASA_GIDER_TANITIMI(Module.safe, false, true, false),
// -----------------------------------------------------------------
@EnumValue("KASA_ACILIS_ISLEMI")
KASA_ACILIS_ISLEMI(Module.safe, false, true, false, TransType.Debt, 2),
@EnumValue("KASA_TAHSIL_FISI")
KASA_TAHSIL_FISI(Module.safe, false, true, false, TransType.Debt),
@EnumValue("KASA_TEDIYE_FISI")
KASA_TEDIYE_FISI(Module.safe, false, true, false, TransType.Credit),
@EnumValue("KASA_MAHSUP_FISI")
KASA_MAHSUP_FISI(Module.safe, false, true, false, TransType.Debt),
// -----------------------------------------------------------------
@EnumValue("KASA_ISLEM_LISTESI")
KASA_ISLEM_LISTESI(Module.safe, false, false, false),
@EnumValue("KASA_KASA_DEFTERI")
KASA_KASA_DEFTERI(Module.safe, false, false, false),
@EnumValue("KASA_GUNLUK_RAPOR")
KASA_GUNLUK_RAPOR(Module.safe, false, false, false),
@EnumValue("KASA_DURUM_RAPORU")
KASA_DURUM_RAPORU(Module.safe, false, false, false),
@EnumValue("KASA_HAREKET_RAPORU")
KASA_HAREKET_RAPORU(Module.safe, false, false, false),
/*
* BANKA MENUSU
*/
@EnumValue("BANK")
BANK(Module.bank, true, false, false),
@EnumValue("BANK_HESAP_TANITIMI")
BANK_HESAP_TANITIMI(Module.bank, false, true, false),
@EnumValue("BANK_ISLEM_KAYNAKLARI")
BANK_ISLEM_KAYNAKLARI(Module.bank, false, true, false),
@EnumValue("BANK_MASRAF_TANITIMI")
BANK_MASRAF_TANITIMI(Module.bank, false, true, false),
// -----------------------------------------------------------------
@EnumValue("BANK_ACILIS_ISLEMI")
BANK_ACILIS_ISLEMI(Module.bank, false, true, false, TransType.Debt, 2),
@EnumValue("BANK_HESABA_PARA_GIRISI")
BANK_HESABA_PARA_GIRISI(Module.bank, false, true, false, TransType.Debt),
@EnumValue("BANK_HESAPTAN_PARA_CIKISI")
BANK_HESAPTAN_PARA_CIKISI(Module.bank, false, true, false, TransType.Credit),
// -----------------------------------------------------------------
@EnumValue("BANK_ISLEM_LISTESI")
BANK_ISLEM_LISTESI(Module.bank, false, false, false),
@EnumValue("BANK_GUNLUK_RAPOR")
BANK_GUNLUK_RAPOR(Module.bank, false, false, false),
@EnumValue("BANK_DURUM_RAPORU")
BANK_DURUM_RAPORU(Module.bank, false, false, false),
@EnumValue("BANK_HAREKET_RAPORU")
BANK_HAREKET_RAPORU(Module.bank, false, false, false),
/*
* SATIS MENUSU
*/
@EnumValue("SATS")
SATS(Module.sale, true, false, false),
@EnumValue("SATS_SATICI_TANITIMI")
SATS_SATICI_TANITIMI(Module.sale, false, true, false),
@EnumValue("SATS_KAMPANYA_TANITIMI")
SATS_KAMPANYA_TANITIMI(Module.sale, false, true, false),
@EnumValue("SATS_SATIS_RAPORU")
SATS_SATIS_RAPORU(Module.sale, false, false, false),
/*
* GENEL MENUSU
*/
@EnumValue("GNEL")
GNEL(Module.global, true, false, false),
@EnumValue("GNEL_PROFIL_TANITIMI")
GNEL_PROFIL_TANITIMI(Module.global, false, true, true),
@EnumValue("GNEL_ISLEM_NOKTALARI")
GNEL_ISLEM_NOKTALARI(Module.global, false, true, false),
@EnumValue("GNEL_OZEL_KODLAR")
GNEL_OZEL_KODLAR(Module.global, false, true, false),
@EnumValue("GNEL_DOVIZ_BIRIMLERI")
GNEL_DOVIZ_BIRIMLERI(Module.global, false, true, false),
@EnumValue("GNEL_DOVIZ_KURLARI")
GNEL_DOVIZ_KURLARI(Module.global, false, true, false),
// -----------------------------------------------------------------
/*
* ADMIN MENUSU
*/
@EnumValue("KULLANICI_TANITIMI")
KULLANICI_TANITIMI(Module.admin, false, true, true),
@EnumValue("KULLANICI_DEPARTMANLARI")
KULLANICI_DEPARTMANLARI(Module.admin, false, true, true),
@EnumValue("KULLANICI_GURUPLARI")
KULLANICI_GURUPLARI(Module.admin, false, true, true),
@EnumValue("KULLANICI_ROLLERI")
KULLANICI_ROLLERI(Module.admin, false, true, true),
@EnumValue("KULLANICI_HAREKETLERI")
KULLANICI_HAREKETLERI(Module.admin, false, false, true),
@EnumValue("EKSTRA_STOK_ALANLARI")
EKSTRA_STOK_ALANLARI(Module.admin, false, true, true),
@EnumValue("EKSTRA_CARI_ALANLARI")
EKSTRA_CARI_ALANLARI(Module.admin, false, true, true),
@EnumValue("STOK_TANITIM_IMPORT")
STOK_TANITIM_IMPORT(Module.admin, false, true, true),
@EnumValue("CARI_TANITIM_IMPORT")
CARI_TANITIM_IMPORT(Module.admin, false, true, true),
@EnumValue("CALISMA_ALANI")
CALISMA_ALANI(Module.admin, false, true, true),
@EnumValue("CALISMA_ALANI_TRANSFER")
CALISMA_ALANI_TRANSFER(Module.admin, false, true, true),
@EnumValue("GENEL_AYARLAR")
GENEL_AYARLAR(Module.admin, false, true, true),
@EnumValue("BELGE_TASARIMI")
BELGE_TASARIMI(Module.admin, false, true, true),
@EnumValue("BELGE_HEDEFLERI")
BELGE_HEDEFLERI(Module.admin, false, true, true),
@EnumValue("CARI_ISLEM_KAPAMA")
CARI_ISLEM_KAPAMA(Module.contact, true),
@EnumValue("CARI_VIRMAN")
CARI_VIRMAN(Module.contact, true),
@EnumValue("KASA_VIRMAN")
KASA_VIRMAN(Module.safe, true),
@EnumValue("BANK_VIRMAN")
BANK_VIRMAN(Module.bank, true),
@EnumValue("BANK_MASRAF")
BANK_MASRAF(Module.bank, true),
@EnumValue("ADMIN")
ADMIN(Module.admin, true);
public String key = "enum." + name();
public TransType reverseTransType;
public Module module;
public boolean isShadow;
public boolean isHeader;
public boolean isCRUD;
public boolean isReport;
public boolean isAdminMenu;
public boolean isReturn;
public boolean isOpening;
public TransType transType;
private static Map<Module, Set<Right>> moduleRightMap = null;
Right(Module module, boolean isShadow) {
this.isShadow = isShadow;
this.module = module;
}
Right(Module module, boolean isHeader, boolean isCRUD, boolean isAdminMenu) {
this(module, isHeader, isCRUD, isAdminMenu, null, 0);
}
Right(Module module, boolean isHeader, boolean isCRUD, boolean isAdminMenu, TransType transType) {
this(module, isHeader, isCRUD, isAdminMenu, transType, 0);
}
Right(Module module, boolean isHeader, boolean isCRUD, boolean isAdminMenu, TransType transType, int type) { //type -> 0:Normal, 1-Return, 2:Opening
this.module = module;
this.isHeader = isHeader;
this.isCRUD = isCRUD;
this.isAdminMenu = isAdminMenu;
switch (type) {
case 1: { //Return
this.isReturn = true;
break;
}
case 2: { //Opening
this.isOpening = true;
break;
}
}
this.isReport = (! isHeader && ! isCRUD && ! isAdminMenu);
this.transType = transType;
if (transType != null) {
this.reverseTransType = (transType.equals(TransType.Debt) ? TransType.Credit : TransType.Debt);
}
}
public static Set<Right> getModuleRightSet(Module module) {
if (moduleRightMap == null) buildModuleMap();
return moduleRightMap.get(module);
}
public static Right findRight(String name) {
try {
return valueOf(name);
} catch (Exception e) {
return null;
}
}
private static void buildModuleMap() {
moduleRightMap = new HashMap<Module, Set<Right>>();
for (Module module : Module.values()) {
Set<Right> set = new TreeSet<Right>();
for (Right right : Right.values()) {
if (! right.isHeader && ! right.isShadow && module.equals(right.module)) {
set.add(right);
}
}
moduleRightMap.put(module, set);
}
}
}