package fr.itldev.koya.model.permissions; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.alfresco.repo.site.SiteModel; import org.alfresco.util.collections.CollectionUtils; /** * * */ public class SitePermission extends AlfrescoPermission { public static final SitePermission MANAGER = new SitePermission(SiteModel.SITE_MANAGER); public static final SitePermission COLLABORATOR = new SitePermission(SiteModel.SITE_COLLABORATOR); public static final SitePermission CONTRIBUTOR = new SitePermission(SiteModel.SITE_CONTRIBUTOR); public static final SitePermission CONSUMER = new SitePermission(SiteModel.SITE_CONSUMER); public SitePermission(String permissionName) { super(permissionName); } private static final Map<String, SitePermission> sitePermissionCache = new HashMap<String, SitePermission>() { /** * */ private static final long serialVersionUID = 1L; { for (SitePermission sp : getAll()) { put(sp.permissionName, sp); } } }; public static List<SitePermission> getAll() { List<SitePermission> all = new ArrayList<>(); all.add(SitePermission.MANAGER); all.add(SitePermission.COLLABORATOR); all.add(SitePermission.CONSUMER); return all; } public static List<String> getAllAsString() { return CollectionUtils.toListOfStrings(getAll()); } public static SitePermission valueOf(String permissionName) { return sitePermissionCache.get(permissionName); } }