blob: 21381922afd86bc82c561d7631dd7eda51609adc [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2016 IBM Corporation and others.
* 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
*
*******************************************************************************/
package org.eclipse.dltk.internal.core;
import org.eclipse.dltk.core.IField;
import org.eclipse.dltk.core.IMethod;
import org.eclipse.dltk.core.IScriptFolder;
import org.eclipse.dltk.core.IType;
/**
* The SingleTypeRequestor is an IModelElementRequestor that only accepts one
* result element and then cancels.
*/
/* package */class SingleTypeRequestor implements IModelElementRequestor {
/**
* The single accepted element
*/
protected IType fElement = null;
/**
* @see IModelElementRequestor
*/
@Override
public void acceptField(IField field) {
// implements interface method
}
/**
* @see IModelElementRequestor
*/
@Override
public void acceptMemberType(IType type) {
fElement = type;
}
/**
* @see IModelElementRequestor
*/
@Override
public void acceptMethod(IMethod method) {
// implements interface method
}
/**
* @see IModelElementRequestor
*/
@Override
public void acceptScriptFolder(IScriptFolder ScriptFolder) {
// implements interface method
}
/**
* @see IModelElementRequestor
*/
@Override
public void acceptType(IType type) {
fElement = type;
}
/**
* Returns the type accepted by this requestor, or <code>null</code> if no
* type has been accepted.
*/
public IType getType() {
return fElement;
}
/**
* @see IModelElementRequestor
*/
@Override
public boolean isCanceled() {
return fElement != null;
}
/**
* Reset the state of this requestor
*/
public void reset() {
fElement = null;
}
}