private TagInfo createTagInfo(TagXml tagXml) throws JasperException {
String teiClassName = tagXml.getTeiClass();
TagExtraInfo tei = null;
if (teiClassName != null && !teiClassName.isEmpty()) {
try {
Class<?> teiClass = ctxt.getClassLoader().loadClass(teiClassName);
tei = (TagExtraInfo) teiClass.getConstructor().newInstance();
} catch (Exception e) {
err.jspError(e, "jsp.error.teiclass.instantiation", teiClassName);
}
}
List<TagAttributeInfo> attributeInfos = tagXml.getAttributes();
List<TagVariableInfo> variableInfos = tagXml.getVariables();
return new TagInfo(tagXml.getName(),
tagXml.getTagClass(),
tagXml.getBodyContent(),
tagXml.getInfo(),
this,
tei,
attributeInfos.toArray(new TagAttributeInfo[attributeInfos.size()]),
tagXml.getDisplayName(),
tagXml.getSmallIcon(),
tagXml.getLargeIcon(),
variableInfos.toArray(new TagVariableInfo[variableInfos.size()]),
tagXml.hasDynamicAttributes());
}