A 3.1 kiadástól az AbstractUIPlugin#getPreferenceStore által visszaadott org.eclipse.jface.preference.IPreferenceStore az org.eclipse.ui.preferences.ScopedPreferenceStore egy példánya lesz. A ScopedPreferenceStore az új központi futási környezet API-t használja a beállítások kezelésére. A 3.0 változatban a kompatibilitási réteget használta a felületekhez az org.eclipse.core.runtime.Preferences egy példányával.
A 3.1 változatban egyértelművé tettük az IPreferenceStore felületet, hogy még specifikusabb legyen a beállításváltozási eseményekhez elküldött értékek típusát illetően. Az AbstractUIPlugin#getPreferenceStore metódusból származó IPreferenceStore felület ugyanúgy viselkedik, mint ezelőtt, mindössze annyi változott, hogy még egyértelműbb lett a meghatározása.
Típushasználat: Egy IPreferenceStore felülethez adott org.eclipse.jface.util.IPropertyChangeListener
elem a régi és új értékek két típusát kérheti le, a típusos és a karaktersorozatos ábrázolást. Egy típusos
IPreferenceStore API (például setValue(String key, boolean value)
hívása által előállított esemény típusos lesz. Azonban az is lehetséges, hogy
az események a központi futási környezet beállításaiból kerülnek továbbításra,
amely egy nem típusos eseményt állít elő (például egy beállításimportáláskor).
A tulajdonságfigyelőket mindkét esetre fel kell készíteni. Ne feledje azt sem,
hogy a típusos események nem fognak primitív típusokat továbbítani, így a
setValue(String key, boolean value)
hívás egy olyan eseményt fog
eredményezni, amelyben az oldValue és newValue változók típusa logikai.
putValue: Az IPreferenceStore.putValue(String key, String value) nem állít elő változtatási eseményt. Ez az API olyan saját beállításokhoz használható, amelyekre a figyelőknek nem kell reagálniuk.
initializeDefaultPreferences: Ez az API elavult volt az Eclipse 3.0 változatában, mivel csak a kompatibilitási réteg használata esetén került aktiválásra. Mivel a legtöbb bedolgozó az AbstractUIPlugin#getPreferenceStore metódusra támaszkodik a beállítástárolójuk lekérése érdekében, ezért a metódus meghívása a bedolgozó indítása előtt történt meg. Ha a bedolgozó nem éri el magát a kompatibilitási réteget, akkor ez a metódus nem kerül meghívásra. A beállítás inicializálásának kezeléséhez az org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer létrehozása ajánlott.