Example usage for javax.lang.model.element ExecutableElement getParameters

List of usage examples for javax.lang.model.element ExecutableElement getParameters

Introduction

In this page you can find the example usage for javax.lang.model.element ExecutableElement getParameters.

Prototype

List<? extends VariableElement> getParameters();

Source Link

Document

Returns the formal parameters of this executable.

Usage

From source file:Main.java

public static String getArguments(ExecutableElement d) {
    Collection<? extends VariableElement> params = d.getParameters();
    if (params.size() == 0)
        return "";
    StringBuilder sbuf = new StringBuilder(params.size() * 20);
    for (VariableElement param : params) {
        sbuf.append(param.getSimpleName());
        sbuf.append(',');
    }//from  ww  w  . j  av a 2  s . c om
    sbuf.setLength(sbuf.length() - 1);
    return sbuf.toString();
}

From source file:Main.java

public static String getParams(ExecutableElement d) {
    Collection<? extends VariableElement> params = d.getParameters();
    if (params.size() == 0)
        return "";
    StringBuilder sbuf = new StringBuilder(params.size() * 20);
    for (VariableElement param : params) {
        sbuf.append(param.asType());/*w  w w  .ja  v  a2s  . c  o  m*/
        sbuf.append(' ');
        sbuf.append(param.getSimpleName());
        sbuf.append(',');
    }
    sbuf.setLength(sbuf.length() - 1);
    return sbuf.toString();
}

From source file:therian.buildweaver.StandardOperatorsProcessor.java

private static ExecutableElement findDefaultConstructor(TypeElement t) {
    for (Element element : t.getEnclosedElements()) {
        if (element.getKind() == ElementKind.CONSTRUCTOR) {
            ExecutableElement cs = (ExecutableElement) element;
            if (cs.getParameters().size() == 0 && cs.getModifiers().contains(Modifier.PUBLIC)) {
                return cs;
            }/*from w  w w  . j a v a 2  s  .co  m*/
        }
    }
    return null;
}

From source file:de.hasait.genesis.base.util.GenesisUtils.java

public static TypeMirror determinePropertyTypeFromAccessor(final Element pElement) {
    if (isGetter(pElement)) {
        final ExecutableElement element = (ExecutableElement) pElement;
        return element.getReturnType();
    }/*w  ww  . j a  va2 s  .c  o  m*/

    if (isSetter(pElement)) {
        final ExecutableElement element = (ExecutableElement) pElement;
        return element.getParameters().get(0).asType();
    }

    return null;
}

From source file:de.hasait.genesis.base.util.GenesisUtils.java

public static boolean isSetter(final Element pElement, final String pPrefix) {
    GenesisUtils.assertNotNull(pPrefix);

    if (isPublicMemberMethod(pElement)) {
        final ExecutableElement element = (ExecutableElement) pElement;
        final String simpleName = element.getSimpleName().toString();

        return simpleName.startsWith(pPrefix) && simpleName.length() > pPrefix.length() //
                && element.getParameters().size() == 1 // no return type check to support fluent setters
        ;/*  w w w  . ja v a2  s.  co  m*/
    }

    return false;
}

From source file:de.hasait.genesis.base.util.GenesisUtils.java

public static boolean isGetter(final Element pElement, final String pPrefix) {
    GenesisUtils.assertNotNull(pPrefix);

    if (isPublicMemberMethod(pElement)) {
        final ExecutableElement element = (ExecutableElement) pElement;
        final String simpleName = element.getSimpleName().toString();
        return simpleName.startsWith(pPrefix) && simpleName.length() > pPrefix.length() //
                && element.getReturnType() != null && element.getParameters().isEmpty() //
        ;/*from w ww .  j  a va2s .  c  om*/
    }

    return false;
}

From source file:auto.parse.processor.AutoParseProcessor.java

private static String formalArgsString(ExecutableElement method) {
    List<? extends VariableElement> typeParameters = method.getParameters();
    if (typeParameters.isEmpty()) {
        return "";
    } else {/*from   w w w . j ava2s  .  co m*/
        String s = "";
        String sep = "";
        for (VariableElement typeParameter : typeParameters) {
            s += sep + typeParameter.getSimpleName();
            sep = ", ";
        }
        return s;
    }
}

From source file:auto.parse.processor.AutoParseProcessor.java

private static String formalTypeArgsString(ExecutableElement method, TypeSimplifier typeSimplifier) {
    List<? extends VariableElement> typeParameters = method.getParameters();
    if (typeParameters.isEmpty()) {
        return "";
    } else {//from   w  w  w .j a va2  s  . co  m
        String s = "";
        String sep = "";
        for (VariableElement typeParameter : typeParameters) {
            s += sep + typeSimplifier.simplify(typeParameter.asType()) + " " + typeParameter.getSimpleName();
            sep = ", ";
        }
        return s;
    }
}

From source file:auto.parse.processor.AutoParseProcessor.java

private static boolean isToStringOrEqualsOrHashCode(ExecutableElement method) {
    String name = method.getSimpleName().toString();
    return ((name.equals("toString") || name.equals("hashCode")) && method.getParameters().isEmpty())
            || (name.equals("equals") && method.getParameters().size() == 1
                    && method.getParameters().get(0).asType().toString().equals("java.lang.Object"));
}

From source file:dagger.android.processor.AndroidMapKeyValidator.java

/**
 * A valid @Binds method could bind an {@link AndroidInjector.Factory} for one type, while giving
 * it a map key of a different type. The return type and parameter type would pass typical @Binds
 * validation, but the map lookup in {@link dagger.android.DispatchingAndroidInjector} would
 * retrieve the wrong injector factory.// w w w  .  j a v  a 2 s  . c  om
 *
 * <pre>{@code
 * {@literal @Binds}
 * {@literal @IntoMap}
 * {@literal @ActivityKey(GreenActivity.class)}
 * abstract AndroidInjector.Factory<? extends Activity> bindBlueActivity(
 *     BlueActivityComponent.Builder builder);
 * }</pre>
 */
private void validateMapKeyMatchesBindsParameter(Class<? extends Annotation> annotation,
        ExecutableElement method) {
    TypeMirror parameterType = getOnlyElement(method.getParameters()).asType();
    AnnotationMirror annotationMirror = getAnnotationMirror(method, annotation).get();
    TypeMirror mapKeyValue = (TypeMirror) getAnnotationValue(annotationMirror, "value").getValue();
    if (!types.isAssignable(parameterType, injectorFactoryOf(mapKeyValue))) {
        messager.printMessage(Kind.ERROR,
                String.format("%s does not implement AndroidInjector<%s>", parameterType, mapKeyValue), method,
                annotationMirror);
    }
}