in velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/ValueParser.java [708:740]
public ValueParser getSubkey(String subkey)
{
if (!hasSubkeys() || subkey == null || subkey.length() == 0)
{
return null;
}
Map<String,Object> values = null;
subkey = subkey.concat(".");
for (Map.Entry<String,Object> entry : getSource().entrySet())
{
if (entry.getKey().startsWith(subkey) &&
entry.getKey().length() > subkey.length())
{
if (values == null)
{
values = new HashMap<String, Object>();
}
values.put(entry.getKey().substring(subkey.length()),entry.getValue());
}
}
if (values == null)
{
return null;
}
else
{
ValueParser ret = new ValueParser(values);
/* honnor readOnly option on submaps */
ret.setReadOnly(getReadOnly());
return ret;
}
}