diff --git a/projects/typetools/src/main/java/org/nohope/typetools/TTime.java b/projects/typetools/src/main/java/org/nohope/typetools/TTime.java index 2df04bd..9acbbac 100644 --- a/projects/typetools/src/main/java/org/nohope/typetools/TTime.java +++ b/projects/typetools/src/main/java/org/nohope/typetools/TTime.java @@ -17,6 +17,15 @@ */ public final class TTime { public static final String UTC_ID = "UTC"; + private static final DatatypeFactory datatypeFactory; + + static { + try { + datatypeFactory = DatatypeFactory.newInstance(); + } catch (DatatypeConfigurationException e) { + throw new RuntimeException(e); + } + } private TTime() { } @@ -62,11 +71,6 @@ public static XMLGregorianCalendar toXmlCalendar(final Date date, final String t final GregorianCalendar calendar = new GregorianCalendar(); calendar.setTimeZone(TimeZone.getTimeZone(timezoneId)); calendar.setTime(date); - - try { - return DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar); - } catch (DatatypeConfigurationException e) { - throw new IllegalStateException(e); - } + return datatypeFactory.newXMLGregorianCalendar(calendar); } }