org.apache.maven.model.building
Interface ModelBuildingRequest

All Known Implementing Classes:
DefaultModelBuildingRequest

public interface ModelBuildingRequest

Collects settings that control the building of effective models.

Author:
Benjamin Bentmann

Field Summary
static int VALIDATION_LEVEL_MAVEN_2_0
          Denotes validation as performed by Maven 2.0.
static int VALIDATION_LEVEL_MAVEN_3_0
          Denotes validation as performed by Maven 3.0.
static int VALIDATION_LEVEL_MAVEN_3_1
          Denotes validation as performed by Maven 3.1.
static int VALIDATION_LEVEL_MINIMAL
          Denotes minimal validation of POMs.
static int VALIDATION_LEVEL_STRICT
          Denotes strict validation as recommended by the current Maven version.
 
Method Summary
 List<String> getActiveProfileIds()
          Gets the identifiers of those profiles that should be activated by explicit demand.
 Date getBuildStartTime()
          Gets the start time of the build.
 List<String> getInactiveProfileIds()
          Gets the identifiers of those profiles that should be deactivated by explicit demand.
 ModelBuildingListener getModelBuildingListener()
          Gets the model building listener to notify during the build process.
 ModelCache getModelCache()
          Gets the model cache to use for reuse of previously built models.
 ModelResolver getModelResolver()
          Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.
 ModelSource getModelSource()
          Gets the source of the POM to process.
 File getPomFile()
          Gets the POM file of the project to build.
 List<Profile> getProfiles()
          Gets the external profiles that should be considered for model building.
 Properties getSystemProperties()
          Gets the system properties to use for interpolation and profile activation.
 Properties getUserProperties()
          Gets the user properties to use for interpolation and profile activation.
 int getValidationLevel()
          Gets the level of validation to perform on processed models.
 boolean isLocationTracking()
          Indicates whether the model should track the line/column number of the model source from which it was parsed.
 boolean isProcessPlugins()
          Indicates whether plugin executions and configurations should be processed.
 boolean isTwoPhaseBuilding()
          Indicates whether the model building should happen in two phases.
 ModelBuildingRequest setActiveProfileIds(List<String> activeProfileIds)
          Sets the identifiers of those profiles that should be activated by explicit demand.
 ModelBuildingRequest setBuildStartTime(Date buildStartTime)
          Sets the start time of the build.
 ModelBuildingRequest setInactiveProfileIds(List<String> inactiveProfileIds)
          Sets the identifiers of those profiles that should be deactivated by explicit demand.
 ModelBuildingRequest setLocationTracking(boolean locationTracking)
          Enables/disables the tracking of line/column numbers for the model source being parsed.
 ModelBuildingRequest setModelBuildingListener(ModelBuildingListener modelBuildingListener)
          Sets the model building listener to notify during the build process.
 ModelBuildingRequest setModelCache(ModelCache modelCache)
          Sets the model cache to use for reuse of previously built models.
 ModelBuildingRequest setModelResolver(ModelResolver modelResolver)
          Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.
 ModelBuildingRequest setModelSource(ModelSource modelSource)
          Sets the source of the POM to process.
 ModelBuildingRequest setPomFile(File pomFile)
          Sets the POM file of the project to build.
 ModelBuildingRequest setProcessPlugins(boolean processPlugins)
          Controls the processing of plugin executions and configurations.
 ModelBuildingRequest setProfiles(List<Profile> profiles)
          Sets the external profiles that should be considered for model building.
 ModelBuildingRequest setSystemProperties(Properties systemProperties)
          Sets the system properties to use for interpolation and profile activation.
 ModelBuildingRequest setTwoPhaseBuilding(boolean twoPhaseBuilding)
          Enables/disables two-phase building.
 ModelBuildingRequest setUserProperties(Properties userProperties)
          Sets the user properties to use for interpolation and profile activation.
 ModelBuildingRequest setValidationLevel(int validationLevel)
          Sets the level of validation to perform on processed models.
 

Field Detail

VALIDATION_LEVEL_MINIMAL

static final int VALIDATION_LEVEL_MINIMAL
Denotes minimal validation of POMs. This validation level is meant for processing of POMs from repositories during metadata retrieval.

