blob: dbe896473d8e0dc162862793375088fc35e46032 [file] [log] [blame]
/**
* Copyright (c) 2009 Mia-Software.
* 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:
* Nicolas Guyomar (Mia-Software) - initial API and implementation
*/
package org.eclipse.gmt.modisco.java.queries.text;
import org.eclipse.gmt.modisco.infra.query.core.exception.ModelQueryExecutionException;
import org.eclipse.gmt.modisco.infra.query.core.java.IJavaModelQuery;
import org.eclipse.gmt.modisco.infra.query.core.java.ParameterValueList;
import org.eclipse.gmt.modisco.java.AbstractMethodDeclaration;
import org.eclipse.gmt.modisco.java.SingleVariableDeclaration;
public class GetAbstractMethodDeclarationText implements
IJavaModelQuery<AbstractMethodDeclaration, String> {
public String evaluate(final AbstractMethodDeclaration context,
final ParameterValueList parameterValues) throws ModelQueryExecutionException {
StringBuilder builder = new StringBuilder();
if (context != null && context.getName() != null && context.getName().length() > 0) {
builder.append(context.getName());
if (context.getParameters() != null) {
builder.append("("); //$NON-NLS-1$
for (int i = 0; i < context.getParameters().size(); i++) {
SingleVariableDeclaration param = context.getParameters().get(i);
if (param != null && param.getType() != null
&& param.getType().getType() != null) {
builder.append(param.getType().getType().getName());
builder.append(" ").append(param.getName()); //$NON-NLS-1$
}
if (i != context.getParameters().size() - 1) {
builder.append(", "); //$NON-NLS-1$
}
}
builder.append(")"); //$NON-NLS-1$
}
}
return builder.toString();
}
}