|
LuxorDefaultVelocityContext |
|
/* ** Luxor - XML User Interface Language (XUL) Toolkit ** Copyright (c) 2001, 2002 by Gerald Bauer ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** General Public License as published by the Free Software Foundation. ** Version 2 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ package luxor.template; import java.util.*; import org.apache.velocity.context.AbstractContext; import org.apache.velocity.context.Context; import luxor.status.*; public class LuxorDefaultVelocityContext extends AbstractContext { static Logger T = Logger.getLogger( LuxorDefaultVelocityContext.class ); // private ProfileProperties _props; private Properties _props; public LuxorDefaultVelocityContext() { super(); // _props = ProfileManager.getProfileManager().getProperties(); _props = new Properties( System.getProperties() ); } public boolean internalContainsKey( Object key ) { T.debug( "contains(" + key + ")" ); String value = _props.getProperty( ( String ) key ); return value != null; } public Object internalGet( String key ) { // todo: add check for date // returns date dynamically T.debug( "get(" + key + ")" ); // convert key to a property key // e.g. user-name -> user.name String propertyKey = key.replace( '-', '.' ); return _props.getProperty( propertyKey ); } public Object[] internalGetKeys() { // todo: make it more clear, that this op is not supported // do i have to? T.debug( "getKeys()" ); return null; } public Object internalPut( String key, Object value ) { T.debug( "put(" + key + "," + value + ")" ); // todo: this shouldn't happen; make it not supported _props.setProperty( key, ( String ) value ); return null; } public Object internalRemove( Object key ) { // todo: make it more clear, that this op is not supported // do i have to? T.debug( "remove(" + key + ")" ); return null; } }
|
LuxorDefaultVelocityContext |
|