See Also:
Constant Field Values

VALIDATION_LEVEL_MAVEN_2_0

static final int VALIDATION_LEVEL_MAVEN_2_0
Denotes validation as performed by Maven 2.0. This validation level is meant as a compatibility mode to allow users to migrate their projects.

See Also:
Constant Field Values

VALIDATION_LEVEL_MAVEN_3_0

static final int VALIDATION_LEVEL_MAVEN_3_0
Denotes validation as performed by Maven 3.0. This validation level is meant for existing projects.

See Also:
Constant Field Values

VALIDATION_LEVEL_MAVEN_3_1

static final int VALIDATION_LEVEL_MAVEN_3_1
Denotes validation as performed by Maven 3.1. This validation level is meant for new projects.

See Also:
Constant Field Values

VALIDATION_LEVEL_STRICT

static final int VALIDATION_LEVEL_STRICT
Denotes strict validation as recommended by the current Maven version.

See Also:
Constant Field Values
Method Detail

getModelSource

ModelSource getModelSource()
Gets the source of the POM to process.

Returns:
The source of the POM or null if not set.

setModelSource

ModelBuildingRequest setModelSource(ModelSource modelSource)
Sets the source of the POM to process. Eventually, either setModelSource(ModelSource) or setPomFile(File) must be set.

Parameters:
modelSource - The source of the POM to process, may be null.
Returns:
This request, never null.

getPomFile

File getPomFile()
Gets the POM file of the project to build.

Returns:
The POM file of the project or null if not applicable (i.e. when processing a POM from the repository).

setPomFile

ModelBuildingRequest setPomFile(File pomFile)
Sets the POM file of the project to build. Note that providing the path to a POM file via this method will make the model builder operate in project mode. This mode is meant for effective models that are employed during the build process of a local project. Hence the effective model will support the notion of a project directory. To build the model for a POM from the repository, use setModelSource(ModelSource) in combination with a FileModelSource instead.

Parameters:
pomFile - The POM file of the project to build the effective model for, may be null to build the model of some POM from the repository.
Returns:
This request, never null.

getValidationLevel

int getValidationLevel()
Gets the level of validation to perform on processed models.

Returns:
The level of validation to perform on processed models.

setValidationLevel

ModelBuildingRequest setValidationLevel(int validationLevel)
Sets the level of validation to perform on processed models. For building of projects, VALIDATION_LEVEL_STRICT should be used to ensure proper building. For the mere retrievel of dependencies during artifact resolution, VALIDATION_LEVEL_MINIMAL should be used to account for models of poor quality. By default, models are validated in strict mode.

Parameters:
validationLevel - The level of validation to perform on processed models.
Returns:
This request, never null.

isProcessPlugins

boolean isProcessPlugins()
Indicates whether plugin executions and configurations should be processed. If enabled, lifecycle-induced plugin executions will be injected into the model and common plugin configuration will be propagated to individual executions.

Returns:
true if plugins should be processed, false otherwise.

setProcessPlugins

ModelBuildingRequest setProcessPlugins(boolean processPlugins)
Controls the processing of plugin executions and configurations.

Parameters:
processPlugins - true to enable plugin processing, false otherwise.
Returns:
This request, never null.

isTwoPhaseBuilding

boolean isTwoPhaseBuilding()
Indicates whether the model building should happen in two phases. If enabled, the initial invocation of the model builder will only produce an interim result which may be used to analyze inter-model dependencies before the final invocation of the model builder is performed.

Returns:
true if two-phase building is enabled, false if the model should be build in a single step.

setTwoPhaseBuilding

ModelBuildingRequest setTwoPhaseBuilding(boolean twoPhaseBuilding)
Enables/disables two-phase building. If enabled, the initial invocation of the model builder will only produce an interim result which may be used to analyze inter-model dependencies before the final invocation of the model builder is performed.

Parameters:
twoPhaseBuilding - true to enable two-phase building, false if the model should be build in a single step.
Returns:
This request, never null.

isLocationTracking

boolean isLocationTracking()
Indicates whether the model should track the line/column number of the model source from which it was parsed.

Returns:
true if location tracking is enabled, false otherwise.

setLocationTracking

