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

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

Introduction

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

Prototype

@Override
Name getSimpleName();

Source Link

Document

Returns the simple name of this variable element.

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 www.  java 2s.c o  m*/
    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());/*from   w  w  w .  j av a 2 s. c om*/
        sbuf.append(' ');
        sbuf.append(param.getSimpleName());
        sbuf.append(',');
    }
    sbuf.setLength(sbuf.length() - 1);
    return sbuf.toString();
}

From source file:com.dspot.declex.override.holder.FragmentActionHolder.java

public static void addFragmentArg(ActionInfo actionInfo, Element element, AndroidAnnotationsEnvironment env) {

    APTCodeModelHelper codeModelHelper = new DeclexAPTCodeModelHelper(env);

    final String clsName = element.getEnclosingElement().asType().toString();
    final int index = clsName.lastIndexOf('.');
    final String pkg = clsName.substring(0, index);
    final String fragmentName = clsName.substring(index + 1);
    final String actionName = pkg + "." + fragmentName + "ActionHolder";

    final String elementName = element.getSimpleName().toString();
    if (element.getKind().isField()) {
        final AbstractJClass clazz = codeModelHelper.elementTypeToJClass(element);
        actionInfo.addMethod(elementName, actionName, Arrays.asList(new ActionMethodParam(elementName, clazz)));

    } else if (element.getKind() == ElementKind.METHOD) {

        List<? extends VariableElement> elementParams = ((ExecutableElement) element).getParameters();
        List<ActionMethodParam> params = new ArrayList<>(elementParams.size());

        for (VariableElement param : elementParams) {
            final String paramName = param.getSimpleName().toString();
            final AbstractJClass paramClass = codeModelHelper.elementTypeToJClass(param);
            params.add(new ActionMethodParam(paramName, paramClass));
        }// w ww .  ja  v a  2  s.  co  m

        actionInfo.addMethod(elementName, actionName, params);
    }
}

From source file:info.archinnov.achilles.internals.parser.FunctionParser.java

public static List<FunctionSignature> parseFunctionRegistryAndValidateTypes(AptUtils aptUtils, TypeElement elm,
        GlobalParsingContext context) {/*from   ww  w  .  j ava 2s. co m*/
    final List<ExecutableElement> methods = ElementFilter.methodsIn(elm.getEnclosedElements());
    final Optional<String> keyspace = AnnotationTree.findKeyspaceForFunctionRegistry(aptUtils, elm);
    final FunctionParamParser paramParser = new FunctionParamParser(aptUtils);

    final TypeName parentType = TypeName.get(aptUtils.erasure(elm));

    //Not allow to declare function in system keyspaces
    if (keyspace.isPresent()) {
        final String keyspaceName = keyspace.get();
        aptUtils.validateFalse(
                FORBIDDEN_KEYSPACES.contains(keyspaceName)
                        || FORBIDDEN_KEYSPACES.contains(keyspaceName.toLowerCase()),
                "The provided keyspace '%s' on function registry class '%s' is forbidden because it is a system keyspace",
                keyspaceName, parentType);
    }

    aptUtils.validateFalse(keyspace.isPresent() && isBlank(keyspace.get()),
            "The declared keyspace for function registry '%s' should not be blank",
            elm.getSimpleName().toString());

    return methods.stream().map(method -> {
        final String methodName = method.getSimpleName().toString();
        final List<AnnotationTree> annotationTrees = AnnotationTree.buildFromMethodForParam(aptUtils, method);
        final List<? extends VariableElement> parameters = method.getParameters();
        final List<FunctionParamSignature> parameterSignatures = new ArrayList<>(parameters.size());
        for (int i = 0; i < parameters.size(); i++) {
            final VariableElement parameter = parameters.get(i);
            context.nestedTypesStrategy.validate(aptUtils, annotationTrees.get(i), method.toString(),
                    parentType);
            final FunctionParamSignature functionParamSignature = paramParser.parseParam(context,
                    annotationTrees.get(i), parentType, methodName, parameter.getSimpleName().toString());
            parameterSignatures.add(functionParamSignature);
        }

        //Validate return type
        final TypeMirror returnType = method.getReturnType();
        aptUtils.validateFalse(returnType.getKind() == TypeKind.VOID,
                "The return type for the method '%s' on class '%s' should not be VOID", method.toString(),
                elm.getSimpleName().toString());

        aptUtils.validateFalse(returnType.getKind().isPrimitive(),
                "Due to internal JDK API limitations, UDF/UDA return types cannot be primitive. "
                        + "Use their Object counterpart instead for method '%s' " + "in function registry '%s'",
                method.toString(), elm.getQualifiedName());

        final FunctionParamSignature returnTypeSignature = paramParser.parseParam(context,
                AnnotationTree.buildFromMethodForReturnType(aptUtils, method), parentType, methodName,
                "returnType");

        // Validate NOT system function comparing only name lowercase
        aptUtils.validateFalse(SYSTEM_FUNCTIONS_NAME.contains(methodName.toLowerCase()),
                "The name of the function '%s' in class '%s' is reserved for system functions", method,
                parentType);

        return new FunctionSignature(keyspace, parentType, methodName, returnTypeSignature,
                parameterSignatures);
    }).collect(toList());
}

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 {/*  w  ww .ja  v  a2s .c o 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 v  a 2s. c  o  m*/
        String s = "";
        String sep = "";
        for (VariableElement typeParameter : typeParameters) {
            s += sep + typeSimplifier.simplify(typeParameter.asType()) + " " + typeParameter.getSimpleName();
            sep = ", ";
        }
        return s;
    }
}

From source file:info.archinnov.achilles.internals.parser.context.IndexInfoHelper.java

default String computeIndexName(String indexName, VariableElement elm, EntityParsingContext context) {
    return isBlank(indexName) ? context.namingStrategy.apply(elm.getSimpleName().toString() + "_index")
            : indexName;//from ww  w.  j ava2s  . co  m
}

From source file:info.archinnov.achilles.internals.parser.context.IndexInfoContext.java

public IndexInfoContext computeIndexName(VariableElement elm, EntityParsingContext context) {
    String newIndexName = isBlank(indexName)
            ? context.namingStrategy.apply(elm.getSimpleName().toString() + "_index")
            : indexName;/*from ww  w . j a  v  a  2s  .c om*/
    return new IndexInfoContext(newIndexName, indexClassName, indexOptions);
}

From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java

public static VariableTree getField(CompilationController controller, String fieldName) {
    TypeElement classElement = getTopLevelClassElement(controller);
    if (classElement == null) {
        return null;
    }/*from   w  w  w.  j ava 2 s  . c  o m*/
    List<VariableElement> fields = ElementFilter.fieldsIn(classElement.getEnclosedElements());

    for (VariableElement field : fields) {
        if (field.getSimpleName().toString().equals(fieldName)) {
            return (VariableTree) controller.getTrees().getTree(field);
        }
    }

    return null;
}

From source file:org.mule.devkit.validation.JavaDocValidator.java

private void validateAllParameters(GeneratorContext context, ExecutableElement method)
        throws ValidationException {
    for (VariableElement variable : method.getParameters()) {
        if (!hasParameterComment(variable.getSimpleName().toString(), variable.getEnclosingElement(),
                context)) {//from  w w  w  .j  ava 2  s .c o m
            throw new ValidationException(variable, "Parameter " + variable.getSimpleName().toString()
                    + " of method " + method.getSimpleName().toString()
                    + " is not properly documented. A matching @param in the method documentation was not found. ");
        }
    }
}