void parseStartElement()
throws ThreddsXmlParserException
{
// ThreddsMetadata container object only, no self element exists!
// So peek at next event to see how to route it.
StartElement startElement = this.peekAtNextEventIfStartElement();
if ( this.serviceNameParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.serviceNameParserFactory.getNewParser( this.reader, this.builderFactory,
this.selfBuilder,
this.parentDatasetNodeElementParserHelper,
this.inheritedByDescendants );
else if ( this.dataFormatParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.dataFormatParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.dataTypeParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.dataTypeParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.dateParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.dateParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.authorityParserFactory.isEventMyStartElement( startElement ) )
{
this.delegate = this.authorityParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder,
this.parentDatasetNodeElementParserHelper,
this.inheritedByDescendants );
}
else if ( this.documentationParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.documentationParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.keyphraseParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.keyphraseParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.projectNameParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.projectNameParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.creatorParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.creatorParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.publisherParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.publisherParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.contribParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.contribParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.timeCovParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.timeCovParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else if ( this.variableGroupParserFactory.isEventMyStartElement( startElement ) )
this.delegate = this.variableGroupParserFactory.getNewParser( this.reader, this.builderFactory, this.selfBuilder );
else
throw new ThreddsXmlParserException( "Not a recognized ThreddsMetadata child element [" + startElement.getName().getLocalPart() + "]." );
this.delegate.parseStartElement();
}