001
014
015 package com.liferay.portlet.documentlibrary.asset;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.repository.model.Folder;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portlet.asset.model.AssetRenderer;
023 import com.liferay.portlet.asset.model.BaseAssetRendererFactory;
024 import com.liferay.portlet.documentlibrary.model.DLFolder;
025 import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
026 import com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission;
027
028
031 public class DLFolderAssetRendererFactory extends BaseAssetRendererFactory {
032
033 public static final String CLASS_NAME = DLFolder.class.getName();
034
035 public static final String TYPE = "folder";
036
037 public AssetRenderer getAssetRenderer(long classPK, int type)
038 throws PortalException, SystemException {
039
040 Folder folder = DLAppLocalServiceUtil.getFolder(classPK);
041
042 return new DLFolderAssetRenderer(folder);
043 }
044
045 public String getClassName() {
046 return CLASS_NAME;
047 }
048
049 public String getType() {
050 return TYPE;
051 }
052
053 @Override
054 public boolean hasPermission(
055 PermissionChecker permissionChecker, long classPK, String actionId)
056 throws Exception {
057
058 Folder folder = DLAppLocalServiceUtil.getFolder(classPK);
059
060 return DLFolderPermission.contains(permissionChecker, folder, actionId);
061 }
062
063 @Override
064 public boolean isLinkable() {
065 return _LINKABLE;
066 }
067
068 @Override
069 protected String getIconPath(ThemeDisplay themeDisplay) {
070 return themeDisplay.getPathThemeImages() + "/common/folder.png";
071 }
072
073 private static final boolean _LINKABLE = true;
074
075 }