package com.agilejava.blammo.mojo; /* * Copyright (C) 2006, Wilfred Springer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ import com.thoughtworks.qdox.model.JavaParameter; public abstract class ReferencePart extends LogMessagePart { private String parameterName; public ReferencePart(String parameterName) { this.parameterName = parameterName; } public boolean isReference() { return true; } public String getParameterName() { return parameterName; } public abstract JavaParameter getJavaParameter(); public int getParameterPosition() { JavaParameter parameter = getJavaParameter(); JavaParameter[] parameters = parameter.getParentMethod() .getParameters(); for (int i = 0; i < parameters.length; i++) { if (parameter.getName().equals(parameters[i].getName())) { return i; } } return -1; } public boolean isThrowable() { return getJavaParameter().getType().getClass().isAssignableFrom( Throwable.class); } public String toString() { return "{" + parameterName + "}"; } }