/******************************************************************************* * Copyright (c) 2016 Weasis Team and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nicolas Roduit - initial API and implementation *******************************************************************************/ package org.weasis.dicom.codec.macro; import java.util.ArrayList; import java.util.Collection; import org.dcm4che3.data.Attributes; import org.dcm4che3.data.Sequence; import org.dcm4che3.data.Tag; import org.dcm4che3.data.VR; public class SeriesAndInstanceReference extends Module { public SeriesAndInstanceReference(Attributes dcmItems) { super(dcmItems); } public SeriesAndInstanceReference() { super(new Attributes()); } public static Collection<SeriesAndInstanceReference> toSeriesAndInstanceReferenceMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SeriesAndInstanceReference> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SeriesAndInstanceReference(attr)); } return list; } public String getSeriesInstanceUID() { return dcmItems.getString(Tag.SeriesInstanceUID); } public void setSeriesInstanceUID(String uid) { dcmItems.setString(Tag.SeriesInstanceUID, VR.UI, uid); } public String getRetrieveAETitle() { return dcmItems.getString(Tag.RetrieveAETitle); } public void setRetrieveAETitle(String ae) { dcmItems.setString(Tag.RetrieveAETitle, VR.AE, ae); } public String getStorageMediaFileSetID() { return dcmItems.getString(Tag.StorageMediaFileSetID); } public void setStorageMediaFileSetID(String sh) { dcmItems.setString(Tag.StorageMediaFileSetID, VR.SH, sh); } public String getStorageMediaFileSetUID() { return dcmItems.getString(Tag.StorageMediaFileSetUID); } public void setStorageMediaFileSetUID(String uid) { dcmItems.setString(Tag.StorageMediaFileSetUID, VR.UI, uid); } public Collection<SOPInstanceReferenceAndMAC> getReferencedSOPInstances() { return SOPInstanceReferenceAndMAC .toSOPInstanceReferenceAndMacMacros(dcmItems.getSequence(Tag.ReferencedSOPSequence)); } public void setReferencedSOPInstances(Collection<SOPInstanceReferenceAndMAC> referencedSOPInstances) { updateSequence(Tag.ReferencedSOPSequence, referencedSOPInstances); } }