package net.sourceforge.seqware.common.business; import java.util.List; import java.util.Map; import net.sourceforge.seqware.common.model.Sample; /** * <p> * LibraryService interface. * </p> * * @author boconnor * @version $Id: $Id */ public interface LibraryService { /** * Returns a complete list of libraries. A library is a particular kind of Sample that has been run or is eligible to run on a * sequencer. * * @return All libraries. */ public List<Sample> getLibraries(); /** * Returns a list of libraries that match all attributes provided in the give attributes Map. Attributes may occur anywhere in the * hierarchy, from the library itself all the way to the root. * * @param attributes * A Map of attributes. * @return A list of libraries. */ public List<Sample> getLibraries(Map<String, String> attributes); /** * Returns library matching given SeqWare Accession. * * @param swAccession * SeqWare Accession. * @return Library */ public Sample findBySWAccession(Long swAccession); }