public SimpleTypeInfo returnTypeInfo() { return methodInfo.returnTypeInfo(); }
TypeName typeName() { SimpleTypeInfo returnTypeInfo = methodInfo.returnTypeInfo(); return returnTypeInfo.typeName(); }
private TypeName returnType() { return methodInfo .returnTypeInfo() .typeName(); }
boolean instanceOf(Class<?> type) { SimpleTypeInfo returnTypeInfo = methodInfo.returnTypeInfo(); return returnTypeInfo.isSubType(type); }
public Stream<TypeParameterInfo> typeParameterInfoStream() { return methodInfo.returnTypeInfo().getTypeParameterInfoStream(); }
private String getterPrefix() { return returnTypeInfo().getGetterPrefix(); }
private TypeName type() { return methodInfo.returnTypeInfo().typeName(); }
@Override public PojoPropertyFieldBuilder type() { MethodInfo methodInfo = property.methodInfo(); SimpleTypeInfo returnTypeInfo = methodInfo.returnTypeInfo(); type = returnTypeInfo.typeName(); return this; }
@AutoFunctional public boolean hasReturnTypeInfo(SimpleTypeInfo typeInfo) { return returnTypeInfo().equals(typeInfo); }
@Override public MethodSpec apply(MethodInfo input) { return MethodSpec.methodBuilder(input.name()) .returns(input.returnTypeInfo().typeName()) .addCode(body(input)) .build(); }
@Override public BuilderBody nullCheckIfNecessary(String variableName) { SimpleTypeInfo returnTypeInfo = methodInfo().returnTypeInfo(); Optional<CodeBlock> maybeNull = Code.nullCheck(returnTypeInfo.typeName(), variableName); if (maybeNull.isPresent()) { body.add(maybeNull.get()); } return this; }
private ParameterSpec parameter(MethodInfo methodInfo) { TypeName type = methodInfo.returnTypeInfo().typeName(); return ParameterSpec.builder(type, methodInfo.fieldName()).build(); }
private ParameterSpec parameter(MethodInfo input) { SimpleTypeInfo returnTypeInfo = input.returnTypeInfo(); return ParameterSpec.builder(returnTypeInfo.typeName(), input.fieldName()).build(); }
public FieldInfo toFieldInfo() { return FieldInfo.builder() .simpleTypeInfo(returnTypeInfo()) .name(fieldName()) .build(); }
private static Optional<InvalidateMethod> of1(TypeInfo typeInfo, MethodInfo method, AnnotationInfo annotation) { String annotationName = annotation.simpleName(); if (method.hasModifierInfo(ModifierInfo.FINAL)) { method.compilationError("@%s method cannot be final", annotationName); return Optional.empty(); } if (method.hasAccessInfo(AccessInfo.PRIVATE)) { method.compilationError("@%s method cannot be private", annotationName); return Optional.empty(); } SimpleTypeInfo returnTypeInfo = method.returnTypeInfo(); boolean self = returnTypeInfo.equals(typeInfo.toSimpleTypeInfo()); if (!returnTypeInfo.equals(SimpleTypePrimitives.VOID) && !self) { method.compilationError("@%s method must return void or self", annotationName); return Optional.empty(); } InvalidateMethod invalidateMethod = new InvalidateMethod(method, annotation, self); return Optional.of(invalidateMethod); }
@AutoFunctional public Set<ImportInfo> toImportInfoSet() { return WayIterables.from(parameterInfoList()) .transformAndConcat(ParameterInfoToImportInfo.get()) .addAll(returnTypeInfo().toImportInfo()) .toImmutableSet(); }
@Override public boolean isEqual(MethodInfo that) { return Testables.isEqualHelper() .equal(name(), that.name()) .equal(accessInfo(), that.accessInfo()) .equal(modifierInfoSet(), that.modifierInfoSet()) .equal(returnTypeInfo(), that.returnTypeInfo()) .equal(annotationInfoMap(), that.annotationInfoMap()) .equal(parameterInfoList(), that.parameterInfoList()) .result(); }
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()); }