/******************************************************************************* | |
* 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.wst.jsdt.internal.codeassist.impl; | |
import java.util.Iterator; | |
import java.util.Map; | |
import org.eclipse.wst.jsdt.core.compiler.CharOperation; | |
public class AssistOptions { | |
/** | |
* Option IDs | |
*/ | |
public static final String OPTION_PerformVisibilityCheck = "org.eclipse.wst.jsdt.core.codeComplete.visibilityCheck"; //$NON-NLS-1$ | |
public static final String OPTION_ForceImplicitQualification = "org.eclipse.wst.jsdt.core.codeComplete.forceImplicitQualification"; //$NON-NLS-1$ | |
public static final String OPTION_FieldPrefixes = "org.eclipse.wst.jsdt.core.codeComplete.fieldPrefixes"; //$NON-NLS-1$ | |
public static final String OPTION_StaticFieldPrefixes = "org.eclipse.wst.jsdt.core.codeComplete.staticFieldPrefixes"; //$NON-NLS-1$ | |
public static final String OPTION_LocalPrefixes = "org.eclipse.wst.jsdt.core.codeComplete.localPrefixes"; //$NON-NLS-1$ | |
public static final String OPTION_ArgumentPrefixes = "org.eclipse.wst.jsdt.core.codeComplete.argumentPrefixes"; //$NON-NLS-1$ | |
public static final String OPTION_FieldSuffixes = "org.eclipse.wst.jsdt.core.codeComplete.fieldSuffixes"; //$NON-NLS-1$ | |
public static final String OPTION_StaticFieldSuffixes = "org.eclipse.wst.jsdt.core.codeComplete.staticFieldSuffixes"; //$NON-NLS-1$ | |
public static final String OPTION_LocalSuffixes = "org.eclipse.wst.jsdt.core.codeComplete.localSuffixes"; //$NON-NLS-1$ | |
public static final String OPTION_ArgumentSuffixes = "org.eclipse.wst.jsdt.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;}} | |
} | |
} |