本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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);
}
示例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;
}
示例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);
}
示例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);
}