Bug 80573 Prepare project specific preference options
I200412081200 From Martin's e-mail: I deprecated some methods that access options that will soon be offered per project as well: CodeFormatterUtil.getTabWidth() -> CodeFormatterUtil.getTabWidth(IJavaProject) CodeFormatterUtil.createIndentString(int) -> CodeFormatterUtil.createIndentString(int, IJavaProject) JavaPreferencesSettings.getCodeGenerationSettings() -> JavaPreferencesSettings.getCodeGenerationSettings(IJavaProject) JavaPreferencesSettings.getImportNumberThreshold(IPreferenceStore) -> JavaPreferencesSettings.getImportNumberThreshold(IJavaProject) JavaPreferencesSettings.getImportOrderPreference(IPreferenceStore) -> JavaPreferencesSettings.getImportOrderPreference(IJavaProject) Also make sure to not directly access to the following preference constants: PreferenceConstants.CODEGEN_* PreferenceConstants.ORGIMPORTS_* PreferenceConstants.FORMATTER_COMMENT_* -> Use PreferenceConstants.getPreference(String key, IJavaProject project) to get a JDT.UI preference value using the given project scope DefaultCodeFormatterConstants.* -> Use javaProject.getOption(key, true) to get a preference value using the given scope I fixed most of the references. What is still open: Refactoring:, fix the accesses to the deprecated methods listed above Java Editor, IndentAction, JavaAutoIndentStrategy, ...: Check all accesses to DefaultCodeFormatterConstants, e.g. FORMATTER_TAB_SIZE, FORMATTER_TAB_CHAR to see if the OverlayPreferenceStore is used
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
* or <code>NOT_FOUND</code>.<code>fIndent</code> will contain the
	 * relative indentation (in indentation units, not characters) after the
	 * call. If there is a special alignment (e.g. for a method declaration
	 * where parameters should be aligned), <code>fAlign</code> will contain
	 * the absolute position of the alignment reference in <code>fDocument</code>,
	 * otherwise <code>fAlign</code> is set to <code>JavaHeuristicScanner.NOT_FOUND</code>.
	 * 
	 * @param offset the offset for which the reference is computed
	 * @param danglingElse whether a dangling else should be assumed at <code>position</code>
	 * @param matchBrace whether the position of the matching brace should be
	 *            returned instead of doing code analysis
	 * @param matchParen whether the position of the matching parenthesis
	 *            should be returned instead of doing code analysis
	 * @param matchCase whether the position of a switch statement reference
	 *            should be returned (either an earlier case statement or the
	 *            switch block brace)
	 * @return the reference statement relative to which <code>position</code>
	 *         should be indented, or {@link JavaHeuristicScanner#NOT_FOUND}
	 */
	public int findReferencePosition(int offset, boolean danglingElse, boolean matchBrace, boolean matchParen, boolean matchCase) {
		fIndent= 0; 
		fAlign= JavaHeuristicScanner.NOT_FOUND;
		fPosition= offset;
		
		
		
		
		
		if (matchBrace) {
			if (skipScope(Symbols.TokenLBRACE, Symbols.TokenRBRACE)) {