[jboss-cvs] jboss-seam/src/main/org/jboss/seam ...
Gavin King
gavin.king at jboss.com
Wed Nov 29 21:09:59 EST 2006
User: gavin
Date: 06/11/29 21:09:59
Added: src/main/org/jboss/seam Namespace.java
Log:
qualified names with . instead of $ in EL
Revision Changes Path
1.1 date: 2006/11/30 02:09:59; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/Namespace.java
Index: Namespace.java
===================================================================
package org.jboss.seam;
import java.util.AbstractMap;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Namespace extends AbstractMap<String, Object>
{
public Namespace(String name)
{
this.name = name;
}
private String name;
private Map<String, Namespace> children = new HashMap<String, Namespace>();
@Override
public Set entrySet()
{
throw new UnsupportedOperationException();
}
@Override
public Set<String> keySet()
{
throw new UnsupportedOperationException();
}
@Override
public int size()
{
throw new UnsupportedOperationException();
}
@Override
public Object get(Object key)
{
String qualifiedName = name==null ? key.toString() : name + key.toString();
Object component = Component.getInstance(qualifiedName, true);
return component==null ? children.get(key) : component;
}
public Namespace getChild(String key)
{
return children.get(key);
}
public boolean hasChild(String key)
{
return children.containsKey(key);
}
@Override
public boolean containsKey(Object key)
{
return get(key)!=null;
}
@Override
public boolean containsValue(Object value)
{
throw new UnsupportedOperationException();
}
@Override
public void clear()
{
throw new UnsupportedOperationException();
}
@Override
public Object remove(Object key)
{
throw new UnsupportedOperationException();
}
@Override
public Collection<Object> values()
{
throw new UnsupportedOperationException();
}
@Override
public void putAll(Map<? extends String, ? extends Object> t)
{
throw new UnsupportedOperationException();
}
public void addChild(String name, Namespace value)
{
children.put(name, value);
}
@Override
public Object put(String name, Object value)
{
throw new UnsupportedOperationException();
}
@Override
public int hashCode()
{
return name==null ? 0 : name.hashCode();
}
@Override
public boolean equals(Object other)
{
if ( !(other instanceof Namespace) )
{
return false;
}
else
{
Namespace ns = (Namespace) other;
return this.name==ns.name ||
( this.name!=null && this.name.equals(ns.name) );
}
}
}
More information about the jboss-cvs-commits
mailing list