private String convertLink(String link) { if (linkConverter != null) { return linkConverter.convertLink(link); } else { return link; } }
/** * valueを文字列に変換する. * * @param value * @return */ @SuppressWarnings("unchecked") public static String valueToString(Object value) { String returnStr = null; if (value == null) { return returnStr; } else if (value instanceof String) { returnStr = (String) value; } else if (Date.class.isAssignableFrom(value.getClass())) { returnStr = DateUtil.toString((Date) value, AppProperties.CNS3_DATE_PATTERN); } else if (Key.class.isAssignableFrom(value.getClass())) { // no-id-yetキーのkeyToString例外対応 // returnStr = KeyFactory.keyToString((Key)value); returnStr = keyToString((Key) value); } else if (Enum.class.isAssignableFrom(value.getClass())) { returnStr = ((Enum) value).name(); } else if (ModelRef.class.isAssignableFrom(value.getClass())) { returnStr = keyToString(((ModelRef) value).getKey()); } else if (isBaseType(value.getClass())) { returnStr = ConversionUtil.convert(value, String.class); } else if (User.class.isAssignableFrom(value.getClass())) { returnStr = UserConverter.getInstance().getAsString(value); } else if (GeoPt.class.isAssignableFrom(value.getClass())) { returnStr = GeoPtConverter.getInstance().getAsString(value); } else if (Text.class.isAssignableFrom(value.getClass())) { returnStr = TextConverter.getInstance().getAsString(value); } else if (ShortBlob.class.isAssignableFrom(value.getClass())) { returnStr = ShortBlobConverter.getInstance().getAsString(value); } else if (Blob.class.isAssignableFrom(value.getClass())) { returnStr = BlobConverter.getInstance().getAsString(value); } else if (Category.class.isAssignableFrom(value.getClass())) { returnStr = CategoryConverter.getInstance().getAsString(value); } else if (Email.class.isAssignableFrom(value.getClass())) { returnStr = EmailConverter.getInstance().getAsString(value); } else if (Link.class.isAssignableFrom(value.getClass())) { returnStr = LinkConverter.getInstance().getAsString(value); } else if (PhoneNumber.class.isAssignableFrom(value.getClass())) { returnStr = PhoneNumberConverter.getInstance().getAsString(value); } else if (PostalAddress.class.isAssignableFrom(value.getClass())) { returnStr = PostalAddressConverter.getInstance().getAsString(value); } else if (Rating.class.isAssignableFrom(value.getClass())) { returnStr = RatingConverter.getInstance().getAsString(value); } else { try { if (Collection.class.isAssignableFrom(value.getClass())) { returnStr = arrayToString(((Collection<?>) value).toArray()); } else if (value.getClass().isArray()) { returnStr = arrayToString(value); } else { returnStr = SerializableConverter.getInstance().getAsString(value); } } catch (IllegalArgumentException e) { returnStr = SerializableConverter.getInstance().getAsString(value); } } return returnStr; }