/** * Full constructor. * * @param name the parameter name * @param erasureName the qualified name of the parameter's erasure * @param typeArgumentNames the qualified names of the parameter's type argument (or empty list) * @param annotations the parameter's relevant annotations */ public JavaMethodParameter( final String name, final SourceType type, final List<Annotation> annotations, final IResource resource) { this.name = name; this.type = type; this.resource = resource; this.annotations = new HashMap<String, Annotation>(annotations.size() * 2); for (Annotation annotation : annotations) { this.annotations.put(annotation.getFullyQualifiedName(), annotation); } }
@Override public String toString() { final StringBuilder builder = new StringBuilder(); for (Annotation annotation : annotations.values()) { builder.append("@").append(annotation.getJavaAnnotation().getElementName()); if (annotation.getValue() != null && !annotation.getValue().isEmpty()) { builder.append('(').append(annotation.getValue()).append(')'); } builder.append(' '); } builder.append(getType().getDisplayableTypeName()).append(' ').append(getName()); return builder.toString(); }
public void addAnnotation(Annotation annotation) { annotations.put(annotation.getFullyQualifiedName(), annotation); }
public void removeAnnotation(Annotation annotation) { annotations.remove(annotation.getFullyQualifiedName()); }