List of usage examples for javax.lang.model.element VariableElement asType
@Override TypeMirror asType();
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()); sbuf.append(' '); sbuf.append(param.getSimpleName()); sbuf.append(','); }// w ww. j a va 2s .c om sbuf.setLength(sbuf.length() - 1); return sbuf.toString(); }
From source file:cop.raml.utils.Utils.java
public static String toEnumStr(String doc, VariableElement var) { doc = StringUtils.isBlank(doc) || EMPTY_ENUM.matcher(doc).matches() ? null : doc; if (doc != null || var == null) return doc; try {/*from w ww .j a va 2 s . c o m*/ TypeElement typeElement = ElementUtils.asElement(var.asType()); if (typeElement.getKind() != ElementKind.ENUM) return null; return toEnumStr(typeElement.getEnclosedElements().stream() .filter(element -> element.getKind() == ElementKind.ENUM_CONSTANT) .map(element -> element.getSimpleName().toString()).toArray(String[]::new)); } catch (Exception ignored) { return null; } }
From source file:cop.raml.processor.RestProcessor.java
private static boolean isMultipart(@NotNull VariableElement var) { return var.asType().toString().toLowerCase().contains("multipart"); }
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 ww . j a va2s .co m String s = ""; String sep = ""; for (VariableElement typeParameter : typeParameters) { s += sep + typeSimplifier.simplify(typeParameter.asType()) + " " + typeParameter.getSimpleName(); sep = ", "; } return s; } }
From source file:com.github.alexfalappa.nbspringboot.navigator.MappedElement.java
private final String computeHandlerSignature(Element element) { StringBuilder sb = new StringBuilder(element.getSimpleName()); if (element instanceof ExecutableElement) { // store arguments with same unqualified type name ExecutableElement eel = (ExecutableElement) element; SetValuedMap<String, String> mm = new HashSetValuedHashMap<>(); for (VariableElement var : eel.getParameters()) { String fullType = var.asType().toString(); mm.put(Utils.shortenJavaType(fullType), fullType); }//from w w w .j a v a 2 s . c o m // build up argument list sb.append('('); for (int i = 0; i < eel.getParameters().size(); i++) { VariableElement var = eel.getParameters().get(i); String fullType = var.asType().toString(); final String shortType = Utils.shortenJavaType(fullType); if (mm.get(shortType).size() > 1) { sb.append(fullType); } else { sb.append(shortType); } if (i < eel.getParameters().size() - 1) { sb.append(", "); } } sb.append(") : "); sb.append(Utils.shortenJavaType(eel.getReturnType().toString())); } return sb.toString(); }
From source file:org.mule.devkit.validation.InjectValidator.java
@Override public void validate(DevKitTypeElement typeElement, GeneratorContext context) throws ValidationException { for (VariableElement variable : typeElement.getFieldsAnnotatedWith(Inject.class)) { if (!variable.asType().toString().equals(MuleContext.class.getName()) && !variable.asType().toString().equals(ObjectStoreManager.class.getName()) && !variable.asType().toString().equals(TransactionManager.class.getName()) && !variable.asType().toString().equals(QueueManager.class.getName()) && !variable.asType().toString().equals(MuleConfiguration.class.getName()) && !variable.asType().toString().equals(LifecycleManager.class.getName()) && !variable.asType().toString().equals(ClassLoader.class.getName()) && !variable.asType().toString().equals(ExpressionManager.class.getName()) && !variable.asType().toString().equals(EndpointFactory.class.getName()) && !variable.asType().toString().equals(MuleClient.class.getName()) && !variable.asType().toString().equals(SystemExceptionHandler.class.getName()) && !variable.asType().toString().equals(SecurityManager.class.getName()) && !variable.asType().toString().equals(WorkManager.class.getName()) && !variable.asType().toString().equals(ObjectStore.class.getName()) && !variable.asType().toString().equals(Registry.class.getName())) { throw new ValidationException(variable, "I don't know how to inject the type " + variable.asType().toString() + " in field " + variable.getSimpleName().toString() + ". " + "The only types I know how to inject are: MuleContext, ObjectStoreManager, ObjectStore, TransactionManager, QueueManager, MuleConfiguration, LifecycleManager, ClassLoader," + "ExpressionManager, EndpointFactory, MuleClient, SystemExceptionHandler, SecurityManager, WorkManager, Registry"); } else {/*from w w w . j a va2s . c om*/ boolean found = false; for (ExecutableElement method : typeElement.getMethods()) { if (method.getSimpleName().toString() .equals("set" + StringUtils.capitalize(variable.getSimpleName().toString()))) { found = true; break; } } if (!found) { throw new ValidationException(variable, "Cannot find a setter method for " + variable.getSimpleName().toString() + " but its being marked as injectable."); } if (variable.asType().toString().equals(ObjectStore.class.getName())) { boolean getterFound = false; for (ExecutableElement method : typeElement.getMethods()) { if (method.getSimpleName().toString() .equals("get" + StringUtils.capitalize(variable.getSimpleName().toString()))) { getterFound = true; break; } } if (!getterFound) { throw new ValidationException(variable, "Cannot find a getter method for " + variable.getSimpleName().toString() + " but its being marked as an injectable Object Store."); } } } } }
From source file:com.googlecode.androidannotations.processing.rest.RestProcessor.java
@Override public void process(Element element, JCodeModel codeModel, EBeansHolder activitiesHolder) throws Exception { RestImplementationHolder holder = restImplementationHolder.create(element); TypeElement typeElement = (TypeElement) element; holder.urlPrefix = typeElement.getAnnotation(Rest.class).value(); String interfaceName = typeElement.getQualifiedName().toString(); String implementationName = interfaceName + ModelConstants.GENERATION_SUFFIX; // holder.restImplementationClass = codeModel._class(JMod.PUBLIC | // JMod.ABSTRACT, implementationName, ClassType.CLASS); holder.restImplementationClass = codeModel._class(JMod.PUBLIC, implementationName, ClassType.CLASS); JClass interfaceClass = holder.refClass(interfaceName); holder.restImplementationClass._implements(interfaceClass); // RestTemplate field JClass restTemplateClass = holder.refClass(SPRING_REST_TEMPLATE_QUALIFIED_NAME); holder.restTemplateField = holder.restImplementationClass.field(JMod.PRIVATE, restTemplateClass, "restTemplate"); // Default constructor JMethod defaultConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC); defaultConstructor.body().assign(holder.restTemplateField, JExpr._new(restTemplateClass)); // RestTemplate constructor JMethod restTemplateConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC); JVar restTemplateParam = restTemplateConstructor.param(restTemplateClass, "restTemplate"); restTemplateConstructor.body().assign(JExpr._this().ref(holder.restTemplateField), restTemplateParam); // RequestFactory constructor JMethod requestFactoryConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC); JClass requestFactoryClass = holder.refClass("org.springframework.http.client.ClientHttpRequestFactory"); JVar requestFactoryParam = requestFactoryConstructor.param(requestFactoryClass, "requestFactory"); requestFactoryConstructor.body().assign(holder.restTemplateField, JExpr._new(restTemplateClass).arg(requestFactoryParam)); // Implement getRestTemplate method List<? extends Element> enclosedElements = typeElement.getEnclosedElements(); List<ExecutableElement> methods = ElementFilter.methodsIn(enclosedElements); for (ExecutableElement method : methods) { if (method.getParameters().size() == 0 && method.getReturnType().toString().equals(SPRING_REST_TEMPLATE_QUALIFIED_NAME)) { String methodName = method.getSimpleName().toString(); JMethod getRestTemplateMethod = holder.restImplementationClass.method(JMod.PUBLIC, restTemplateClass, methodName); getRestTemplateMethod.annotate(Override.class); getRestTemplateMethod.body()._return(holder.restTemplateField); break; // Only one implementation }//from www .ja v a 2 s . co m } for (ExecutableElement method : methods) { List<? extends VariableElement> parameters = method.getParameters(); if (parameters.size() == 1 && method.getReturnType().getKind() == TypeKind.VOID) { VariableElement firstParameter = parameters.get(0); if (firstParameter.asType().toString().equals(SPRING_REST_TEMPLATE_QUALIFIED_NAME)) { String methodName = method.getSimpleName().toString(); JMethod setRestTemplateMethod = holder.restImplementationClass.method(JMod.PUBLIC, codeModel.VOID, methodName); setRestTemplateMethod.annotate(Override.class); JVar restTemplateSetterParam = setRestTemplateMethod.param(restTemplateClass, firstParameter.getSimpleName().toString()); setRestTemplateMethod.body().assign(_this().ref(holder.restTemplateField), restTemplateSetterParam); break; // Only one implementation } } } }
From source file:org.mule.devkit.module.generation.JaxbTransformerGenerator.java
private DefinedClass getJaxbTransformerClass(ExecutableElement executableElement, VariableElement variable) { DeclaredType declaredType = (DeclaredType) variable.asType(); XmlType xmlType = declaredType.asElement().getAnnotation(XmlType.class); TypeElement parentClass = ElementFilter.typesIn(Arrays.asList(executableElement.getEnclosingElement())) .get(0);/*from ww w .j a v a 2 s .c o m*/ String packageName = context.getNameUtils() .getPackageName(context.getElementsUtils().getBinaryName(parentClass).toString()) + ".config"; Package pkg = context.getCodeModel()._package(packageName); DefinedClass jaxbTransformer = pkg._class(StringUtils.capitalize(xmlType.name()) + "JaxbTransformer", AbstractTransformer.class, new Class<?>[] { DiscoverableTransformer.class }); return jaxbTransformer; }
From source file:blue.lapis.pore.ap.event.EventVerifierProcessor.java
private void verifyEnclosedElements(TypeElement type) { boolean searchField = true; boolean searchMethod = true; boolean searchConstructor = true; for (Element element : type.getEnclosedElements()) { switch (element.getKind()) { case FIELD: if (searchField) { if (element.getSimpleName().contentEquals("handle")) { searchField = false; verifySpongeEvent(element, element.asType()); }// w ww . java2 s .c o m } break; case METHOD: if (searchMethod) { if (element.getSimpleName().contentEquals("getHandle")) { searchMethod = false; verifySpongeEvent(element, ((ExecutableElement) element).getReturnType()); break; } } if (element.getSimpleName().toString().startsWith("_INVALID_")) { processingEnv.getMessager().printMessage(ERROR, "Annotated event shouldn't override _INVALID_" + " method", element); } break; case CONSTRUCTOR: if (searchConstructor) { ExecutableElement constructor = (ExecutableElement) element; List<? extends VariableElement> parameters = constructor.getParameters(); if (parameters.size() == 1) { VariableElement handle = parameters.get(0); if (isSpongeEvent(handle.asType())) { searchConstructor = false; } } } break; } } if (searchField) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing handle field", type); } if (searchMethod) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing getHandle getter", type); } if (searchConstructor) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing handle constructor", type); } }
From source file:cop.raml.utils.ImportScanner.java
@Override public Void visitVariable(VariableElement element, DirectoryStream.Filter<String> filter) { if (element.asType().getKind() == TypeKind.DECLARED) addAcceptedType(element.asType().toString(), filter); return super.visitVariable(element, filter); }