static MethodSpec generateStateContainerGetter(TypeName stateContainerClassName) { return MethodSpec.methodBuilder("getStateContainer") .addModifiers(Modifier.PROTECTED) .addAnnotation(Override.class) .returns(stateContainerClassName) .addStatement("return $N", STATE_CONTAINER_FIELD_NAME) .build(); }
private MethodSpec createBindingConstructorForActivity() { MethodSpec.Builder builder = MethodSpec.constructorBuilder() .addAnnotation(UI_THREAD) .addModifiers(PUBLIC) .addParameter(targetTypeName, "target"); if (constructorNeedsView()) { builder.addStatement("this(target, target.getWindow().getDecorView())"); } else { builder.addStatement("this(target, target)"); } return builder.build(); }
private MethodSpec createBindingConstructorForView() { MethodSpec.Builder builder = MethodSpec.constructorBuilder() .addAnnotation(UI_THREAD) .addModifiers(PUBLIC) .addParameter(targetTypeName, "target"); if (constructorNeedsView()) { builder.addStatement("this(target, target)"); } else { builder.addStatement("this(target, target.getContext())"); } return builder.build(); }
private MethodSpec createBindingConstructorForDialog() { MethodSpec.Builder builder = MethodSpec.constructorBuilder() .addAnnotation(UI_THREAD) .addModifiers(PUBLIC) .addParameter(targetTypeName, "target"); if (constructorNeedsView()) { builder.addStatement("this(target, target.getWindow().getDecorView())"); } else { builder.addStatement("this(target, target.getContext())"); } return builder.build(); }
private MethodSpec createBindingViewDelegateConstructor() { return MethodSpec.constructorBuilder() .addJavadoc("@deprecated Use {@link #$T($T, $T)} for direct creation.\n " + "Only present for runtime invocation through {@code ButterKnife.bind()}.\n", bindingClassName, targetTypeName, CONTEXT) .addAnnotation(Deprecated.class) .addAnnotation(UI_THREAD) .addModifiers(PUBLIC) .addParameter(targetTypeName, "target") .addParameter(VIEW, "source") .addStatement(("this(target, source.getContext())")) .build(); }
private void createFactoryClass() throws IOException { final TypeName configurationBuilderFactory = Types.CONFIGURATION_BUILDER_FACTORY; Strings.writeClass(processingEnv.getFiler(), TypeSpec.classBuilder(factoryName) .addModifiers(Modifier.PUBLIC) .addSuperinterface(configurationBuilderFactory) .addAnnotation(AnnotationSpec.builder(AutoService.class).addMember("value", "$T.class", configurationBuilderFactory).build()) .addMethod(Types.overriding(Types.getOnlyMethod(processingEnv, Strings.CONFIGURATION_BUILDER_FACTORY)) .addAnnotation(Types.NON_NULL) .addStatement("return new $T($L)", ClassName.get(PACKAGE, builderName), PARAM_0) .build()) .build()); } }
private static MethodSpec generateNeedsPreviousRenderDataMethod() { return MethodSpec.methodBuilder("needsPreviousRenderData") .addAnnotation(Override.class) .addModifiers(Modifier.PROTECTED) .returns(TypeName.BOOLEAN) .addStatement("return true") .build(); }
private static MethodSpec generateExtraBuilderMethod( SpecModel specModel, BuilderMethodModel builderMethodModel) { return MethodSpec.methodBuilder(builderMethodModel.paramName) .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addParameter(builderMethodModel.paramType, builderMethodModel.paramName) .addStatement( "return super.$L($L)", builderMethodModel.paramName, builderMethodModel.paramName) .returns(getBuilderType(specModel)) .build(); }
private static MethodSpec generateGetThisMethod(SpecModel specModel) { return MethodSpec.methodBuilder("getThis") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return this") .returns(getBuilderType(specModel)) .build(); }
private void isDragging(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("isDragging") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return mBadgeViewHelper.isDragging()") .returns(boolean.class) .build(); typeBuilder.addMethod(methodSpec); }
private void getBadgeViewHelper(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("getBadgeViewHelper") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return mBadgeViewHelper") .returns(ClassName.get(PACKAGE_NAME, "BGABadgeViewHelper")) .build(); typeBuilder.addMethod(methodSpec); }
private static MethodSpec generateGetThisMethod(SpecModel specModel) { return MethodSpec.methodBuilder("getThis") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return this") .returns(getMatcherType(specModel)) .build(); }
private void onTouchEvent(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("onTouchEvent") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addParameter(ClassName.get("android.view", "MotionEvent"), "event") .addStatement("return mBadgeViewHelper.onTouchEvent(event)") .returns(boolean.class) .build(); typeBuilder.addMethod(methodSpec); }
private void isShowBadge(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("isShowBadge") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return mBadgeViewHelper.isShowBadge()") .returns(boolean.class) .build(); typeBuilder.addMethod(methodSpec); }
private void isDraggable(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("isDraggable") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return mBadgeViewHelper.isDraggable()") .returns(boolean.class) .build(); typeBuilder.addMethod(methodSpec); }
private MethodSpec generateSizeSpec() { return MethodSpec.methodBuilder( "getSize") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .returns(int.class) .addStatement("return $L", SIZE) .build(); }
private void callSuperOnTouchEvent(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("callSuperOnTouchEvent") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addParameter(ClassName.get("android.view", "MotionEvent"), "event") .addStatement("return super.onTouchEvent(event)") .returns(boolean.class) .build(); typeBuilder.addMethod(methodSpec); }
@Override public void enterWhen(Rule rule) { when = MethodSpec.methodBuilder("when") .addModifiers(Modifier.PUBLIC) .addAnnotation(Override.class) .returns(boolean.class) .addParameter(EvaluationContext.class, "context", Modifier.FINAL); currentMethod = when; }
private static MethodSpec generateReleaseMethod(SpecModel specModel) { return MethodSpec.methodBuilder("release") .addAnnotation(Override.class) .addModifiers(Modifier.PROTECTED) .addStatement("super.release()") .addStatement(getComponentMemberInstanceName(specModel) + " = null") .addStatement(CONTEXT_MEMBER_NAME + " = null") .build(); }
private void onDraw(TypeSpec.Builder typeBuilder) { MethodSpec methodSpec = MethodSpec.methodBuilder("onDraw") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addParameter(ClassName.get("android.graphics", "Canvas"), "canvas") .addStatement("super.onDraw(canvas)") .addStatement("mBadgeViewHelper.drawBadge(canvas)") .build(); typeBuilder.addMethod(methodSpec); }