org.figure8.join.businessfacades.artifact
Interface ArtifactManager

All Known Implementing Classes:
DefaultArtifactManager

public interface ArtifactManager

This is a business facade interface allowing to manage the software project artifacts and their categories (aka. DeliverableTypes and ComponentTypes).
Implementation of this methods should define how artifacts and their categories are created, updated and retrieved. It may also defined how and when artifacts are stored within their Repository. Such repositories are initialized by container and passed to implementations.

Version:
$Revision: 1.3 $
Author:
Laurent Broudoux
See Also:
Repository

Method Summary
 void bindComponent(Component component, Assembly assembly)
          Bind a component to an existing assembly.
 Component getComponent(java.lang.String key)
          Get a component having this specified key.
 java.util.List getComponents(ComponentType type, Release release)
          Retrieve a list of components corresponding to the specified type and created into release
 ComponentType getComponentType(java.lang.String key)
          Get a component category having the specified key.
 java.util.List getComponentTypes()
          Retrieve the component types (or category) of software.
 java.util.List getContainedComponents(ComponentType type, Release release)
          Retrieve a list of components of the specified type and contained into release
 Deliverable getDeliverable(java.lang.String key)
          Get a deliverable having this specified key.
 java.util.List getDeliverables(DeliverableType type, Release release)
          Retrieve a list of deliverables corresponding to the specified type for this release
 DeliverableType getDeliverableType(java.lang.String key)
          Get a deliverable type having the specified key.
 java.util.List getDeliverableTypes()
          Retrieve the deliverable types (or category) of software.
 java.util.List getLastDeliverables(DeliverableType type, int maxResult)
          Retrieve a list of deliverables corresponding to the specified type
 void registerDeliverable(Deliverable deliverable, java.io.InputStream content)
          Create a deliverable within datastore and register its content.
 void saveComponentType(ComponentType type)
          Save a component type within datastore
 void saveDeliverable(Deliverable deliverable)
          Save a deliverable within datastore.
 void saveDeliverableType(DeliverableType type)
          Save a deliverable type within datastore.
 void setDeliverablesRepository(Repository repository)
          Set the repository to use for storing deliverables.
 

Method Detail

bindComponent

void bindComponent(Component component,
                   Assembly assembly)
Bind a component to an existing assembly. If component is not already registered, create it. And update its reference assembly (the one that first contains the component)

Parameters:
component - The component to bind to assembly
assembly - The assembly that is containing component

getComponent

Component getComponent(java.lang.String key)
Get a component having this specified key.

Parameters:
key - Unique business identifier of component to retrieve
Returns:
The component having this business key

getComponents

java.util.List getComponents(ComponentType type,
                             Release release)
Retrieve a list of components corresponding to the specified type and created into release

Parameters:
type - The component type of the components to retrieve
release - The release the components have been bound to
Returns:
A list of org.figure8.join.businessobjects.artifact.Components

getContainedComponents

java.util.List getContainedComponents(ComponentType type,
                                      Release release)
Retrieve a list of components of the specified type and contained into release

Parameters:
type - The component type of the components to retrieve
release - The release the components have been bound to
Returns:
A list of org.figure8.join.businessobjects.artifact.Components

saveComponentType

void saveComponentType(ComponentType type)
                       throws DuplicateEntityException
Save a component type within datastore

Parameters:
type - Type to save (create or update)
Throws:
DuplicateEntityException - if another type with same key already exists

getComponentType

ComponentType getComponentType(java.lang.String key)
Get a component category having the specified key.

Parameters:
key - Unique business identifier of the component type to retrieve
Returns:
ComponentType having this key

getComponentTypes

java.util.List getComponentTypes()
Retrieve the component types (or category) of software.

Returns:
List of available org.figure8.join.businessobjects.artifact.ComponentType

registerDeliverable

void registerDeliverable(Deliverable deliverable,
                         java.io.InputStream content)
                         throws InvalidParameterException,
                                DuplicateEntityException
Create a deliverable within datastore and register its content. The stream parameter may be null if deliverable content should be retrievied through a SCM extraction or some other mean ...

Parameters:
deliverable - The new deliverable to register within Join application
content - The stream containing deliverable content (if any)
Throws:
InvalidParameterException - if deliverable is already registered
DuplicateEntityException - if another deliverable with same key already exists

saveDeliverable

void saveDeliverable(Deliverable deliverable)
                     throws InvalidParameterException
Save a deliverable within datastore. This method should be used only for updating existing deliverables. They must have been first created using the registerDeliverable() method.

Parameters:
deliverable - The deliverable to save (just an update)
Throws:
InvalidParameterException - if deliverable has not been registered before

getDeliverable

Deliverable getDeliverable(java.lang.String key)
Get a deliverable having this specified key.

Parameters:
key - Unique business identifier of deliverable to retrieve
Returns:
The deliverable having this business key

getLastDeliverables

java.util.List getLastDeliverables(DeliverableType type,
                                   int maxResult)
Retrieve a list of deliverables corresponding to the specified type

Parameters:
type - The deliverable type of the deliverables to retrieve
maxResult - An int to limit the size of list returned
Returns:
A list of org.figure8.join.businessobjects.artifact.Deliverables

getDeliverables

java.util.List getDeliverables(DeliverableType type,
                               Release release)
Retrieve a list of deliverables corresponding to the specified type for this release

Parameters:
type - The deliverable type of the deliverables to retrieve
release - The release the deliverables have been bound to
Returns:
A list of org.figure8.join.businessobjects.artifact.Deliverables

setDeliverablesRepository

void setDeliverablesRepository(Repository repository)
Set the repository to use for storing deliverables. This repository is necessary when registering a new Deliverables.

Parameters:
repository - The repository for storing deliverables content

saveDeliverableType

void saveDeliverableType(DeliverableType type)
                         throws DuplicateEntityException
Save a deliverable type within datastore. If type is a newly created type, its key should a non existing one. Otherwise, a DuplicateEntityException will thrown. If type is already existing, the key is an immutable field an a runtime exception exception will be thrown if it has changed.

Parameters:
type - Type to save (create or update)
Throws:
DuplicateEntityException - if another type with same key already exists

getDeliverableType

DeliverableType getDeliverableType(java.lang.String key)
Get a deliverable type having the specified key.

Parameters:
key - Unique business identifier of the deliverable type to retrieve
Returns:
DeliverableType having this key

getDeliverableTypes

java.util.List getDeliverableTypes()
Retrieve the deliverable types (or category) of software.

Returns:
List of available org.figure8.join.businessobjects.artifact.DeliverableType


Copyright © 2005-2008 Join. All Rights Reserved.