当前位置: 首页>>代码示例>>Java>>正文


Java TypeUtils.isString方法代码示例

本文整理汇总了Java中com.holonplatform.core.internal.utils.TypeUtils.isString方法的典型用法代码示例。如果您正苦于以下问题:Java TypeUtils.isString方法的具体用法?Java TypeUtils.isString怎么用?Java TypeUtils.isString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.holonplatform.core.internal.utils.TypeUtils的用法示例。


在下文中一共展示了TypeUtils.isString方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getProperty

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public <T> T getProperty(String key, Class<T> targetType) throws IllegalArgumentException {
	ObjectUtils.argumentNotNull(key, "Property name must be not null");
	ObjectUtils.argumentNotNull(targetType, "Property type must be not null");

	Object value = properties.get(key);
	if (value != null) {
		if (TypeUtils.isAssignable(value.getClass(), targetType)) {
			return (T) value;
		} else if (TypeUtils.isString(value.getClass())) {
			return ConversionUtils.convertStringValue(value.toString(), targetType);
		} else {
			throw new IllegalArgumentException(
					"Property " + key + " type is not consistent " + "with required type: " + targetType.getName()
							+ " (got type: " + value.getClass().getName() + ")");
		}
	}

	return null;
}
 
开发者ID:holon-platform,项目名称:holon-core,代码行数:22,代码来源:MapConfigPropertyProvider.java

示例2: checkParameterValue

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
/**
 * Check the given view parameter value, performing type conversions when applicable.
 * @param view View instance
 * @param definition Parameter definition
 * @param value Parameter value
 * @return Processed parameter value
 * @throws ViewConfigurationException Error processing value
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
private static Object checkParameterValue(View view, ViewParameterDefinition definition, Object value)
		throws ViewConfigurationException {
	if (value != null) {
		// String
		if (TypeUtils.isString(definition.getType()) && !TypeUtils.isString(value.getClass())) {
			return value.toString();
		}
		if (!TypeUtils.isString(definition.getType()) && TypeUtils.isString(value.getClass())) {
			return ConversionUtils.convertStringValue((String) value, definition.getType());
		}
		// Numbers
		if (TypeUtils.isNumber(definition.getType()) && TypeUtils.isNumber(value.getClass())) {
			return ConversionUtils.convertNumberToTargetClass((Number) value, (Class<Number>) definition.getType());
		}
		// Enums
		if (TypeUtils.isEnum(definition.getType()) && !TypeUtils.isEnum(value.getClass())) {
			return ConversionUtils.convertEnumValue((Class<Enum>) definition.getType(), value);
		}
		// check type consistency
		if (!TypeUtils.isAssignable(value.getClass(), definition.getType())) {
			throw new ViewConfigurationException("Value type " + value.getClass().getName()
					+ " doesn't match view parameter type " + definition.getType().getName());
		}
	}
	return value;
}
 
开发者ID:holon-platform,项目名称:holon-vaadin7,代码行数:36,代码来源:ViewNavigationUtils.java

示例3: render

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
@Override
public Field render(Property<T> property) {

	ObjectUtils.argumentNotNull(property, "Property must be not null");

	Class<?> propertyType = property.getType();

	// Try to render property according to a supported property type
	if (TypeUtils.isString(propertyType)) {
		// String
		return renderString(property);
	}
	if (TypeUtils.isBoolean(propertyType)) {
		// Boolean
		return renderBoolean(property);
	}
	if (TypeUtils.isEnum(propertyType)) {
		// Enum
		return renderEnum(property);
	}
	if (TypeUtils.isTemporal(propertyType)) {
		// Temporal
		return renderTemporal(property);
	}
	if (TypeUtils.isDate(propertyType)) {
		// Date
		return renderDate(property);
	}
	if (TypeUtils.isNumber(propertyType)) {
		// Number
		return renderNumber(property);
	}

	return null;
}
 
开发者ID:holon-platform,项目名称:holon-vaadin7,代码行数:36,代码来源:DefaultFieldPropertyRenderer.java

示例4: deserializeValue

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public <T> T deserializeValue(QueryExpression<T> expression, Object value) {
	if (value != null) {

		// date and times
		Optional<TemporalType> temporalType = JdbcDatastoreUtils.getTemporalType(expression, true);
		if (temporalType.isPresent()) {

			LocalDateTime dt = null;
			if (TypeUtils.isString(value.getClass())) {
				dt = asDateTime((String) value, temporalType.orElse(TemporalType.DATE));
			} else if (TypeUtils.isNumber(value.getClass())) {
				dt = asDateTime((Number) value);
			}

			if (dt != null) {
				if (LocalDateTime.class.isAssignableFrom(expression.getType())) {
					return (T) dt;
				}
				if (LocalDate.class.isAssignableFrom(expression.getType())) {
					return (T) dt.toLocalDate();
				}
				if (LocalTime.class.isAssignableFrom(expression.getType())) {
					return (T) dt.toLocalTime();
				}
				if (Date.class.isAssignableFrom(expression.getType())) {
					return (T) ConversionUtils.fromLocalDateTime(dt);
				}
			}
		}
	}

	// fallback to default
	return SQLValueDeserializer.getDefault().deserializeValue(expression, value);
}
 
开发者ID:holon-platform,项目名称:holon-datastore-jdbc,代码行数:37,代码来源:SQLiteDialect.java

示例5: serializeParameterValue

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
/**
 * Serialize given parameter value as String
 * @param value Value to serialize
 * @param dateFormat Date format to use with {@link Date} value types
 * @return Serialized value
 */
