001
014
015 package com.liferay.portal.portletdisplaytemplate;
016
017 import com.liferay.portal.kernel.portletdisplaytemplate.PortletDisplayTemplateHandler;
018 import com.liferay.portal.kernel.portletdisplaytemplate.PortletDisplayTemplateHandlerRegistry;
019 import com.liferay.portal.kernel.util.ListUtil;
020 import com.liferay.portal.util.PortalUtil;
021
022 import java.util.HashMap;
023 import java.util.List;
024 import java.util.Map;
025
026
029 public class PortletDisplayTemplateHandlerRegistryImpl
030 implements PortletDisplayTemplateHandlerRegistry {
031
032 public long[] getClassNameIds() {
033 long[] classNameIds = new long[_portletDisplayTemplateHandlers.size()];
034
035 int i = 0;
036
037 for (Map.Entry<String, PortletDisplayTemplateHandler> entry :
038 _portletDisplayTemplateHandlers.entrySet()) {
039
040 PortletDisplayTemplateHandler portletDisplayTemplateHandler =
041 entry.getValue();
042
043 classNameIds[i++] = PortalUtil.getClassNameId(
044 portletDisplayTemplateHandler.getClassName());
045 }
046
047 return classNameIds;
048 }
049
050 public PortletDisplayTemplateHandler getPortletDisplayTemplateHandler(
051 long classNameId) {
052
053 String className = PortalUtil.getClassName(classNameId);
054
055 return _portletDisplayTemplateHandlers.get(className);
056 }
057
058 public PortletDisplayTemplateHandler getPortletDisplayTemplateHandler(
059 String className) {
060
061 return _portletDisplayTemplateHandlers.get(className);
062 }
063
064 public List<PortletDisplayTemplateHandler>
065 getPortletDisplayTemplateHandlers() {
066
067 return ListUtil.fromMapValues(_portletDisplayTemplateHandlers);
068 }
069
070 public void register(
071 PortletDisplayTemplateHandler portletDisplayTemplateHandler) {
072
073 _portletDisplayTemplateHandlers.put(
074 portletDisplayTemplateHandler.getClassName(),
075 portletDisplayTemplateHandler);
076 }
077
078 public void unregister(
079 PortletDisplayTemplateHandler portletDisplayTemplateHandler) {
080
081 _portletDisplayTemplateHandlers.remove(
082 portletDisplayTemplateHandler.getClassName());
083 }
084
085 private Map<String, PortletDisplayTemplateHandler>
086 _portletDisplayTemplateHandlers =
087 new HashMap<String, PortletDisplayTemplateHandler>();
088
089 }