private List extractMetaDataLines()

in FlexPMD/flex-pmd-java/flex-pmd-files/src/main/java/com/adobe/ac/pmd/files/impl/MxmlFile.java [216:251]


   private List< String > extractMetaDataLines()
   {
      final ArrayList< String > metaDataLines = new ArrayList< String >();
      int currentLineIndex = 0;
      int start = 0;
      int end = 0;

      for ( final String line : getLines() )
      {
         if ( line.contains( METADATA_TAG ) )
         {
            if ( line.contains( "</" ) )
            {
               end = currentLineIndex
                     - ( getLines().get( currentLineIndex - 1 ).contains( "]]>" ) ? 1
                                                                                 : 0 );
               if ( line.contains( "<fx" )
                     || line.contains( "<mx" ) )
               {
                  start = end;
               }
               break;
            }
            if ( line.contains( "<" ) )
            {
               start = currentLineIndex
                     + ( getLines().get( currentLineIndex + 1 ).contains( "CDATA[" ) ? 2
                                                                                    : 1 );
            }
         }
         currentLineIndex++;
      }
      metaDataLines.addAll( getLines().subList( start,
                                                end ) );
      return metaDataLines;
   }