Java源码示例:org.joda.convert.StringConvert
示例1
@SuppressWarnings("unchecked")
private AttributeType(String name, Class<T> type) {
this.name = ArgChecker.notEmpty(name, "name");
this.type = ArgChecker.notNull(type, "type");
if (StringConvert.INSTANCE.isConvertible(type)) {
TypedStringConverter<T> converter = StringConvert.INSTANCE.findTypedConverter(type);
this.toStoredFormConverter = value -> converter.convertToString(value);
this.fromStoredFormConverter =
value -> value instanceof String ?
converter.convertFromString(type, (String) value) :
converter.convertFromString(type, StringConvert.INSTANCE.convertToString(value));
} else {
this.toStoredFormConverter = value -> type.cast(value);
this.fromStoredFormConverter = value -> type.cast(value);
}
}
示例2
private void explanationString(StringBuilder buf, String indent) {
buf.append("{").append(System.lineSeparator());
String entryIndent = indent + " ";
for (Entry<ExplainKey<?>, Object> entry : map.entrySet()) {
buf.append(entryIndent).append(entry.getKey()).append(" = ");
if (entry.getValue() instanceof List) {
// list
@SuppressWarnings("unchecked")
List<ExplainMap> list = (List<ExplainMap>) entry.getValue();
explanationString(buf, entryIndent, list);
} else {
// single entry
try {
buf.append(StringConvert.INSTANCE.convertToString(entry.getValue()));
} catch (Exception ex) {
buf.append(entry.getValue());
}
}
buf.append(',').append(System.lineSeparator());
}
if (!map.entrySet().isEmpty()) {
buf.deleteCharAt(buf.lastIndexOf(","));
}
buf.append(indent).append("}");
}
示例3
@SuppressWarnings("deprecation")
public void testDateMidnight() {
DateMidnight test = new DateMidnight(2010, 6, 30, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T00:00:00.000+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(DateMidnight.class, str));
}
示例4
/**
* Asserts that the object can be serialized and deserialized via a string using Joda-Convert.
*
* @param <T> the type
* @param cls the effective type
* @param base the object to be tested
*/
public static <T> void assertJodaConvert(Class<T> cls, Object base) {
assertNotNull(base, "assertJodaConvert() called with null Class");
assertNotNull(base, "assertJodaConvert() called with null Object");
StringConvert convert = StringConvert.create();
String str = convert.convertToString(base);
T result = convert.convertFromString(cls, str);
assertEquals(result, base, "Result from roundtrip not equal to base object");
}
示例5
public void testDateTime() {
DateTime test = new DateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:50.678+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(DateTime.class, str));
}
示例6
public void testMutableDateTime() {
MutableDateTime test = new MutableDateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:50.678+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(MutableDateTime.class, str));
}
示例7
public void testLocalDateTime() {
LocalDateTime test = new LocalDateTime(2010, 6, 30, 2, 30);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:00.000", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDateTime.class, str));
}
示例8
public void testLocalDate() {
LocalDate test = new LocalDate(2010, 6, 30);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDate.class, str));
}
示例9
public void testLocalTime() {
LocalTime test = new LocalTime(2, 30, 50, 678);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("02:30:50.678", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalTime.class, str));
}
示例10
public void testYearMonth() {
YearMonth test = new YearMonth(2010, 6);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(YearMonth.class, str));
}
示例11
public void testMonthDay() {
MonthDay test = new MonthDay(6, 30);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("--06-30", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(MonthDay.class, str));
}
示例12
public void testMonthDay_leapDay() {
MonthDay test = new MonthDay(2, 29);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("--02-29", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(MonthDay.class, str));
}
示例13
public void testTimeZone() {
DateTimeZone test = DateTimeZone.forID("Europe/Paris");
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("Europe/Paris", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(DateTimeZone.class, str));
}
示例14
public void testDuration() {
Duration test = new Duration(12345678L);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("PT12345.678S", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Duration.class, str));
}
示例15
public void testPeriod() {
Period test = new Period(1, 2, 3, 4, 5, 6, 7, 8);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P1Y2M3W4DT5H6M7.008S", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Period.class, str));
}
示例16
public void testMutablePeriod() {
MutablePeriod test = new MutablePeriod(1, 2, 3, 4, 5, 6, 7, 8);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P1Y2M3W4DT5H6M7.008S", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(MutablePeriod.class, str));
}
示例17
public void testYears() {
Years test = Years.years(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P5Y", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Years.class, str));
}
示例18
public void testMonths() {
Months test = Months.months(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P5M", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Months.class, str));
}
示例19
public void testWeeks() {
Weeks test = Weeks.weeks(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P5W", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Weeks.class, str));
}
示例20
public void testDays() {
Days test = Days.days(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("P5D", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Days.class, str));
}
示例21
public void testHours() {
Hours test = Hours.hours(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("PT5H", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Hours.class, str));
}
示例22
public void testMinutes() {
Minutes test = Minutes.minutes(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("PT5M", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Minutes.class, str));
}
示例23
public void testSeconds() {
Seconds test = Seconds.seconds(5);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("PT5S", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(Seconds.class, str));
}
示例24
public void testDateMidnight() {
DateMidnight test = new DateMidnight(2010, 6, 30, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T00:00:00.000+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(DateMidnight.class, str));
}
示例25
public void testDateTime() {
DateTime test = new DateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:50.678+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(DateTime.class, str));
}
示例26
public void testMutableDateTime() {
MutableDateTime test = new MutableDateTime(2010, 6, 30, 2, 30, 50, 678, ISOChronology.getInstance(ZONE));
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:50.678+02:00", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(MutableDateTime.class, str));
}
示例27
public void testLocalDateTime() {
LocalDateTime test = new LocalDateTime(2010, 6, 30, 2, 30);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30T02:30:00.000", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDateTime.class, str));
}
示例28
public void testLocalDate() {
LocalDate test = new LocalDate(2010, 6, 30);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06-30", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalDate.class, str));
}
示例29
public void testLocalTime() {
LocalTime test = new LocalTime(2, 30, 50, 678);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("02:30:50.678", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(LocalTime.class, str));
}
示例30
public void testYearMonth() {
YearMonth test = new YearMonth(2010, 6);
String str = StringConvert.INSTANCE.convertToString(test);
assertEquals("2010-06", str);
assertEquals(test, StringConvert.INSTANCE.convertFromString(YearMonth.class, str));
}