// final IProjectFacetVersion version = JSFAppConfigUtils
// .getProjectFacet(_project);
// final String versionAsString = version.getVersionString();
// final JSFVersion jsfVersion = JSFVersion.valueOfString(versionAsString);
final TagIdentifier tagId = TagIdentifierFactory
.createTLDTagWrapper(elementDecl);
// final DefaultTagTypeInfo defaultTagTypeInfo = new DefaultTagTypeInfo();
final TagMapping mapping = _loader.getTagToViewMapping(tagId);
TypeInfo elementType = null;
if (mapping != null)
{
elementType = findTypeInfo(mapping, "1.1", null); //$NON-NLS-1$
}
if (elementType instanceof ComponentTypeInfo)
{
return new TLDComponentTagElement(elementDecl,
(ComponentTypeInfo) elementType,
new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
}
else if (elementType instanceof ConverterTypeInfo)
{
return new TLDConverterTagElement(elementDecl,
(ConverterTypeInfo) elementType,
new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
}
else if (elementType instanceof ValidatorTypeInfo)
{
return new TLDValidatorTagElement(elementDecl,
(ValidatorTypeInfo) elementType,
new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
}
else if (elementType instanceof TagHandlerType)
{
return new TLDTagHandlerElement(elementDecl,
(TagHandlerType) elementType,
new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
}
else if (DefaultTagTypeInfo.isDefaultLib(tagId.getUri()))
{
return new TLDTagElement(elementDecl, new NullAttributeAdvisor());
}
// not found