}
if( versionFunction == null )
{
versionFunction = Literal.NULL;
this.versionedFunctionResult = versionFunction.evaluate( new FunctionContext() );
}
else
{
versionFunction = FailSafeFunction.create( versionFunction, Literal.create( Version.class ), null );
this.versionFunctionResult = versionFunction.evaluate( new ModelElementFunctionContext( element ) );
this.versionFunctionResult.attach
(
new Listener()
{
@Override
public void handle( final Event event )
{
refresh();
}
}
);
}
Function versionedFunction = null;
try
{
versionedFunction = ExpressionLanguageParser.parse( versionCompatibilityTargetAnnotation.versioned() );
}
catch( Exception e )
{
Sapphire.service( LoggingService.class ).log( e );
}
if( versionedFunction == null )
{
versionedFunction = Literal.NULL;
this.versionedFunctionResult = versionedFunction.evaluate( new FunctionContext() );
}
else
{
versionedFunction = FailSafeFunction.create( versionedFunction, Literal.create( String.class ), null );