diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java')
-rw-r--r-- | framework/src/maven/apache-maven-3.3.3/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java new file mode 100644 index 00000000..5a4824e0 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java @@ -0,0 +1,160 @@ +package org.apache.maven.settings.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.Properties; + +/** + * Collects settings that control building of effective settings. + * + * @author Benjamin Bentmann + */ +public class DefaultSettingsBuildingRequest + implements SettingsBuildingRequest +{ + + private File globalSettingsFile; + + private File userSettingsFile; + + private SettingsSource globalSettingsSource; + + private SettingsSource userSettingsSource; + + private Properties systemProperties; + + private Properties userProperties; + + @Override + public File getGlobalSettingsFile() + { + return globalSettingsFile; + } + + @Override + public DefaultSettingsBuildingRequest setGlobalSettingsFile( File globalSettingsFile ) + { + this.globalSettingsFile = globalSettingsFile; + + return this; + } + + @Override + public SettingsSource getGlobalSettingsSource() + { + return globalSettingsSource; + } + + @Override + public DefaultSettingsBuildingRequest setGlobalSettingsSource( SettingsSource globalSettingsSource ) + { + this.globalSettingsSource = globalSettingsSource; + + return this; + } + + @Override + public File getUserSettingsFile() + { + return userSettingsFile; + } + + @Override + public DefaultSettingsBuildingRequest setUserSettingsFile( File userSettingsFile ) + { + this.userSettingsFile = userSettingsFile; + + return this; + } + + @Override + public SettingsSource getUserSettingsSource() + { + return userSettingsSource; + } + + @Override + public DefaultSettingsBuildingRequest setUserSettingsSource( SettingsSource userSettingsSource ) + { + this.userSettingsSource = userSettingsSource; + + return this; + } + + @Override + public Properties getSystemProperties() + { + if ( systemProperties == null ) + { + systemProperties = new Properties(); + } + + return systemProperties; + } + + @Override + public DefaultSettingsBuildingRequest setSystemProperties( Properties systemProperties ) + { + if ( systemProperties != null ) + { + this.systemProperties = new Properties(); + // MNG-5670 guard against ConcurrentModificationException + for ( String key : System.getProperties().stringPropertyNames() ) + { + this.systemProperties.put( key, System.getProperty( key ) ); + } + } + else + { + this.systemProperties = null; + } + + return this; + } + + @Override + public Properties getUserProperties() + { + if ( userProperties == null ) + { + userProperties = new Properties(); + } + + return userProperties; + } + + @Override + public DefaultSettingsBuildingRequest setUserProperties( Properties userProperties ) + { + if ( userProperties != null ) + { + this.userProperties = new Properties(); + this.userProperties.putAll( userProperties ); + } + else + { + this.userProperties = null; + } + + return this; + } + +} |