/**
* Copyright (c) 2010 Darmstadt University of Technology.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marcel Bruch - initial API and implementation.
*/
package org.eclipse.recommenders.completion.rcp.processable;
import static org.eclipse.recommenders.internal.completion.rcp.l10n.LogMessages.ERROR_COMPLETION_FAILURE_DURING_DEBUG_MODE;
import static org.eclipse.recommenders.utils.Checks.cast;
import static org.eclipse.recommenders.utils.Logs.log;
import java.util.Map;
import org.eclipse.jdt.core.CompletionContext;
import org.eclipse.jdt.core.CompletionProposal;
import org.eclipse.jdt.core.CompletionRequestor;
import org.eclipse.jdt.core.compiler.CharOperation;
import org.eclipse.jdt.core.compiler.IProblem;
import org.eclipse.jdt.internal.codeassist.InternalCompletionContext;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.recommenders.internal.completion.rcp.Constants;
import com.google.common.collect.Maps;
@SuppressWarnings("restriction")
public class NoProposalCollectingCompletionRequestor extends CompletionRequestor {
private InternalCompletionContext compilerContext;
public NoProposalCollectingCompletionRequestor() {
super(false);
}
@Override
public boolean isIgnored(final int completionProposalKind) {
return true;
}
@Override
public boolean isAllowingRequiredProposals(final int proposalKind, final int requiredProposalKind) {
return false;
}
@Override
public boolean isExtendedContextRequired() {
return true;
}
@Override
public String[] getFavoriteReferences() {
return CharOperation.NO_STRINGS;
}
@Override
public void acceptContext(final CompletionContext context) {
compilerContext = cast(context);
}
@Override
public void accept(final CompletionProposal compilerProposal) {
}
@Override
public void completionFailure(IProblem problem) {
if (Constants.DEBUG) {
log(ERROR_COMPLETION_FAILURE_DURING_DEBUG_MODE, problem.toString());
}
}
public InternalCompletionContext getCoreContext() {
return compilerContext;
}
public Map<IJavaCompletionProposal, CompletionProposal> getProposals() {
return Maps.newHashMap();
}
}