org.apache.felix.prefs.impl
Class PreferencesManager

java.lang.Object
  extended by org.apache.felix.prefs.impl.PreferencesManager
All Implemented Interfaces:
java.util.EventListener, BackingStoreManager, org.osgi.framework.BundleActivator, org.osgi.framework.BundleListener, org.osgi.framework.ServiceFactory

public class PreferencesManager
extends java.lang.Object
implements org.osgi.framework.BundleActivator, org.osgi.framework.BundleListener, org.osgi.framework.ServiceFactory, BackingStoreManager

This activator registers itself as a service factory for the preferences service.


Field Summary
protected  org.osgi.framework.BundleContext context
          The bundle context.
protected  BackingStore defaultStore
          The default store which is used if no service can be found.
protected  org.osgi.util.tracker.ServiceTracker logTracker
          The service tracker for the log service.
protected  java.util.Map services
          The map of already created services.
protected  org.osgi.util.tracker.ServiceTracker storeTracker
          The backing store service tracker.
protected  int storeTrackingCount
          Tracking count for the store tracker to detect changes.
 
Constructor Summary
PreferencesManager()
           
 
Method Summary
 void bundleChanged(org.osgi.framework.BundleEvent event)
           
protected  void cleanupStore(BackingStore store)
          Clean up the store and remove preferences for deleted bundles.
 java.lang.Object getService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration reg)
           
 BackingStore getStore()
          Return the current backing store.
protected  void log(int level, java.lang.String message, java.lang.Throwable t)
           
protected  void save(PreferencesServiceImpl service)
          Save all preferences for this service.
 void start(org.osgi.framework.BundleContext context)
           
 void stop(org.osgi.framework.BundleContext context)
           
 void ungetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration reg, java.lang.Object s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

services

protected final java.util.Map services
The map of already created services. For each client bundle a new service is created.


context

protected org.osgi.framework.BundleContext context
The bundle context.


storeTracker

protected org.osgi.util.tracker.ServiceTracker storeTracker
The backing store service tracker.


logTracker

protected org.osgi.util.tracker.ServiceTracker logTracker
The service tracker for the log service.


defaultStore

protected BackingStore defaultStore
The default store which is used if no service can be found.


storeTrackingCount

protected int storeTrackingCount
Tracking count for the store tracker to detect changes.

Constructor Detail

PreferencesManager

public PreferencesManager()
Method Detail

bundleChanged

public void bundleChanged(org.osgi.framework.BundleEvent event)
Specified by:
bundleChanged in interface org.osgi.framework.BundleListener
See Also:
BundleListener.bundleChanged(org.osgi.framework.BundleEvent)

start

public void start(org.osgi.framework.BundleContext context)
           throws java.lang.Exception
Specified by:
start in interface org.osgi.framework.BundleActivator
Throws:
java.lang.Exception
See Also:
BundleActivator.start(org.osgi.framework.BundleContext)

stop

public void stop(org.osgi.framework.BundleContext context)
          throws java.lang.Exception
Specified by:
stop in interface org.osgi.framework.BundleActivator
Throws:
java.lang.Exception
See Also:
BundleActivator.stop(org.osgi.framework.BundleContext)

getService

public java.lang.Object getService(org.osgi.framework.Bundle bundle,
                                   org.osgi.framework.ServiceRegistration reg)
Specified by:
getService in interface org.osgi.framework.ServiceFactory
See Also:
ServiceFactory.getService(org.osgi.framework.Bundle, org.osgi.framework.ServiceRegistration)

ungetService

public void ungetService(org.osgi.framework.Bundle bundle,
                         org.osgi.framework.ServiceRegistration reg,
                         java.lang.Object s)
Specified by:
ungetService in interface org.osgi.framework.ServiceFactory
See Also:
ServiceFactory.ungetService(org.osgi.framework.Bundle, org.osgi.framework.ServiceRegistration, java.lang.Object)

save

protected void save(PreferencesServiceImpl service)
Save all preferences for this service.

Parameters:
service -

log

protected void log(int level,
                   java.lang.String message,
                   java.lang.Throwable t)

getStore

public BackingStore getStore()
Description copied from interface: BackingStoreManager
Return the current backing store.

Specified by:
getStore in interface BackingStoreManager
See Also:
BackingStoreManager.getStore()

cleanupStore

protected void cleanupStore(BackingStore store)
Clean up the store and remove preferences for deleted bundles.

Parameters:
store -