in trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/metadata/RegionMetadata.java [247:315]
public void startElement(String uri,
String localName,
String qName,
Attributes atts)
{
switch(_state)
{
case _STATE_INIT:
if (!_changeState(localName, "faces-config", _STATE_FACES_CONFIG))
{
_unexpected(localName);
}
break;
case _STATE_FACES_CONFIG:
if (_changeState(localName, "component", _STATE_COMP))
{
assert _comp == null;
_comp = new ComponentMetaData();
}
else
{
_skip(localName);
}
break;
case _STATE_COMP:
if (_changeState(localName, "attribute", _STATE_ATTR))
{
assert _attr == null;
_attr = new AttributeMetaData();
}
else if (!(_changeState(localName, _COMP_TYPE_TAG, _STATE_COMP_TYPE) ||
_changeState(localName, "component-extension", _STATE_COMP_EXT)))
{
_skip(localName);
}
break;
case _STATE_COMP_TYPE:
case _STATE_ATTR_CLASS:
case _STATE_ATTR_NAME:
case _STATE_REQUIRED:
case _STATE_DEFAULT_VALUE:
case _STATE_REGION_DEF:
_unexpected(localName);
break;
case _STATE_COMP_EXT:
if (!_changeState(localName, _REGION_DEF_JSP_TAG, _STATE_REGION_DEF))
_skip(localName);
break;
case _STATE_ATTR:
if (!(_changeState(localName, "attribute-name", _STATE_ATTR_NAME) ||
_changeState(localName, "attribute-class", _STATE_ATTR_CLASS) ||
_changeState(localName, "attribute-extension", _STATE_ATTR_EXT) ||
_changeState(localName, "default-value", _STATE_DEFAULT_VALUE)))
{
_skip(localName);
}
break;
case _STATE_ATTR_EXT:
_changeState(localName, "required", _STATE_REQUIRED);
break;
case _STATE_SKIP:
if (localName.equals(_skipElement))
{
throw new UnsupportedOperationException(_LOG.getMessage(
"REGION_METADATA_CANNOT_NEST",localName));
}
break;
}
}