/* DigiDoc4J library * * This software is released under either the GNU Library General Public * License (see LICENSE.LGPL). * * Note that the only valid version of the LGPL license as far as this * project is concerned is the original GNU Library General Public License * Version 2.1, February 1999 */ package org.digidoc4j.impl.bdoc.asic; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import org.digidoc4j.DataFile; import eu.europa.esig.dss.DSSDocument; public class DetachedContentCreator { private DSSDocument firstDetachedContent; private List<DSSDocument> detachedContentList; public DetachedContentCreator populate(Collection<DataFile> dataFiles) { detachedContentList = new ArrayList<>(dataFiles.size()); if(dataFiles.isEmpty()) { return this; } populateDetachedContent(dataFiles); return this; } private void populateDetachedContent(Collection<DataFile> dataFiles) { Iterator<DataFile> dataFileIterator = dataFiles.iterator(); firstDetachedContent = dataFileIterator.next().getDocument(); DSSDocument lastDetachedContent = firstDetachedContent; detachedContentList.add(firstDetachedContent); while (dataFileIterator.hasNext()) { DataFile dataFile = dataFileIterator.next(); DSSDocument document = dataFile.getDocument(); lastDetachedContent.setNextDocument(document); lastDetachedContent = document; detachedContentList.add(document); } } public List<DSSDocument> getDetachedContentList() { return detachedContentList; } public DSSDocument getFirstDetachedContent() { return firstDetachedContent; } }