Example usage for com.liferay.portal.kernel.template TemplateHandlerRegistryUtil getTemplateHandlers

List of usage examples for com.liferay.portal.kernel.template TemplateHandlerRegistryUtil getTemplateHandlers

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.template TemplateHandlerRegistryUtil getTemplateHandlers.

Prototype

public static List<TemplateHandler> getTemplateHandlers() 

Source Link

Usage

From source file:com.liferay.portlet.display.template.internal.PortletDisplayTemplateImpl.java

License:Open Source License

@Override
public List<TemplateHandler> getPortletDisplayTemplateHandlers() {
    List<TemplateHandler> templateHandlers = TemplateHandlerRegistryUtil.getTemplateHandlers();

    List<TemplateHandler> portletDisplayTemplateHandlers = new ArrayList<>();

    for (TemplateHandler templateHandler : templateHandlers) {
        if (templateHandler instanceof BasePortletDisplayTemplateHandler) {
            portletDisplayTemplateHandlers.add(templateHandler);
        } else if (ProxyUtil.isProxyClass(templateHandler.getClass())) {
            InvocationHandler invocationHandler = ProxyUtil.getInvocationHandler(templateHandler);

            if (invocationHandler instanceof ClassLoaderBeanHandler) {
                ClassLoaderBeanHandler classLoaderBeanHandler = (ClassLoaderBeanHandler) invocationHandler;

                Object bean = classLoaderBeanHandler.getBean();

                if (bean instanceof BasePortletDisplayTemplateHandler) {
                    portletDisplayTemplateHandlers.add(templateHandler);
                }//w ww. j a v a 2s  . co m
            }
        }
    }

    return portletDisplayTemplateHandlers;
}