/******************************************************************************* | |
* 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; | |
} | |
} | |
} | |
} |