ModelBuildingRequest setLocationTracking(boolean locationTracking)
Enables/disables the tracking of line/column numbers for the model source being parsed. By default, input locations are not tracked.

Parameters:
locationTracking - true to enable location tracking, false to disable it.
Returns:
This request, never null.

getProfiles

List<Profile> getProfiles()
Gets the external profiles that should be considered for model building.

Returns:
The external profiles that should be considered for model building, never null.

setProfiles

ModelBuildingRequest setProfiles(List<Profile> profiles)
Sets the external profiles that should be considered for model building.

Parameters:
profiles - The external profiles that should be considered for model building, may be null.
Returns:
This request, never null.

getActiveProfileIds

List<String> getActiveProfileIds()
Gets the identifiers of those profiles that should be activated by explicit demand.

Returns:
The identifiers of those profiles to activate, never null.

setActiveProfileIds

ModelBuildingRequest setActiveProfileIds(List<String> activeProfileIds)
Sets the identifiers of those profiles that should be activated by explicit demand.

Parameters:
activeProfileIds - The identifiers of those profiles to activate, may be null.
Returns:
This request, never null.

getInactiveProfileIds

List<String> getInactiveProfileIds()
Gets the identifiers of those profiles that should be deactivated by explicit demand.

Returns:
The identifiers of those profiles to deactivate, never null.

setInactiveProfileIds

ModelBuildingRequest setInactiveProfileIds(List<String> inactiveProfileIds)
Sets the identifiers of those profiles that should be deactivated by explicit demand.

Parameters:
inactiveProfileIds - The identifiers of those profiles to deactivate, may be null.
Returns:
This request, never null.

getSystemProperties

Properties getSystemProperties()
Gets the system properties to use for interpolation and profile activation. The system properties are collected from the runtime environment like System.getProperties() and environment variables.

Returns:
The system properties, never null.

setSystemProperties

ModelBuildingRequest setSystemProperties(Properties systemProperties)
Sets the system properties to use for interpolation and profile activation. The system properties are collected from the runtime environment like System.getProperties() and environment variables.

Parameters:
systemProperties - The system properties, may be null.
Returns:
This request, never null.

getUserProperties

Properties getUserProperties()
Gets the user properties to use for interpolation and profile activation. The user properties have been configured directly by the user on his discretion, e.g. via the -Dkey=value parameter on the command line.

Returns:
The user properties, never null.

setUserProperties

ModelBuildingRequest setUserProperties(Properties userProperties)
Sets the user properties to use for interpolation and profile activation. The user properties have been configured directly by the user on his discretion, e.g. via the -Dkey=value parameter on the command line.

Parameters:
userProperties - The user properties, may be null.
Returns:
This request, never null.

getBuildStartTime

Date getBuildStartTime()
Gets the start time of the build.

Returns:
The start time of the build or null if unknown.

setBuildStartTime

ModelBuildingRequest setBuildStartTime(Date buildStartTime)
Sets the start time of the build.

Parameters:
buildStartTime - The start time of the build, may be null.
Returns:
This request, never null.

getModelResolver

ModelResolver getModelResolver()
Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.

Returns:
The model resolver or null if not set.

setModelResolver

ModelBuildingRequest setModelResolver(ModelResolver modelResolver)
Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.

Parameters:
modelResolver - The model resolver to use, may be null.
Returns:
This request, never null.

getModelBuildingListener

ModelBuildingListener getModelBuildingListener()
Gets the model building listener to notify during the build process.

Returns:
The model building listener to notify or null if none.

setModelBuildingListener

ModelBuildingRequest setModelBuildingListener(ModelBuildingListener modelBuildingListener)
Sets the model building listener to notify during the build process.

Parameters:
modelBuildingListener - The model building listener to notify, may be null.
Returns:
This request, never null.

getModelCache

ModelCache getModelCache()
Gets the model cache to use for reuse of previously built models.

Returns:
The model cache or null if not set.

setModelCache

ModelBuildingRequest setModelCache(ModelCache modelCache)
Sets the model cache to use for reuse of previously built models. This is an optional component that serves performance optimizations.

Parameters:
modelCache - The model cache to use, may be null.
Returns:
This request, never null.


Copyright © 2001-2013 The Apache Software Foundation. All Rights Reserved.