public void doesNotHaveOneOfAnnotations(Element element, List<Class<? extends Annotation>> validAnnotations, ElementValidation validation) { checkAnnotations(element, element, validAnnotations, false, validation); }
public void componentRegistered(Element element, AndroidManifest androidManifest, ElementValidation valid) { componentRegistered(element, androidManifest, true, valid); }
public void doesNotHaveAnnotation(Element element, Class<? extends Annotation> annotation, ElementValidation validation) { doesNotHaveOneOfAnnotations(element, Collections.<Class<? extends Annotation>> singletonList(annotation), validation); }
public void enclosingElementHasAndroidAnnotation(Element element, ElementValidation valid) { enclosingElementHasOneOfAnnotations(element, environment().getGeneratingAnnotations(), valid); }
public void androidService(Element element, ElementValidation valid) { Element targetElement = findTargetElement(element, valid); if (targetElement == null) { return; } AndroidSystemServices androidSystemServices = new AndroidSystemServices(environment()); TypeMirror serviceType = targetElement.asType(); if (!androidSystemServices.contains(serviceType)) { valid.addError("Unknown service type: " + serviceType.toString()); } }
public void typeIsValid(Class<? extends Annotation> annotation, TypeMirror elementType, ElementValidation elementValidation) { Set<? extends Element> validElements = validatedModel().getRootAnnotatedElements(annotation.getName()); Set<? extends Element> extractedElements = environment().getExtractedElements().getRootAnnotatedElements(annotation.getName()); Element typeElement = annotationHelper.getTypeUtils().asElement(elementType); if (!extractedElements.contains(typeElement) || validElements.contains(typeElement)) { return; } elementValidation.addError("The type " + typeElement.getSimpleName() + " is invalid, " + "please check the messages on that type."); }
public void enclosingElementHasEnhancedViewSupportAnnotation(Element element, ElementValidation valid) { enclosingElementHasOneOfAnnotations(element, VALID_ENHANCED_VIEW_SUPPORT_ANNOTATIONS, valid); }
public void enclosingElementHasEIntentService(Element element, ElementValidation valid) { enclosingElementHasAnnotation(EIntentService.class, element, valid); }
public InjectHelper(ValidatorHelper validatorHelper, MethodInjectionHandler<T> handler) { this.codeModelHelper = new APTCodeModelHelper(validatorHelper.environment()); this.validatorHelper = validatorHelper; this.handler = handler; }
public void extendsPreferenceActivityOrPreferenceFragment(Element element, ElementValidation valid) { extendsOneOfTypes(element, VALID_PREFERENCE_CLASSES, valid); }
public void validate(Class<? extends Annotation> expectedAnnotation, Element element, ElementValidation valid) { Element enclosingElement = element.getEnclosingElement(); if (element instanceof VariableElement && enclosingElement instanceof ExecutableElement) { validatorHelper.param.annotatedWith(expectedAnnotation).multiple().validate((ExecutableElement) enclosingElement, valid); validatorHelper.doesNotHaveAnyOfSupportedAnnotations(enclosingElement, valid); handler.validateEnclosingElement(enclosingElement, valid); } else if (element instanceof ExecutableElement) { handler.validateEnclosingElement(element, valid); validatorHelper.param.anyType().validate((ExecutableElement) element, valid); List<? extends VariableElement> parameters = ((ExecutableElement) element).getParameters(); for (VariableElement param : parameters) { validatorHelper.doesNotHaveAnyOfSupportedAnnotations(param, valid); } } else { handler.validateEnclosingElement(element, valid); validatorHelper.isNotFinal(element, valid); } }
public void hasViewByIdAnnotation(Element element, ElementValidation valid) { String error = "can only be used with annotation"; elementHasAnnotation(ViewById.class, element, valid, error); }
public void typeHasAnnotation(Class<? extends Annotation> annotation, TypeMirror elementType, ElementValidation valid) { Element typeElement = annotationHelper.getTypeUtils().asElement(elementType); if (!elementHasAnnotationSafe(annotation, typeElement)) { valid.addError("%s can only be used on an element annotated with @" + annotation.getName()); } }
public void enclosingElementHasEnhancedComponentAnnotation(Element element, ElementValidation valid) { enclosingElementHasOneOfAnnotations(element, VALID_ENHANCED_COMPONENT_ANNOTATIONS, valid); }
public void enclosingElementHasEActivity(Element element, ElementValidation valid) { enclosingElementHasAnnotation(EActivity.class, element, valid); }
protected AnnotationElements validatedModel() { return environment().getValidatedElements(); }
public void typeIsValid(Class<? extends Annotation> annotation, TypeMirror elementType, ElementValidation elementValidation) { Set<? extends Element> validElements = validatedModel().getRootAnnotatedElements(annotation.getName()); Set<? extends Element> extractedElements = environment().getExtractedElements().getRootAnnotatedElements(annotation.getName()); Element typeElement = annotationHelper.getTypeUtils().asElement(elementType); if (!extractedElements.contains(typeElement) || validElements.contains(typeElement)) { return; } elementValidation.addError("The type " + typeElement.getSimpleName() + " is invalid, " + "please check the messages on that type."); }
public void androidService(Element element, ElementValidation valid) { Element targetElement = findTargetElement(element, valid); if (targetElement == null) { return; } AndroidSystemServices androidSystemServices = new AndroidSystemServices(environment()); TypeMirror serviceType = targetElement.asType(); if (!androidSystemServices.contains(serviceType)) { valid.addError("Unknown service type: " + serviceType.toString()); } }
public void enclosingElementHasAndroidAnnotation(Element element, ElementValidation valid) { enclosingElementHasOneOfAnnotations(element, environment().getGeneratingAnnotations(), valid); }
public void extendsFragment(Element element, ElementValidation valid) { extendsOneOfTypes(element, ANDROID_FRAGMENT_QUALIFIED_NAMES, valid); }