@Override
public Object exec( @SuppressWarnings( "rawtypes" ) List arguments ) throws TemplateModelException
{
int argsSize = arguments.size( );
if ( argsSize < 1 )
{
throw new TemplateModelException( "Must be called with at least one argument (the message key)" );
}
String key = ( (TemplateScalarModel) arguments.get( 0 ) ).getAsString( );
Locale locale = Environment.getCurrentEnvironment( ).getLocale( );
if ( argsSize == 1 )
{
// no arguments, the message is not a MessageFormat
return getPattern( key, locale );
}
Object [ ] args = new Object [ argsSize - 1];
for ( int i = 1; i < argsSize; i++ )
{
TemplateModel arg = (TemplateModel) arguments.get( i );
if ( arg instanceof TemplateScalarModel )
{
args [i - 1] = ( (TemplateScalarModel) arg ).getAsString( );
}
else
if ( arg instanceof TemplateNumberModel )
{
args [i - 1] = ( (TemplateNumberModel) arg ).getAsNumber( );
}
else
if ( arg instanceof TemplateDateModel )
{
args [i - 1] = ( (TemplateDateModel) arg ).getAsDate( );
}
else
{
throw new TemplateModelException( "Unsupported argument type : " + arg );
}
}
return new MessageFormat( getPattern( key, locale ), locale ).format( args, new StringBuffer( ), null ).toString( );
}
AbstractMessageFormatTemplateMethod.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:lutece-core
作者:
评论列表
文章目录