diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java')
-rw-r--r-- | framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java | 408 |
1 files changed, 408 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java new file mode 100644 index 00000000..8b4a01b3 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java @@ -0,0 +1,408 @@ +package org.apache.maven.model.building; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.io.File; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Properties; + +import org.apache.maven.model.Model; +import org.apache.maven.model.Profile; +import org.apache.maven.model.resolution.ModelResolver; +import org.apache.maven.model.resolution.WorkspaceModelResolver; + +/** + * Collects settings that control building of effective models. + * + * @author Benjamin Bentmann + */ +public class DefaultModelBuildingRequest + implements ModelBuildingRequest +{ + + private Model rawModel; + + private File pomFile; + + private ModelSource modelSource; + + private int validationLevel = VALIDATION_LEVEL_STRICT; + + private boolean processPlugins; + + private boolean twoPhaseBuilding; + + private boolean locationTracking; + + private List<Profile> profiles; + + private List<String> activeProfileIds; + + private List<String> inactiveProfileIds; + + private Properties systemProperties; + + private Properties userProperties; + + private Date buildStartTime; + + private ModelResolver modelResolver; + + private ModelBuildingListener modelBuildingListener; + + private ModelCache modelCache; + + private WorkspaceModelResolver workspaceResolver; + + /** + * Creates an empty request. + */ + public DefaultModelBuildingRequest() + { + } + + /** + * Creates a shallow copy of the specified request. + * + * @param request The request to copy, must not be {@code null}. + */ + public DefaultModelBuildingRequest( ModelBuildingRequest request ) + { + setPomFile( request.getPomFile() ); + setModelSource( request.getModelSource() ); + setValidationLevel( request.getValidationLevel() ); + setProcessPlugins( request.isProcessPlugins() ); + setTwoPhaseBuilding( request.isTwoPhaseBuilding() ); + setProfiles( request.getProfiles() ); + setActiveProfileIds( request.getActiveProfileIds() ); + setInactiveProfileIds( request.getInactiveProfileIds() ); + setSystemProperties( request.getSystemProperties() ); + setUserProperties( request.getUserProperties() ); + setBuildStartTime( request.getBuildStartTime() ); + setModelResolver( request.getModelResolver() ); + setModelBuildingListener( request.getModelBuildingListener() ); + setModelCache( request.getModelCache() ); + } + + @Override + public File getPomFile() + { + return pomFile; + } + + @Override + public DefaultModelBuildingRequest setPomFile( File pomFile ) + { + this.pomFile = ( pomFile != null ) ? pomFile.getAbsoluteFile() : null; + + return this; + } + + @Override + public synchronized ModelSource getModelSource() + { + if ( modelSource == null && pomFile != null ) + { + modelSource = new FileModelSource( pomFile ); + } + return modelSource; + } + + @Override + public DefaultModelBuildingRequest setModelSource( ModelSource modelSource ) + { + this.modelSource = modelSource; + + return this; + } + + @Override + public int getValidationLevel() + { + return validationLevel; + } + + @Override + public DefaultModelBuildingRequest setValidationLevel( int validationLevel ) + { + this.validationLevel = validationLevel; + + return this; + } + + @Override + public boolean isProcessPlugins() + { + return processPlugins; + } + + @Override + public DefaultModelBuildingRequest setProcessPlugins( boolean processPlugins ) + { + this.processPlugins = processPlugins; + + return this; + } + + @Override + public boolean isTwoPhaseBuilding() + { + return twoPhaseBuilding; + } + + @Override + public DefaultModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding ) + { + this.twoPhaseBuilding = twoPhaseBuilding; + + return this; + } + + @Override + public boolean isLocationTracking() + { + return locationTracking; + } + + @Override + public DefaultModelBuildingRequest setLocationTracking( boolean locationTracking ) + { + this.locationTracking = locationTracking; + + return this; + } + + @Override + public List<Profile> getProfiles() + { + if ( profiles == null ) + { + profiles = new ArrayList<Profile>(); + } + + return profiles; + } + + @Override + public DefaultModelBuildingRequest setProfiles( List<Profile> profiles ) + { + if ( profiles != null ) + { + this.profiles = new ArrayList<Profile>( profiles ); + } + else + { + this.profiles = null; + } + + return this; + } + + @Override + public List<String> getActiveProfileIds() + { + if ( activeProfileIds == null ) + { + activeProfileIds = new ArrayList<String>(); + } + + return activeProfileIds; + } + + @Override + public DefaultModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds ) + { + if ( activeProfileIds != null ) + { + this.activeProfileIds = new ArrayList<String>( activeProfileIds ); + } + else + { + this.activeProfileIds = null; + } + + return this; + } + + @Override + public List<String> getInactiveProfileIds() + { + if ( inactiveProfileIds == null ) + { + inactiveProfileIds = new ArrayList<String>(); + } + + return inactiveProfileIds; + } + + @Override + public DefaultModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds ) + { + if ( inactiveProfileIds != null ) + { + this.inactiveProfileIds = new ArrayList<String>( inactiveProfileIds ); + } + else + { + this.inactiveProfileIds = null; + } + + return this; + } + + @Override + public Properties getSystemProperties() + { + if ( systemProperties == null ) + { + systemProperties = new Properties(); + } + + return systemProperties; + } + + @Override + public DefaultModelBuildingRequest setSystemProperties( Properties systemProperties ) + { + if ( systemProperties != null ) + { + this.systemProperties = new Properties(); + this.systemProperties.putAll( systemProperties ); + } + else + { + this.systemProperties = null; + } + + return this; + } + + @Override + public Properties getUserProperties() + { + if ( userProperties == null ) + { + userProperties = new Properties(); + } + + return userProperties; + } + + @Override + public DefaultModelBuildingRequest setUserProperties( Properties userProperties ) + { + if ( userProperties != null ) + { + this.userProperties = new Properties(); + this.userProperties.putAll( userProperties ); + } + else + { + this.userProperties = null; + } + + return this; + } + + @Override + public Date getBuildStartTime() + { + return buildStartTime; + } + + @Override + public ModelBuildingRequest setBuildStartTime( Date buildStartTime ) + { + this.buildStartTime = buildStartTime; + + return this; + } + + @Override + public ModelResolver getModelResolver() + { + return this.modelResolver; + } + + @Override + public DefaultModelBuildingRequest setModelResolver( ModelResolver modelResolver ) + { + this.modelResolver = modelResolver; + + return this; + } + + @Override + public ModelBuildingListener getModelBuildingListener() + { + return modelBuildingListener; + } + + @Override + public ModelBuildingRequest setModelBuildingListener( ModelBuildingListener modelBuildingListener ) + { + this.modelBuildingListener = modelBuildingListener; + + return this; + } + + @Override + public ModelCache getModelCache() + { + return this.modelCache; + } + + @Override + public DefaultModelBuildingRequest setModelCache( ModelCache modelCache ) + { + this.modelCache = modelCache; + + return this; + } + + @Override + public Model getRawModel() + { + return rawModel; + } + + @Override + public ModelBuildingRequest setRawModel( Model rawModel ) + { + this.rawModel = rawModel; + return this; + } + + @Override + public WorkspaceModelResolver getWorkspaceModelResolver() + { + return workspaceResolver; + } + + @Override + public ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver ) + { + this.workspaceResolver = workspaceResolver; + return this; + } + +} |