o Added some API docs

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@781120 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-06-02 18:49:44 +00:00
parent 370660ec9a
commit 34dfd48922
1 changed files with 25 additions and 0 deletions

View File

@ -24,14 +24,39 @@ import java.io.File;
import org.apache.maven.model.resolution.ModelResolver;
/**
* Builds the effective model from a POM.
*
* @author Benjamin Bentmann
*/
public interface ModelBuilder
{
/**
* Builds the effective model of the specified POM file. Note that this method overload is meant to build the
* effective model for the build process of a project. Hence the effective model supports the notion of a project
* directory.
*
* @param pomFile The POM file of the project to build the effective model from, must not be {@code null}.
* @param request The model building request that holds further settings, must not be {@code null}.
* @param modelResolver The model resolver used to resolve parent POMs that are not locally reachable from the
* project directory, must not be {@code null}.
* @return The result of the model building, never {@code null}.
* @throws ModelBuildingException If the effective model could not be built.
*/
ModelBuildingResult build( File pomFile, ModelBuildingRequest request, ModelResolver modelResolver )
throws ModelBuildingException;
/**
* Builds the effective model for the specified POM. In contrast to
* {@link #build(File, ModelBuildingRequest, ModelResolver)} the resulting model does not support the notion of a
* project directory. As a consequence, parent POMs are always resolved via the provided model resolver.
*
* @param modelSource The source of the POM, must not be {@code null}.
* @param request The model building request that holds further settings, must not be {@code null}.
* @param modelResolver The model resolver used to resolve parent POMs, must not be {@code null}.
* @return The result of the model building, never {@code null}.
* @throws ModelBuildingException If the effective model could not be built.
*/
ModelBuildingResult build( ModelSource modelSource, ModelBuildingRequest request, ModelResolver modelResolver )
throws ModelBuildingException;