001
014
015 package com.liferay.portlet;
016
017 import com.liferay.portal.kernel.portlet.ControlPanelEntry;
018 import com.liferay.registry.Filter;
019 import com.liferay.registry.Registry;
020 import com.liferay.registry.RegistryUtil;
021 import com.liferay.registry.ServiceTracker;
022
023
028 public class DefaultControlPanelEntryFactory {
029
030 public static ControlPanelEntry getInstance() {
031 return _instance._serviceTracker.getService();
032 }
033
034 private DefaultControlPanelEntryFactory() {
035 Registry registry = RegistryUtil.getRegistry();
036
037 Filter filter = registry.getFilter(
038 "(&(!(javax.portlet.name=*))(objectClass=" +
039 ControlPanelEntry.class.getName() + "))");
040
041 _serviceTracker = registry.trackServices(filter);
042
043 _serviceTracker.open();
044 }
045
046 private static final DefaultControlPanelEntryFactory _instance =
047 new DefaultControlPanelEntryFactory();
048
049 private final ServiceTracker<ControlPanelEntry, ControlPanelEntry>
050 _serviceTracker;
051
052 }