org.springframework.core.convert.TypeDescriptor#getResolvableType ( )源码实例Demo

下面列出了org.springframework.core.convert.TypeDescriptor#getResolvableType ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: lams   文件: ObjectToOptionalConverter.java
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
	if (source == null) {
		return Optional.empty();
	}
	else if (source instanceof Optional) {
		return source;
	}
	else if (targetType.getResolvableType() != null) {
		Object target = this.conversionService.convert(source, sourceType, new GenericTypeDescriptor(targetType));
		if (target == null || (target.getClass().isArray() && Array.getLength(target) == 0) ||
					(target instanceof Collection && ((Collection) target).isEmpty())) {
			return Optional.empty();
		}
		return Optional.of(target);
	}
	else {
		return Optional.of(source);
	}
}
 
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
	if (source == null) {
		return Optional.empty();
	}
	else if (source instanceof Optional) {
		return source;
	}
	else if (targetType.getResolvableType() == null) {
		return Optional.of(source);
	}
	else {
		Object target = this.conversionService.convert(source, sourceType, new GenericTypeDescriptor(targetType));
		return Optional.ofNullable(target);
	}
}
 
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	// Check raw type first...
	if (this.typeInfo.getTargetType() != targetType.getObjectType()) {
		return false;
	}
	// Full check for complex generic type match required?
	ResolvableType rt = targetType.getResolvableType();
	if (!(rt.getType() instanceof Class) && !rt.isAssignableFrom(this.targetType) &&
			!this.targetType.hasUnresolvableGenerics()) {
		return false;
	}
	return !(this.converter instanceof ConditionalConverter) ||
			((ConditionalConverter) this.converter).matches(sourceType, targetType);
}
 
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	// Check raw type first...
	if (this.typeInfo.getTargetType() != targetType.getObjectType()) {
		return false;
	}
	// Full check for complex generic type match required?
	ResolvableType rt = targetType.getResolvableType();
	if (!(rt.getType() instanceof Class) && !rt.isAssignableFrom(this.targetType) &&
			!this.targetType.hasUnresolvableGenerics()) {
		return false;
	}
	return !(this.converter instanceof ConditionalConverter) ||
			((ConditionalConverter) this.converter).matches(sourceType, targetType);
}
 
源代码5 项目: lams   文件: ObjectToOptionalConverter.java
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	if (targetType.getResolvableType() != null) {
		return this.conversionService.canConvert(sourceType, new GenericTypeDescriptor(targetType));
	}
	else {
		return true;
	}
}
 
源代码6 项目: lams   文件: GenericConversionService.java
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	// Check raw type first...
	if (this.typeInfo.getTargetType() != targetType.getObjectType()) {
		return false;
	}
	// Full check for complex generic type match required?
	ResolvableType rt = targetType.getResolvableType();
	if (!(rt.getType() instanceof Class) && !rt.isAssignableFrom(this.targetType) &&
			!this.targetType.hasUnresolvableGenerics()) {
		return false;
	}
	return !(this.converter instanceof ConditionalConverter) ||
			((ConditionalConverter) this.converter).matches(sourceType, targetType);
}
 
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	if (targetType.getResolvableType() != null) {
		return this.conversionService.canConvert(sourceType, new GenericTypeDescriptor(targetType));
	}
	else {
		return true;
	}
}
 
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
	// Check raw type first...
	if (this.typeInfo.getTargetType() != targetType.getObjectType()) {
		return false;
	}
	// Full check for complex generic type match required?
	ResolvableType rt = targetType.getResolvableType();
	if (!(rt.getType() instanceof Class) && !rt.isAssignableFrom(this.targetType) &&
			!this.targetType.hasUnresolvableGenerics()) {
		return false;
	}
	return !(this.converter instanceof ConditionalConverter) ||
			((ConditionalConverter) this.converter).matches(sourceType, targetType);
}