public TypeParameterInfoMap getTypeParameterInfoMapOf(TypeElement element) { List<? extends TypeParameterElement> parameters = element.getTypeParameters(); List<TypeParameterInfo> list = parameters.stream() .map(TypeParameterElemenToTypeParameterInfo.get(processingEnv())) .collect(Collectors.toList()); return TypeParameterInfoMap.mapOf(list); }
public String getDeclaredName() { String simpleName = nameInfo().getSimpleName(); StringBuilder name = new StringBuilder(simpleName); List<TypeParameterInfo> typeParameterInfoList = typeParameterInfoList(); TypeParameterInfoMap map = TypeParameterInfoMap.mapOf(typeParameterInfoList); name.append(map.toString()); return name.toString(); }
public String getRawName() { String simpleName = nameInfo().getSimpleName(); StringBuilder name = new StringBuilder(simpleName); List<TypeParameterInfo> typeParameterInfoList = typeParameterInfoList(); TypeParameterInfoMap map = TypeParameterInfoMap.mapOf(typeParameterInfoList); name.append(map.toStringRaw()); return name.toString(); }
public TypeParameterInfoMap getTypeParameterInfoMapOf(TypeMirror type) { Element element = asElement(type); TypeElement typeElement = TypeElement.class.cast(element); TypeParameterInfoMap elementMap = getTypeParameterInfoMapOf(typeElement); List<TypeParameterInfo> valueList = getTypeParameterInfoListOf(type); return new TypeParameterInfoMapMirror(valueList, elementMap.list()); }
@Override public MustacheObject toMustache() { return Mustaches.toMustacheHelper() .add("bound", toString()) .add("raw", toStringRaw()) .add("unbound", toStringUnbound()) .toMustache(); }
@Override public String toString() { List<String> names = WayIterables.from(list) .transform(TypeParameterInfoDeclaredName.get()) .toImmutableList(); return toString(names); }
@Override protected SimpleTypeInfo compute() { TypeMirror type = element.asType(); TypeParameterInfo parameterInfo = TypeParameterInfoTypeMirror.wrap(processingEnv, type); TypeParameterInfo translated = typeParameterInfoMap.translate(parameterInfo); return translated.simpleTypeInfo(); } }
public static TypeParameterInfoMap mapOf(List<TypeParameterInfo> list) { return new TypeParameterInfoMap(list); }
public TypeParameterInfoMap getTypeParameterInfoMapOf(TypeMirror type) { Element element = asElement(type); TypeElement typeElement = TypeElement.class.cast(element); TypeParameterInfoMap elementMap = getTypeParameterInfoMapOf(typeElement); List<TypeParameterInfo> valueList = getTypeParameterInfoListOf(type); return new TypeParameterInfoMapMirror(valueList, elementMap.list()); }
public String toStringRaw() { List<String> names = WayIterables.from(list) .transform(TypeParameterInfoTypeVariableInfo.get()) .presentInstancesOf(TypeVariableInfo.class) .transform(new Function<TypeVariableInfo, String>() { @Override public String apply(TypeVariableInfo input) { return "?"; } }) .toImmutableList(); return toString(names); }
@Override protected SimpleTypeInfo compute() { TypeMirror type = element.asType(); TypeParameterInfo parameterInfo = TypeParameterInfoTypeMirror.wrap(processingEnv, type); TypeParameterInfo translated = typeParameterInfoMap.translate(parameterInfo); return translated.toSimpleTypeInfo(); } }
public TypeParameterInfoMap getTypeParameterInfoMapOf(TypeElement element) { List<? extends TypeParameterElement> parameters = element.getTypeParameters(); List<TypeParameterInfo> list = WayIterables.from(parameters) .transform(TypeParameterElemenToTypeParameterInfo.get(processingEnv())) .toImmutableList(); return TypeParameterInfoMap.mapOf(list); }
public SimpleTypeInfo toSimpleTypeInfo() { return SimpleTypeInfo.newType() .packageInfo(Optional.fromNullable(packageInfo())) .nameInfo(nameInfo()) .typeParameterInfoList(typeParameterInfoMap().list()) .build(); }
public String toStringUnbound() { List<String> names = WayIterables.from(list) .transform(TypeParameterInfoTypeVariableInfo.get()) .presentInstancesOf(TypeVariableInfo.class) .transform(TypeVariableInfoName.get()) .toImmutableList(); return toString(names); }
@Override public TypeInfo build() { return TypeInfo.newPojo() .kind(kind) .packageInfo(packageInfo) .accessInfo(accessInfo) .name(name) .typeParameterInfoMap(TypeParameterInfoMap.mapOf(typeParameterInfoList)) .annotationInfoMap(AnnotationInfoMap.mapOf(annotationInfoList)) .enclosingTypeInfo(Optional.fromNullable(enclosingTypeInfo)) .superTypeInfo(Optional.fromNullable(superTypeInfo)) .interfaceInfoMap(InterfaceInfoMap.mapOf(interfaceInfoList)) .constructorInfoMap(ConstructorInfoMap.mapOf(constructorInfoList)) .methodInfoMap(MethodInfoMap.mapOf(methodInfoList)) .declaredTypeInfoMap(TypeInfoMap.mapOf(declaredTypeInfoList)) .build(); }
@Override public SimpleTypeInfo toSimpleTypeInfo() { return TestingSimpleTypeInfo.builder() .kind(SimpleTypeInfoKind.TYPE) .packageInfoOfNullable(packageInfo()) .nameInfo(nameInfo()) .typeParameterInfoList(typeParameterInfoMap().list()) .build(); }
public TypeInfo build() { return TestingTypeInfo.builder() .kind(kind) .packageInfo(packageInfo) .accessInfo(accessInfo) .name(name) .typeParameterInfoMap(TypeParameterInfoMap.mapOf(typeParameterInfoList)) .annotationInfoList(annotationInfoList) .enclosingSimpleTypeInfoOfNullable(enclosingSimpleTypeInfo) .superTypeInfoOfNullable(superTypeInfo) .interfaceInfoMap(InterfaceInfoMap.mapOf(interfaceInfoList)) .fieldInfoList(fieldInfoList) .constructorInfoList(constructorInfoList) .methodInfoList(methodInfoList) .declaredTypeInfoList(declaredTypeInfoList) .build(); }