List of usage examples for javax.lang.model.element Element getKind
ElementKind getKind();
From source file:Main.java
/** * get package name from class {@code type} * @param type The element of class/*from ww w. ja va2 s . com*/ * @return package name */ public static String getPackageName(TypeElement type) { if (type == null || type.getSimpleName().toString().length() == 0) { return ""; } Element parent = type.getEnclosingElement(); if (parent.getKind() == ElementKind.PACKAGE) { return ((PackageElement) parent).getQualifiedName().toString(); } return getPackageName((TypeElement) parent); }
From source file:org.jdto.tools.ModelUtils.java
public static Element findFieldOnType(TypeElement element, String name) { for (Element enclosedElement : element.getEnclosedElements()) { if (enclosedElement.getKind() == ElementKind.FIELD && name.equals(enclosedElement.getSimpleName().toString())) { return enclosedElement; }/*from w w w .j a va 2 s. c om*/ } return null; }
From source file:org.jdto.tools.ModelUtils.java
public static ExecutableElement findSetterOnType(TypeElement element, String name) { for (Element enclosedElement : element.getEnclosedElements()) { if (enclosedElement.getKind() != ElementKind.METHOD) { continue; }/* w w w . java 2s. c o m*/ String elementName = enclosedElement.getSimpleName().toString(); if (elementName.startsWith("set")) { elementName = StringUtils.uncapitalize(elementName.substring(3)); if (name.equals(elementName)) { return (ExecutableElement) enclosedElement; } } } return null; }
From source file:org.jdto.tools.ModelUtils.java
public static ExecutableElement findGetterOnType(TypeElement element, String name) { for (Element enclosedElement : element.getEnclosedElements()) { if (enclosedElement.getKind() != ElementKind.METHOD) { continue; }/*w w w . j ava 2 s. co m*/ String elementName = enclosedElement.getSimpleName().toString(); if (elementName.startsWith("get")) { elementName = StringUtils.uncapitalize(elementName.substring(3)); if (name.equals(elementName)) { return (ExecutableElement) enclosedElement; } } if (elementName.startsWith("is")) { elementName = StringUtils.uncapitalize(elementName.substring(2)); if (name.equals(elementName)) { return (ExecutableElement) enclosedElement; } } } return null; }
From source file:therian.buildweaver.StandardOperatorsProcessor.java
/** * Must be a public static concrete class with a default constructor, public static zero-arg method, or public * static final field.//from w w w .j ava 2 s . c o m * * @param e * @return boolean */ private static boolean isValidStandardOperator(final Element e) { if (e.getKind() == ElementKind.FIELD) { return e.getModifiers().containsAll(EnumSet.of(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL)); } if (e.getKind() == ElementKind.METHOD) { return e.getModifiers().containsAll(EnumSet.of(Modifier.PUBLIC, Modifier.STATIC)) && ((ExecutableElement) e).getParameters().isEmpty(); } if (e.getKind() == ElementKind.CLASS) { if (e.getModifiers().contains(Modifier.ABSTRACT) || findDefaultConstructor((TypeElement) e) == null) { return false; } Element current = e; while (current.getKind() == ElementKind.CLASS) { final TypeElement t = (TypeElement) current; if (t.getNestingKind() == NestingKind.TOP_LEVEL) { return true; } if (t.getNestingKind() == NestingKind.MEMBER && t.getModifiers().contains(Modifier.STATIC)) { current = t.getEnclosingElement(); continue; } break; } } return false; }
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; }/* www. ja v a2s .c o m*/ } } return null; }
From source file:de.hasait.genesis.base.util.GenesisUtils.java
public static boolean isPublicMemberMethod(final Element pElement) { if (pElement != null && pElement.getKind() == ElementKind.METHOD) { final Set<Modifier> modifiers = pElement.getModifiers(); return modifiers.contains(Modifier.PUBLIC) && !modifiers.contains(Modifier.STATIC); }//ww w.j av a2 s. co m return false; }
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; }//from w ww .j a v a 2 s. c o m 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.example.JsonExample.java
/** * Returns string representation of the given {@code element} when this is enum (i.e. {@link TypeElement#getKind()} == {@link ElementKind#ENUM}). * If enum contains at least one constant, then method returns {@link Object#toString()} for first enum constant. If enum doesn't contain any * constant, then method return name for enum itself. * * @param type not {@code null} enum element type * @return not {@code null} enum element string representation *//* w w w . j av a2 s .c o m*/ @NotNull private static String getEnumExample(@NotNull TypeMirror type) { if (!ElementUtils.isEnum(type)) return null; try { Element element = ElementUtils.asElement(type); for (Element parent : element.getEnclosedElements()) if (parent.getKind() == ElementKind.ENUM_CONSTANT) return parent.getSimpleName().toString(); return element.getSimpleName().toString(); } catch (Exception ignored) { return null; } }
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('.'); }/* w ww . j av a 2s . com*/ return buf.append( e.getKind() == ElementKind.PACKAGE ? ((PackageElement) e).getQualifiedName() : e.getSimpleName()); }