@Override public TypeElement apply(TypeMirror klass) { return MoreTypes.asTypeElement(klass); } }).toList();
public void createClasses() throws IOException { TypeElement baseBuilder; try { baseBuilder = processingEnv.getElementUtils().getTypeElement(configuration.baseBuilderClass().getName()); } catch (MirroredTypeException e) { baseBuilder = MoreTypes.asTypeElement(e.getTypeMirror()); } final List<Element> elements = new ModelBuilder(baseAnnotation, new ElementFactory(processingEnv.getElementUtils()), baseBuilder, processingEnv.getMessager()).build(); createBuilderClass(elements); createConfigClass(elements); if (configuration.isPlugin()) { createBuilderInterface(elements); createFactoryClass(); } }
TypeElement returnType = MoreTypes.asTypeElement(executableElement.getReturnType()); String qualifiedName = returnType.getQualifiedName().toString(); if (!qualifiedName.equals("android.content.Intent")
@Override public TypeName apply(TypeMirror input) { return ClassName.get(MoreTypes.asTypeElement(input)); } })
@Override public boolean apply(TypeMirror input) { return MoreTypes.asTypeElement(input).getAnnotation(Reducer.class) == null; } }).size() == 0;
@Override public Boolean visitDeclared(DeclaredType type, Void nothing) { Name returnTypeName = asTypeElement(type).getQualifiedName(); return returnTypeName.contentEquals(REST_ACTION_FQN); } };
@Override public ClassName apply(VariableElement input) { return ClassName.get(MoreTypes.asTypeElement(input.asType())); } }).toList();
@Override public int compare(TypeMirror first, TypeMirror second) { String firstName = MoreTypes.asTypeElement(first).getQualifiedName().toString(); String secondName = MoreTypes.asTypeElement(second).getQualifiedName().toString(); return firstName.compareTo(secondName); } });
public static ImmutableSet<TypeElement> asTypeElements(Iterable<? extends TypeMirror> mirrors) { checkNotNull(mirrors); ImmutableSet.Builder<TypeElement> builder = ImmutableSet.builder(); for (TypeMirror mirror : mirrors) { builder.add(asTypeElement(mirror)); } return builder.build(); }
@Override public ReducerModel apply(TypeMirror input) { return new ReducerModel(asTypeElement(input)); } }).toList();
@Override public Type visitType(TypeMirror bundleClass, Void v) { boolean isNotSpecified = asTypeElement(bundleClass).getQualifiedName() .contentEquals(NoOpProviderBundle.class.getCanonicalName()); return isNotSpecified ? null : new Type(bundleClass); } }, null);
@Override public boolean canCreate(ExecutableElement element) { return !HttpVerbResolver.isPresent(element) && asTypeElement(element.getReturnType()).getKind() == ElementKind.INTERFACE; }
private boolean isValidCookieType(DeclaredType type) { Name qualifiedName = asTypeElement(type).getQualifiedName(); return qualifiedName.contentEquals(Date.class.getCanonicalName()) || qualifiedName.contentEquals(String.class.getCanonicalName()) || qualifiedName.contentEquals(Cookie.class.getCanonicalName()) || isBoxed(type) || isCookieCollection(type); }
private ExecutableElement extractOnlyHandlerMethod() { TypeElement handlerElement = asTypeElement(getHandlerTypeMirror()); List<ExecutableElement> handlerMethods = methodsIn(handlerElement.getEnclosedElements()); if (handlerMethods.size() != 1) { throwBadHandlerSignature(handlerElement); } return handlerMethods.get(0); }
@Override public String toString() { String typeQualifiedName = MoreTypes.asTypeElement(type()).toString(); return qualifier().isPresent() ? qualifier().get() + "/" + typeQualifiedName : typeQualifiedName; } }
private void extractContentSlots() { TypeElement presenterElement = asTypeElement(getPresenterMirror()); List<Element> presenterMembers = utils.getAllMembers(presenterElement); List<VariableElement> presenterFields = fieldsIn(presenterMembers); contentSlots = new HashSet<>(); for (VariableElement field : presenterFields) { if (isValidContentSlot(field)) { contentSlots.add(field.getSimpleName().toString()); } } }
private boolean isCookieCollection(DeclaredType type) { TypeMirror collectionType = utils.createWithWildcard(Collection.class); Optional<TypeMirror> typeArg = extractCollectionTypeArg(type); return utils.getTypes().isAssignable(type, collectionType) && typeArg.isPresent() && isType(typeArg.get()) && asTypeElement(typeArg.get()).getQualifiedName().contentEquals(Cookie.class.getCanonicalName()); }
@Override public List<ProxyEventMethod> getProxyEventMethods() { if (proxyEventMethods == null) { TypeElement presenterElement = asTypeElement(getPresenterMirror()); List<ExecutableElement> methods = methodsIn(utils.getElements().getAllMembers(presenterElement)); proxyEventMethods = FluentIterable.from(methods) .filter(method -> method.getAnnotation(ProxyEvent.class) != null) .transform(element1 -> new ProxyEventMethod(logger, utils, element1)) .toList(); ensureNoHandlerMethodClashes(); } return proxyEventMethods; }
private void validateCustomProviderType(LogBuilder errorBuilder, DeclaredType type) { TypeElement customProviderElement = asTypeElement(type); TypeMirror expectedSuperType = utils.createWithTypeArguments(IndirectProvider.class, getPresenterMirror()); if (customProviderElement.getKind() != CLASS || !hasModifiers(PUBLIC).apply(customProviderElement) || hasModifiers(ABSTRACT).apply(customProviderElement) || !utils.getTypes().isSubtype(type, expectedSuperType)) { errorBuilder.log("Element passed to @CustomProvider must be a public, non-abstract class " + "and implement `%s`.", new Type(expectedSuperType).getParameterizedName()); throw new UnableToProcessException(); } }
private void validatePreBootstrapper(DeclaredType preBootstrapper) { TypeElement typeElement = asTypeElement(preBootstrapper); if (!IS_ACCESSIBLE_CLASS.apply(typeElement)) { logger.error().context(typeElement) .log("Declared pre-bootstrapper must be a public, non-abstract class."); throw new UnableToProcessException(); } if (!hasMatchingConstructorOrNone(IS_DEFAULT_CONSTRUCTOR).apply(typeElement)) { logger.error().context(typeElement) .log("Declared pre-bootstrapper must have a public, no-arg constructor."); throw new UnableToProcessException(); } }