릴리스 3.1 현재, AbstractUIPlugin#getPreferenceStore로부터 리턴되는 org.eclipse.jface.preference.IPreferenceStore가 org.eclipse.ui.preferences.ScopedPreferenceStore의 인스턴스입니다. ScopedPreferenceStore는 새 코어 런타임 API를 사용하여 환경 설정을 관리합니다. 3.0에서는 호환성 계층을 사용하여 org.eclipse.core.runtime.Preferences의 인스턴스와 인터페이스했습니다.
3.1에서는 환경 설정 변경 이벤트에서 송신되는 값의 유형에 대해 보다 특정하도록 IPreferenceStore를 명확하게 했습니다. AbstractUIPlugin#getPreferenceStore의 IPreferenceStore는 이전과 동일한 동작을 갖습니다. 즉 모든 변경 사항이 보다 명확하게 지정되었다는 점입니다.
키 입력: IPreferenceStore에 추가된 org.eclipse.jface.util.IPropertyChangeListener는
잠재적으로 이전 및 새로운 값의 두 가지 유형(키 입력 또는 문자열 표시)을 가져올 수 있습니다. 입력된
IPreferenceStore API에 대한 호출에 의해 생성되는 모든 이벤트(예: setValue(String key, boolean value)
)는
입력된 이벤트를 생성합니다. 그러나 입력되지 않은 이벤트를 생성하는
코어 런타임 환경 설정에서 이벤트가 전파될 수도 있습니다(예를 들어
환경 설정 가져오기의 인스턴스에서). 특성 리스너가 두 경우 모두 준비되어야
합니다. 또한 입력된 이벤트는 기본 유형을 전파하지 않으므로
setValue(String key, boolean value)
에 대한 호출 결과가
oldValue 및 newValue가 부울인 이벤트가 됩니다.
putValue: IPreferenceStore.putValue(String key, String value)가 변경 이벤트를 생성하지 않습니다. 이 API는 대응 조치를 하는 리스너가 없는 개인용 환경 설정에 사용되기 위한 것입니다.
initializeDefaultPreferences. 이 API는 호환성 계층이 사용된 경우에만 시작되기 때문에 Eclipse 3.0에서 폐기되었습니다. 대부분의 플러그인이 환경 설정 저장을 가져오기 위해 AbstractUIPlugin#getPreferenceStore에 의존하므로 이것은 이전에 플러그인 시작 시에 시작되었습니다. 플러그인이 호환성 계층 자체에 액세스하지 않는 경우 이 메소드는 시작될 수 없습니다. 환경 설정 초기화를 처리하기 위해 org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer를 작성할 것을 권장합니다.