站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc (Current Development Version)

org.netbeans.spi.registry (Registry) - NetBeans API Javadoc (Current Development Version)

org.netbeans.modules.registry/1 1.8

Package org.netbeans.spi.registry

The Registry SPI may be used by infrastructure modules which handle persistence of settings.

See:
          Description

Interface Summary
BasicContext This interface represents a basic context which consists of a set of name-to-object bindings.
MergedContextProvider Provides delegates for merged context and notifies about changes
ResettableContext BasicContext extension supporting default values.
 

Class Summary
SpiUtils This class contains helper static methods intended for use by SPI clients only; normal API clients which do not implement SPI contexts will not need them.
 

Package org.netbeans.spi.registry Description

The Registry SPI may be used by infrastructure modules which handle persistence of settings. Normal modules should not need to use this SPI.

Registry SPI in detail

(TBD)

The heart of the Registry SPI is BasicContext interface. Any client implementing the SPI must implement this interface. The ResettableContext is optional extension of the BasicContext capable to revert modifications to their default state. The RootContext is special extension of context which describes root of the registry hierarchy and several of its special capabilities like searching over the whole registry hierarchy, making pending registry modifications permanent, provides one mutex for all synchronization Each root context must implement the RootContext.

At the moment it is not expected that some other implementations of backend storage would exist or would be needed. The default one provided by NetBeans (currently known as SystemFilesystem) will be documented in separate document. It will implement ResettableContext; it will document how defaults can be declared; it will document how it persist binded objects (eg. first the convertor is searched; if failed "implements Serializable" is tested; if failed throw exceptions and reject the object); etc.

The SpiUtils class has several helper methods for creating misc Objects, Contexts, etc.

Threading Model

(TBD)

Threading model is very simple. SPI clients do not have to synchronize anything. They must only correctly implement RootContext.getMutex() method. The implementation of Registry APIs synchronizes all its methods calls on this mutex. That makes API thread save and it can be accessed from arbitrary threads without the need of client synchronization and that SPI will be always accessed only under the read or write lock of the SPI mutex. That also means that one client owning exlusive write lock and modifying a context blocks the whole registry or more precisely the root context and its hierarchy of context descendants to which the modified context belongs.


org.netbeans.modules.registry/1 1.8

Built on May 28 2007.  |  Portions Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.