/*
* $Id: NamespaceImpl.java,v 1.14 2002/09/16 08:05:03 jkl Exp $
*
* Copyright (c) 2002 Njet Communications Ltd. All Rights Reserved.
*
* Use is subject to license terms, as defined in
* Anvil Sofware License, Version 1.1. See LICENSE
* file, or http://njet.org/license-1.1.txt
*/
package anvil.script;
import anvil.java.util.BindingEnumeration;
import anvil.core.Any;
import anvil.core.runtime.AnyFunction;
import anvil.java.util.Hashlist;
/**
* class NamespaceImpl
*
* @author: Jani Lehtim�ki
*/
public class NamespaceImpl implements Namespace
{
private Hashlist _namespace = new Hashlist();
public NamespaceImpl()
{
}
public NamespaceImpl(Hashlist variables)
{
_namespace = variables;
}
public void destroy()
{
_namespace.clear();
_namespace = null;
}
public String getName()
{
return "<unnamed>";
}
public BindingEnumeration getVariables()
{
return _namespace.keysAndElements();
}
public Any getVariable(String name)
{
Any value = (Any)_namespace.get(name);
return (value != null) ? value : Any.UNDEFINED;
}
public Any setVariable(String name, Any value)
{
_namespace.put(name, value);
return value;
}
public Any checkVariable(String name)
{
Any value = (Any)_namespace.get(name);
if (value != null) {
return value;
} else {
return Any.UNDEFINED;
}
}
public boolean deleteVariable(String name)
{
return (_namespace.remove(name) != null);
}
}