public void startSeries()

in SdmxDataParser/src/main/java/org/sdmxsource/sdmx/dataparser/engine/writer/GenericDataWriterEngine.java [107:192]


    public void startSeries(AnnotationBean... annotations) {
        super.startSeries();
        if (isFlat) {
            componentVals = new LinkedHashMap<String, String>();

            try {
                if (currentPosition != null) {
                    switch (currentPosition) {
                        case OBSERVATION:
                            writeEndObs();
                            break;
                        case OBSERVATION_ATTRIBUTE:
                            seriesWriter.writeEndElement(); //END ATTRIBUTES
                            writeEndObs();
                            break;
                        case SERIES_KEY_ATTRIBUTE:
                        case SERIES_KEY:
                            //DO NOTHING
                            break;
                        case GROUP:
                            writeEndGroup();
                            break;
                        case GROUP_KEY_ATTRIBUTE:
                            writer.writeEndElement(); //END ATTRIBUTES
                            writeEndGroup();
                            break;
                    }
                }
            } catch (XMLStreamException e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }

            currentPosition = POSITION.SERIES_KEY;
        } else {
            try {
                if (currentPosition != null) {
                    //WE HAVE NOT YET WRITTEN ANYTHING, CHECK WHERE WE ARE AND CLOSE OFF NODES
                    switch (currentPosition) {
                        case DATASET_ATTRIBUTE:
                            writer.writeEndElement();
                            break;
                        case OBSERVATION:
                            writeEndObs();
                            writeEndSeries();
                            break;
                        case OBSERVATION_ATTRIBUTE:
                            seriesWriter.writeEndElement(); //END ATTRIBUTES
                            writeEndObs();
                            writeEndSeries();
                            break;
                        case SERIES_KEY_ATTRIBUTE:
                            seriesWriter.writeEndElement(); //END ATTRIBUTES
                            writeEndSeries();
                            break;
                        case SERIES_KEY:
                            seriesWriter.writeEndElement(); //END SERIES KEY
                            writeEndSeries();
                            break;
                        case GROUP:
                            writeEndGroup();
                            break;
                        case GROUP_KEY:
                            writer.writeEndElement(); //END GROUP KEY
                            writeEndGroup();
                            break;
                        case GROUP_KEY_ATTRIBUTE:
                            writer.writeEndElement(); //END ATTRIBUTES
                            writeEndGroup();
                            break;
                    }
                }
                startElement(seriesWriter, GENERIC_NS, "Series");  //WRITE THE START SERIES
                if (isTwoPointOne()) {
                    writeAnnotations(seriesWriter, annotations);
                } else {
                    seriesAnnotations = annotations;
                }
                startElement(seriesWriter, GENERIC_NS, "SeriesKey");  //WRITE THE START SERIES KEY
                currentPosition = POSITION.SERIES_KEY;
            } catch (XMLStreamException e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
    }