{
final JDefinedClass of = p.objectFactory();
// createCalendar
final JMethod createCalendar = of.method( JMod.STATIC, cm.ref( Calendar.class ), "createCalendar" );
JVar value = createCalendar.param( JMod.FINAL, XMLGregorianCalendar.class, "value" );
createCalendar.body().directStatement( "// " + getMessage( "title" ) );
createCalendar.body()._return(
JOp.cond( value.eq( JExpr._null() ), JExpr._null(), value.invoke( "toGregorianCalendar" ) ) );
createCalendar.javadoc().append( "Creates a " + Calendar.class.getName() + " instance from a "
+ XMLGregorianCalendar.class.getName() + " instance." );
createCalendar.javadoc().addParam( value ).append(
"The " + XMLGregorianCalendar.class.getName() + " instance or {@code null}." );
createCalendar.javadoc().addReturn().append(
"A " + Calendar.class.getName() + " instance created from {@code " + value.name()
+ "} or {@code null} if {@code " + value.name() + "} is {@code null}." );
// createXMLGregorianCalendar
final JMethod createXMLGregorianCalendar =
of.method( JMod.STATIC, XMLGregorianCalendar.class, "createXMLGregorianCalendar" );
createXMLGregorianCalendar.body().directStatement( "// " + getMessage( "title" ) );
value = createXMLGregorianCalendar.param( JMod.FINAL, Calendar.class, "value" );
final JTryBlock tryBlock = createXMLGregorianCalendar.body()._try();
final JConditional notNull = tryBlock.body()._if( value.ne( JExpr._null() ) );
final JVar calendar = notNull._then().decl( cm.ref( GregorianCalendar.class ), "calendar" );
calendar.init( JExpr._new( cm.ref( GregorianCalendar.class ) ) );
notNull._then().add( calendar.invoke( "setTimeZone" ).arg( value.invoke( "getTimeZone" ) ) );
notNull._then().add( calendar.invoke( "setTimeInMillis" ).arg( value.invoke( "getTimeInMillis" ) ) );
notNull._then()._return( cm.ref( DatatypeFactory.class ).staticInvoke( "newInstance" ).invoke(
"newXMLGregorianCalendar" ).arg( calendar ) );
tryBlock.body()._return( JExpr._null() );