应用程序属性
应用程序属性是一种能够和运行时实例相关联(通过Velocity引擎或者Velocity单例)的键值对。它可以被Velocity引擎中任何运行时实例访问。这个特性是为了在应用层和Velocity引擎的特定部件之间通信的应用程序而设计的,比如日志记录器,资源加载器,资源管理器 。
应用程序属性的API非常的简单。在应用层,Velocity引擎和Velocity类中都有下面这个方法:
public void setApplicationAttribute( Object key, Object value );
通过这个方法,应用程序可以在程序指定的key下存储一个对象。这方法对于key和value都是没有限制的。而且可以在任何时候设置一个键的值,并不要求在init()方法被调用之前设置键值。如果内部组件能够通过运行时服务接口访问到对象,那它可以用下面这个方法访问键值对:
public Object getApplicationAttribute( Object key );
要注意的是内部组件不能写一个key,只能通过key取值。如果内部组件一定要传递消息给应用层,那它必须通过给对象赋值来传递消息给应用层。