public String name() { return methodInfo.fieldName(); }
private String name() { return methodInfo.fieldName(); }
public MethodInfoCodeWriter setFieldName() { set(methodInfo.fieldName()); return this; }
protected MethodSpec methodOf(MethodInfo methodInfo) { return MethodSpec.methodBuilder(methodInfo.fieldName()) .addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT) .returns(innerTypeNameOf(methodInfo)) .addParameter(parameter(methodInfo)) .build(); }
@Override public MethodSpec apply(MethodInfo input) { return MethodSpec.methodBuilder(input.fieldName()) .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .returns(innerTypeNameOf(input)) .addParameter(parameter(input)) .addCode(body(input)) .build(); }
private CodeBlock body(MethodInfo input) { return CodeBlock.builder() .addStatement("return $L", input.fieldName()) .build(); }
public String builderInnerSimpleName(MethodInfo method) { String suffix = Code.upperCaseFirstChar(method.fieldName()); return builderInterface().simpleName() + suffix; }
private ParameterSpec parameter(MethodInfo input) { SimpleTypeInfo returnTypeInfo = input.returnTypeInfo(); return ParameterSpec.builder(returnTypeInfo.typeName(), input.fieldName()).build(); }
private ParameterSpec parameter(MethodInfo methodInfo) { TypeName type = methodInfo.returnTypeInfo().typeName(); return ParameterSpec.builder(type, methodInfo.fieldName()).build(); }
public FieldInfo toFieldInfo() { return FieldInfo.builder() .simpleTypeInfo(returnTypeInfo()) .name(fieldName()) .build(); }
protected ClassName innerClassNameOf(MethodInfo methodInfo) { String innerName = classNameBuilder().simpleName() + WayCode.upperCaseFirstChar(methodInfo.fieldName()); return classNameBuilder().nestedClass(innerName); }
public ToMustacheHelper toMustacheHelper() { List<? extends ParameterInfo> parameterInfoList = parameterInfoList(); List<IndexedParameterInfo> parameters = WayIterables.from(parameterInfoList) .transform(ParameterInfoToIndexedParameterInfo.get(parameterInfoList.size())) .toImmutableList(); return Mustaches.toMustacheHelper() .add("name", name()) .add("methodName", name()) .add("toClassName", getClassName()) .add("fieldName", fieldName()) .add("fieldToClassName", WayCode.upperCaseFirstChar(fieldName())) .add("access", accessInfo()) .add("returnType", returnTypeInfo()) .add("parameters", parameters) .add("parametersIsEmpty", parameters.isEmpty()); }