private SequenceMethodInfo getSequenceInfo ( Stream < XsdAbstractElement > xsdElements , String className , int interfaceIndex , int unnamedIndex , String apiName , String groupName ) { List < XsdAbstractElement > xsdElementsList = xsdElements . collect ( Collectors . toList ( ) ) ; SequenceMethodInfo sequenceMethodInfo = new SequenceMethodInfo ( xsdElementsList . stream ( ) . filter ( element -> ! ( element instanceof XsdSequence ) ) . collect ( Collectors . toList ( ) ) , interfaceIndex , unnamedIndex ) ; for ( XsdAbstractElement element : xsdElementsList ) { if ( element instanceof XsdElement ) { String elementName = ( ( XsdElement ) element ) . getName ( ) ; if ( elementName != null ) { sequenceMethodInfo . addElementName ( elementName ) ; } else { sequenceMethodInfo . addElementName ( className + "SequenceUnnamed" + sequenceMethodInfo . getUnnamedIndex ( ) ) ; sequenceMethodInfo . incrementUnnamedIndex ( ) ; } } else { if ( element instanceof XsdSequence ) { sequenceMethodInfo . receiveChildSequence ( getSequenceInfo ( element . getXsdElements ( ) , className , interfaceIndex , unnamedIndex , apiName , groupName ) ) ; } else { InterfaceInfo interfaceInfo = iterativeCreation ( element , className , interfaceIndex + 1 , apiName , groupName ) . get ( 0 ) ; sequenceMethodInfo . setInterfaceIndex ( interfaceInfo . getInterfaceIndex ( ) ) ; sequenceMethodInfo . addElementName ( interfaceInfo . getInterfaceName ( ) ) ; } } } return sequenceMethodInfo ; }
Obtains information about all the members that make up the sequence .