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));
}