Example usage for javax.lang.model.element VariableElement toString

List of usage examples for javax.lang.model.element VariableElement toString

Introduction

In this page you can find the example usage for javax.lang.model.element VariableElement toString.

Prototype

public String toString() 

Source Link

Document

Returns a string representation of the object.

Usage

From source file:com.googlecode.androidannotations.helper.ValidatorHelper.java

public void hasOneOrTwoParametersAndFirstIsBoolean(ExecutableElement executableElement, IsValid valid) {
    List<? extends VariableElement> parameters = executableElement.getParameters();

    if (parameters.size() < 1 || parameters.size() > 2) {
        valid.invalidate();//  w w w .  ja  v  a  2s .  c om
        annotationHelper.printAnnotationError(executableElement,
                "%s can only be used on a method with 1 or 2 parameter, instead of " + parameters.size());
    } else {
        VariableElement firstParameter = parameters.get(0);

        TypeKind parameterKind = firstParameter.asType().getKind();

        if (parameterKind != TypeKind.BOOLEAN && !firstParameter.toString().equals("java.lang.Boolean")) {
            valid.invalidate();
            annotationHelper.printAnnotationError(executableElement, "the first parameter should be a boolean");
        }
    }
}

From source file:org.androidannotations.helper.ValidatorHelper.java

public void hasBeforeTextChangedMethodParameters(ExecutableElement executableElement, IsValid valid) {
    List<? extends VariableElement> parameters = executableElement.getParameters();
    boolean charSequenceParameterFound = false;
    boolean textViewParameterFound = false;
    for (VariableElement parameter : parameters) {
        String parameterType = parameter.asType().toString();
        if (parameterType.equals(CanonicalNameConstants.CHAR_SEQUENCE)) {
            if (charSequenceParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "Unrecognized parameter declaration. you can declare only one parameter of type java.lang.CharSequence");
                valid.invalidate();//from ww  w . j av a2  s . co  m
            }
            charSequenceParameterFound = true;
            continue;
        }
        if (parameterType.equals(CanonicalNameConstants.TEXT_VIEW)) {
            if (textViewParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "Unrecognized parameter declaration. you can declare only one parameter of type android.widget.TextView");
                valid.invalidate();
            }
            textViewParameterFound = true;
            continue;
        }
        if (parameter.asType().getKind() == TypeKind.INT
                || CanonicalNameConstants.INTEGER.equals(parameterType)) {
            String parameterName = parameter.toString();
            if ("start".equals(parameterName) || "count".equals(parameterName)
                    || "after".equals(parameterName)) {
                continue;
            }
            annotationHelper.printAnnotationError(executableElement,
                    "Unrecognized parameter name. You can only have start, before, or count parameter name. Try to pick a parameter from android.text.TextWatcher.beforeTextChanged() method.");
            valid.invalidate();
            continue;
        }
        annotationHelper.printAnnotationError(executableElement, "Unrecognized parameter ("
                + parameter.toString()
                + "). %s can only have a android.widget.TextView parameter and/or parameters from android.text.TextWatcher.beforeTextChanged() method.");
        valid.invalidate();
    }
}

From source file:org.androidannotations.helper.ValidatorHelper.java

public void hasTextChangedMethodParameters(ExecutableElement executableElement, IsValid valid) {
    List<? extends VariableElement> parameters = executableElement.getParameters();
    boolean charSequenceParameterFound = false;
    boolean textViewParameterFound = false;
    for (VariableElement parameter : parameters) {
        String parameterType = parameter.asType().toString();
        if (parameterType.equals(CanonicalNameConstants.CHAR_SEQUENCE)) {
            if (charSequenceParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "Unrecognized parameter declaration. you can declare only one parameter of type java.lang.CharSequence");
                valid.invalidate();//  w ww . ja v a  2  s . c  o m
            }
            charSequenceParameterFound = true;
            continue;
        }
        if (parameterType.equals(CanonicalNameConstants.TEXT_VIEW)) {
            if (textViewParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "Unrecognized parameter declaration. you can declare only one parameter of type android.widget.TextView");
                valid.invalidate();
            }
            textViewParameterFound = true;
            continue;
        }
        if (parameter.asType().getKind() == TypeKind.INT
                || CanonicalNameConstants.INTEGER.equals(parameterType)) {
            String parameterName = parameter.toString();
            if ("start".equals(parameterName) || "before".equals(parameterName)
                    || "count".equals(parameterName)) {
                continue;
            }
            annotationHelper.printAnnotationError(executableElement,
                    "Unrecognized parameter name. You can only have start, before, or count parameter name. Try to pick a prameter from the android.text.TextWatcher.onTextChanged() method.");
            valid.invalidate();
            continue;
        }
        annotationHelper.printAnnotationError(executableElement, "Unrecognized parameter ("
                + parameter.toString()
                + "). %s can only have a android.widget.TextView parameter and/or parameters from android.text.TextWatcher.onTextChanged() method.");
        valid.invalidate();
    }
}

From source file:org.androidannotations.helper.ValidatorHelper.java

public void hasSeekBarProgressChangeMethodParameters(ExecutableElement executableElement, IsValid valid) {
    List<? extends VariableElement> parameters = executableElement.getParameters();
    boolean seekBarParameterFound = false;
    boolean fromUserParameterFound = false;
    boolean progressParameterFound = false;
    for (VariableElement parameter : parameters) {
        String parameterType = parameter.asType().toString();
        if (parameterType.equals(CanonicalNameConstants.SEEKBAR)) {
            if (seekBarParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "Unrecognized parameter declaration. You can declare only one parameter of type "
                                + CanonicalNameConstants.SEEKBAR);
                valid.invalidate();/*w  w  w  .j  av  a2  s. c o m*/
            }
            seekBarParameterFound = true;
            continue;
        }
        if (parameter.asType().getKind() == TypeKind.INT
                || CanonicalNameConstants.INTEGER.equals(parameterType)) {
            if (progressParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "You can have only one parameter of type " + CanonicalNameConstants.INTEGER);
                valid.invalidate();
            }
            progressParameterFound = true;
            continue;
        }
        if (parameter.asType().getKind() == TypeKind.BOOLEAN
                || CanonicalNameConstants.BOOLEAN.equals(parameterType)) {
            if (fromUserParameterFound) {
                annotationHelper.printAnnotationError(executableElement,
                        "You can have only one parameter of type " + CanonicalNameConstants.BOOLEAN);
                valid.invalidate();
            }
            fromUserParameterFound = true;
            continue;
        }
        annotationHelper.printAnnotationError(executableElement, "Unrecognized parameter '"
                + parameter.toString() + "'. %s signature should be " + executableElement.getSimpleName() + "("
                + CanonicalNameConstants.SEEKBAR
                + " seekBar, int progress, boolean fromUser). The 'fromUser' and 'progress' parameters are optional.");
        valid.invalidate();
    }
}