in maven-tagdoc-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/tagdoc/TagdocReport.java [1436:1534]
private void _writeAccessibilityGuidelines(Writer out, ComponentBean bean) throws IOException
{
// accAttributes and accFacets are sorted lists of attributes and facets, respectively,
// that have an associated accessibility guideline
TreeSet<PropertyBean> accAttributes = new TreeSet<PropertyBean>();
TreeSet<String> accFacets = new TreeSet<String>();
// see if any of the component's properties has an associated accessibility guideline
Iterator<PropertyBean> attrs = bean.properties();
while (attrs.hasNext())
{
PropertyBean property = attrs.next();
if (!property.isTagAttributeExcluded() && property.hasAccessibilityGuidelines())
{
accAttributes.add(property);
}
}
// see if any of the component's facets has an associated accessibility guideline
if (bean.hasFacets())
{
Iterator<FacetBean> facets = bean.facets(true);
while (facets.hasNext())
{
FacetBean facetBean = facets.next();
if (!facetBean.isHidden() && facetBean.hasAccessibilityGuidelines())
{
accFacets.add(facetBean.getFacetName());
}
}
}
// if neither the component nor the component's attributes nor the component's facets
// has an accessibility guideline, return
if (!bean.hasAccessibilityGuidelines() && accAttributes.isEmpty() && accFacets.isEmpty())
return;
String accGuideline;
// Write header
out.write(" <section name=\"Accessibility Guideline(s)\">\n");
out.write(" <p>\n");
out.write(" <html>\n");
out.write(" <ul>");
// write out component-generic accessibility guidelines, i.e. accessibility
// guidelines that apply to the component as a whole, not associated with a
// specific attribute
if (bean.hasAccessibilityGuidelines())
{
Iterator<String> iter = bean.accessibilityGuidelines();
while (iter.hasNext())
{
accGuideline = iter.next();
_writeAccessibilityGuideline(out, "", accGuideline);
}
}
// Write out attribute-specific accessibility guidelines. Each attribute can have
// one or more associated accessibility guidelines.
if (!accAttributes.isEmpty())
{
Iterator<PropertyBean> propIter = accAttributes.iterator();
while (propIter.hasNext())
{
PropertyBean property = propIter.next();
Iterator<String> propAccIter = property.accessibilityGuidelines();
while (propAccIter.hasNext())
{
accGuideline = propAccIter.next();
_writeAccessibilityGuideline(out, property.getPropertyName() + " attribute", accGuideline);
}
}
}
// Write out facet-specific accessibility guidelines. A facet in the accFacets iterator
// can have one or more associated accessibility guidelines
if (!accFacets.isEmpty())
{
Iterator<String> facetIter = accFacets.iterator();
while (facetIter.hasNext())
{
String facetName = facetIter.next();
FacetBean facet = bean.findFacet(facetName, true);
Iterator<String> facetAccIter = facet.accessibilityGuidelines();
while (facetAccIter.hasNext())
{
accGuideline = facetAccIter.next();
_writeAccessibilityGuideline(out, facetName + " facet", accGuideline);
}
}
}
out.write(" </ul>");
out.write(" </html>\n");
out.write(" </p>\n");
out.write(" </section>\n");
}