| /******************************************************************************* |
| * Copyright (c) 2000, 2003 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Common Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.internal.codeassist.impl; |
| import java.util.Iterator; |
| import java.util.Map; |
| import org.eclipse.jdt.core.compiler.CharOperation; |
| public class AssistOptions { |
| /** |
| * Option IDs |
| */ |
| public static final String OPTION_PerformVisibilityCheck = "org.eclipse.jdt.core.codeComplete.visibilityCheck"; //$NON-NLS-1$ |
| public static final String OPTION_ForceImplicitQualification = "org.eclipse.jdt.core.codeComplete.forceImplicitQualification"; //$NON-NLS-1$ |
| public static final String OPTION_FieldPrefixes = "org.eclipse.jdt.core.codeComplete.fieldPrefixes"; //$NON-NLS-1$ |
| public static final String OPTION_StaticFieldPrefixes = "org.eclipse.jdt.core.codeComplete.staticFieldPrefixes"; //$NON-NLS-1$ |
| public static final String OPTION_LocalPrefixes = "org.eclipse.jdt.core.codeComplete.localPrefixes"; //$NON-NLS-1$ |
| public static final String OPTION_ArgumentPrefixes = "org.eclipse.jdt.core.codeComplete.argumentPrefixes"; //$NON-NLS-1$ |
| public static final String OPTION_FieldSuffixes = "org.eclipse.jdt.core.codeComplete.fieldSuffixes"; //$NON-NLS-1$ |
| public static final String OPTION_StaticFieldSuffixes = "org.eclipse.jdt.core.codeComplete.staticFieldSuffixes"; //$NON-NLS-1$ |
| public static final String OPTION_LocalSuffixes = "org.eclipse.jdt.core.codeComplete.localSuffixes"; //$NON-NLS-1$ |
| public static final String OPTION_ArgumentSuffixes = "org.eclipse.jdt.core.codeComplete.argumentSuffixes"; //$NON-NLS-1$ |
| public static final String ENABLED = "enabled"; //$NON-NLS-1$ |
| public static final String DISABLED = "disabled"; //$NON-NLS-1$ |
| public boolean checkVisibility = false; |
| public boolean forceImplicitQualification = false; |
| public char[][] fieldPrefixes = null; |
| public char[][] staticFieldPrefixes = null; |
| public char[][] localPrefixes = null; |
| public char[][] argumentPrefixes = null; |
| public char[][] fieldSuffixes = null; |
| public char[][] staticFieldSuffixes = null; |
| public char[][] localSuffixes = null; |
| public char[][] argumentSuffixes = null; |
| /** |
| * Initializing the assist options with default settings |
| */ |
| public AssistOptions() { |
| // Initializing the assist options with default settings |
| } |
| /** |
| * Initializing the assist options with external settings |
| */ |
| public AssistOptions(Map settings) { |
| if (settings == null) |
| return; |
| // filter options which are related to the assist component |
| Iterator entries = settings.entrySet().iterator(); |
| while (entries.hasNext()) { |
| Map.Entry entry = (Map.Entry) entries.next(); |
| if (!(entry.getKey() instanceof String)) |
| continue; |
| if (!(entry.getValue() instanceof String)) |
| continue; |
| String optionID = (String) entry.getKey(); |
| String optionValue = (String) entry.getValue(); |
| if (optionID.equals(OPTION_PerformVisibilityCheck)) { |
| if (optionValue.equals(ENABLED)) { |
| this.checkVisibility = true; |
| } else if (optionValue.equals(DISABLED)) { |
| this.checkVisibility = false; |
| } |
| continue; |
| } else if (optionID.equals(OPTION_ForceImplicitQualification)) { |
| if (optionValue.equals(ENABLED)) { |
| this.forceImplicitQualification = true; |
| } else if (optionValue.equals(DISABLED)) { |
| this.forceImplicitQualification = false; |
| } |
| continue; |
| } else if (optionID.equals(OPTION_FieldPrefixes)) { |
| if (optionValue.length() == 0) { |
| this.fieldPrefixes = null; |
| } else { |
| this.fieldPrefixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_StaticFieldPrefixes)) { |
| if (optionValue.length() == 0) { |
| this.staticFieldPrefixes = null; |
| } else { |
| this.staticFieldPrefixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_LocalPrefixes)) { |
| if (optionValue.length() == 0) { |
| this.localPrefixes = null; |
| } else { |
| this.localPrefixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_ArgumentPrefixes)) { |
| if (optionValue.length() == 0) { |
| this.argumentPrefixes = null; |
| } else { |
| this.argumentPrefixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_FieldSuffixes)) { |
| if (optionValue.length() == 0) { |
| this.fieldSuffixes = null; |
| } else { |
| this.fieldSuffixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_StaticFieldSuffixes)) { |
| if (optionValue.length() == 0) { |
| this.staticFieldSuffixes = null; |
| } else { |
| this.staticFieldSuffixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_LocalSuffixes)) { |
| if (optionValue.length() == 0) { |
| this.localSuffixes = null; |
| } else { |
| this.localSuffixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } else if (optionID.equals(OPTION_ArgumentSuffixes)) { |
| if (optionValue.length() == 0) { |
| this.argumentSuffixes = null; |
| } else { |
| this.argumentSuffixes = CharOperation.splitAndTrimOn(',', |
| optionValue.toCharArray()); |
| } |
| continue; |
| } |
| } |
| } |
| } |