View Javadoc

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     // Public -------------------------------------------------------------------
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  }