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