1 /**
2 * Copyright 2005-2006 the original author or authors.
3 *
4 * Licensed under the Gnu General Pubic License, Version 2.0 (the
5 * "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/gpl-license.php
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the Gnu General Public License for more details.
14 */
15 package org.figure8.join.businessobjects.artifact.persistence;
16
17 import org.figure8.join.core.persistence.ObjectDao;
18 import org.figure8.join.businessobjects.commons.Release;
19 import org.figure8.join.businessobjects.artifact.Assembly;
20
21 import java.util.List;
22 /**
23 * Data Access interface for Assembly business objects.
24 * @author <a href="mailto:laurent.broudoux@free.fr">Laurent Broudoux</a>
25 * @version $Revision: 1.1 $
26 */
27 public interface AssemblyDao extends ObjectDao{
28
29
30
31 /**
32 * Retrieve all the assemblies produced for a spcified release
33 * @param release The release to retrieve assemblies for
34 * @return A list of <code>org.figure8.join.businessobjects.artifact.Assembly</code>s
35 */
36 public abstract List getAssembliesByRelease(Release release);
37
38 /**
39 * Retrieve assemblies composed by a specified user
40 * @param userId The unique identifier of the composer
41 * @return A list of <code>org.figure8.join.businessobjects.artifact.Assembly</code>s
42 */
43 public abstract List getAssembliesComposedByUser(String userId);
44
45 /**
46 * Retrieve assemblies having the deliverables specified into list
47 * @param deliverables The list of deliverables assemblies should have
48 * @return A list of <code>org.figure8.join.businessobjects.artifact.Assembly</code>s
49 */
50 public abstract List getAssembliesWithDeliverables(List deliverables);
51
52 /**
53 * Retrieve an Assembly using its unique key identifier
54 * @param key The unique key identifier of assembly to retrieve
55 * @return The Assembly corresponding to key or null if no assembly with this key exists
56 */
57 public abstract Assembly getAssembly(String key);
58 }