/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.datamanagement.commons; import java.io.Serializable; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; /** * Container for an ordered set of results yielded by a * {@link de.rcenvironment.core.datamanagement.QueryService#executeMetaDataQuery( * de.rcenvironment.rce.authentication.ProxyCertificate, * de.rcenvironment.rce.datamanagement.commons.Query, Integer, Integer)}. * * @author Christian Weiss */ public class MetaDataResultList implements Serializable, Iterable<MetaDataResult> { private static final long serialVersionUID = 6743652931478165820L; private final List<MetaDataResult> results = new LinkedList<MetaDataResult>(); /** * Appends a {@link MetaDataResult} to the list. * * @param result {@link MetaDataResult} to append */ public void add(final MetaDataResult result) { results.add(result); } /** * Returns the {@link MetaDataResult} with the given ID. * * @param id The ID of the desired {@link MetaDataResult}. * @return The {@link MetaDataResult} with the given ID. */ public MetaDataResult getResultById(final UUID id) { for (final MetaDataResult result : this) { if (result.getId().equals(id)) { return result; } } throw new NoSuchElementException(); } /** * The number of {@link MetaDataResult}s in the list. * * @return the number of {@link MetaDataResult} */ public int size() { return results.size(); } @Override public Iterator<MetaDataResult> iterator() { return results.iterator(); } }