List of usage examples for javax.lang.model.element Element getEnclosingElement
Element getEnclosingElement();
From source file:therian.buildweaver.StandardOperatorsProcessor.java
private static StringBuilder appendTo(StringBuilder buf, Element e) { final Element parent = e.getEnclosingElement(); if (parent != null) { appendTo(buf, parent).append('.'); }//from www .j a v a2 s .c o m return buf.append( e.getKind() == ElementKind.PACKAGE ? ((PackageElement) e).getQualifiedName() : e.getSimpleName()); }
From source file:de.hasait.genesis.base.util.GenesisUtils.java
public static PackageElement findPackageElement(final Element pElement) { Element currentElement = pElement; while (currentElement != null && !(currentElement instanceof PackageElement)) { currentElement = currentElement.getEnclosingElement(); }// w w w . j av a 2 s. c o m return (PackageElement) currentElement; }
From source file:adalid.util.meta.MetaJavaCompiler.java
private static void scanAnalyzedElements(Iterable<? extends Element> elements, String tabs) { for (Element element : elements) { logger.info(tabs + "element" + CL + element.getKind() + SP + element.getSimpleName() + LP + element.getClass() + RP + element); logger.info(tabs + "enclosing element" + CL + element.getEnclosingElement()); if (element instanceof ClassSymbol) { ClassSymbol classSymbol = (ClassSymbol) element; }/* w w w .j a v a 2 s .c om*/ if (element instanceof MethodSymbol) { MethodSymbol methodSymbol = (MethodSymbol) element; logger.info(tabs + "method symbol" + CL + methodSymbol.getReturnType() + SP + methodSymbol.getSimpleName() + LP + StringUtils.join(methodSymbol.getParameters(), CM) + RP + StringUtils.join(methodSymbol.getThrownTypes(), CM)); } if (element instanceof VarSymbol) { VarSymbol varSymbol = (VarSymbol) element; } List<? extends Element> enclosedElements = element.getEnclosedElements(); if (enclosedElements != null && !enclosedElements.isEmpty()) { logger.info(tabs + "enclosed elements" + CL + StringUtils.join(enclosedElements, CM)); scanAnalyzedElements(enclosedElements, tabs + "\t"); } logger.info(""); } }
From source file:cop.raml.utils.ImportScanner.java
/** * Find out main class element in the java file. Given {@code element} can point to method or inner class. In each case, this method retrieves * only one class element (which has same name with java file). * * @param element some element/*from w w w .j a v a2s .c o m*/ * @return class element */ private static Element getClassRootElement(Element element) { if (element == null) return null; Element prv = element; while (element != null && element.getKind() != ElementKind.PACKAGE) { prv = element; element = element.getEnclosingElement(); if (element == null) prv = null; } return prv; }
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)); }//from w w w.ja v a2 s. c om actionInfo.addMethod(elementName, actionName, params); } }
From source file:com.airbnb.deeplinkdispatch.DeepLinkProcessor.java
private static PackageElement getPackage(Element type) { while (type.getKind() != ElementKind.PACKAGE) { type = type.getEnclosingElement(); }//from w w w .j a va2 s. c o m return (PackageElement) type; }
From source file:fr.xebia.extras.selma.codegen.MapperClassGenerator.java
public PackageElement getPackage(Element type) { while (type.getKind() != ElementKind.PACKAGE) { type = type.getEnclosingElement(); }/*from w w w .ja v a 2 s. c o m*/ return (PackageElement) type; }
From source file:io.fabric8.kubernetes.generator.processor.AbstractKubernetesAnnotationProcessor.java
PackageElement getPackageElement(Element element) { if (element instanceof PackageElement) { return (PackageElement) element; } else {/*from w ww . ja va 2 s . c om*/ return getPackageElement(element.getEnclosingElement()); } }
From source file:com.github.pellaton.springconfigvalidation.SpringConfigurationValidationProcessor.java
private boolean isNestedClass(Element element) { return element.getEnclosingElement().getKind().equals(ElementKind.CLASS); }
From source file:org.commonjava.vertx.vabr.anno.proc.AbstractTemplateInfo.java
protected AbstractTemplateInfo(final Element elem, final Handles handles, final int priority, final Method method, final String path, final String defPath, final String[] routeVersions, final boolean fork) { this.priority = priority; this.httpMethod = method; this.fork = fork; this.httpPath = AnnotationUtils.pathOf(handles, path, defPath); this.routePathFragment = isEmpty(path) ? defPath : path; this.handlerPathFragment = isEmpty(handles.prefix()) ? handles.value() : handles.prefix(); // it only applies to methods... final ExecutableElement eelem = (ExecutableElement) elem; methodname = eelem.getSimpleName().toString(); final TypeElement cls = (TypeElement) eelem.getEnclosingElement(); Element parent = cls.getEnclosingElement(); while (parent.getKind() != ElementKind.PACKAGE) { parent = parent.getEnclosingElement(); }// w w w . j a v a 2s . co m final PackageElement pkg = (PackageElement) parent; qualifiedClassname = cls.getQualifiedName().toString(); classname = cls.getSimpleName().toString(); packagename = pkg.getQualifiedName().toString(); this.handlerKey = AnnotationUtils.getHandlerKey(handles, qualifiedClassname); this.versions = new ArrayList<>(); if (routeVersions != null && routeVersions.length > 0) { for (final String rv : routeVersions) { this.versions.add(rv); } } else { final String[] handlerVersions = handles.versions(); if (handlerVersions != null) { for (final String rv : handlerVersions) { this.versions.add(rv); } } } }