private static String serializeParameterValue(Object value, DateFormat dateFormat) {
	if (!isNullOrEmpty(value)) {
		if (TypeUtils.isString(value.getClass())) {
			return (String) value;
		}
		if (TypeUtils.isBoolean(value.getClass())) {
			return ((Boolean) value) ? "true" : "false";
		}
		if (TypeUtils.isEnum(value.getClass())) {
			int ordinal = ((Enum<?>) value).ordinal();
			return String.valueOf(ordinal);
		}
		if (TypeUtils.isNumber(value.getClass())) {
			if (TypeUtils.isDecimalNumber(value.getClass())) {
				return PARAMETER_VALUE_DECIMAL_FORMAT.format(value);
			} else {
				return PARAMETER_VALUE_INTEGER_FORMAT.format(value);
			}
		}
		if (TypeUtils.isDate(value.getClass())) {
			return dateFormat.format((Date) value);
		}
		if (TypeUtils.isTemporal(value.getClass())) {
			TemporalType type = TemporalType.getTemporalType((Temporal) value);
			if (type == null) {
				type = TemporalType.DATE;
			}
			switch (type) {
			case DATE_TIME:
				return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format((Temporal) value);
			case TIME:
				return DateTimeFormatter.ISO_LOCAL_TIME.format((Temporal) value);
			case DATE:
			default:
				return DateTimeFormatter.ISO_LOCAL_DATE.format((Temporal) value);
			}
		}
		throw new UnsupportedOperationException(
				"Parameter value serialization " + "not supported for type: " + value.getClass().getName());
	}
	return null;
}
 
开发者ID:holon-platform,项目名称:holon-vaadin7,代码行数:49,代码来源:ViewNavigationUtils.java

示例6: isIntrospectable

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
private static boolean isIntrospectable(Class<?> propertyClass) {
	return propertyClass != Object.class && !propertyClass.isArray() && !propertyClass.isPrimitive()
			&& !propertyClass.isEnum() && !TypeUtils.isString(propertyClass) && !TypeUtils.isNumber(propertyClass)
			&& !TypeUtils.isTemporalOrCalendar(propertyClass) && !TypeUtils.isBoolean(propertyClass)
			&& !Collection.class.isAssignableFrom(propertyClass);
}
 
开发者ID:holon-platform,项目名称:holon-core,代码行数:7,代码来源:DefaultBeanIntrospector.java

示例7: isAdmittedParameterFieldType

import com.holonplatform.core.internal.utils.TypeUtils; //导入方法依赖的package包/类
/**
 * Check parameter field type
 * @param type Field type
 * @return <code>true</code> if type is admitted as view parameter value
 */
private static boolean isAdmittedParameterFieldType(Class<?> type) {
	return TypeUtils.isString(type) || TypeUtils.isNumber(type) || TypeUtils.isBoolean(type)
			|| TypeUtils.isDate(type) || TypeUtils.isLocalTemporal(type) || TypeUtils.isEnum(type);
}
 
开发者ID:holon-platform,项目名称:holon-vaadin7,代码行数:10,代码来源:ViewNavigationUtils.java


注:本文中的com.holonplatform.core.internal.utils.TypeUtils.isString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。