public Object newChild(JASPIAuthenticationInfo info, UnmarshallingContext navigator, String namespaceUri,
String localName, Attributes attrs)
{
Object child = null;
if (trace)
log.trace("newChild.AuthenticationJaspiInfo, localName: " + localName);
if ("login-module-stack".equals(localName))
{
String lmsName = attrs.getValue("name");
lmsName = StringPropertyReplacer.replaceProperties(lmsName.trim());
child = new LoginModuleStackHolder(lmsName, null);
if (trace)
log.trace("newChild.AuthenticationInfo, login-module-stack: " + lmsName);
}
else if ("auth-module".equals(localName))
{
String code = attrs.getValue("code");
AuthModuleEntry authModuleEntry = new AuthModuleEntry(code, null, null);
String flag = attrs.getValue("flag");
authModuleEntry.setControlFlag(getControlFlag(flag));
String lmsRef = attrs.getValue("login-module-stack-ref");
if (lmsRef != null)
authModuleEntry.setLoginModuleStackHolder(info.getLoginModuleStackHolder(lmsRef));
child = authModuleEntry;
}
return child;
}