blob: 5e906737b91e4977edaa024609218913314a0079 [file] [log] [blame]
/*
* 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
*
* https://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.
*
*/
package org.apache.ivy.plugins.parser.xml;
import java.util.Collections;
import java.util.Date;
import java.util.Map;
import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.plugins.namespace.Namespace;
import org.apache.ivy.plugins.parser.ParserSettings;
public class UpdateOptions {
/**
* Settings to use for update, may be <code>null</code>.
*/
private ParserSettings settings = null;
/**
* Namespace in which the module to update is, may be <code>null</code>.
*/
private Namespace namespace = null;
/**
* Map from ModuleId of dependencies to new revision (as String)
*/
private Map<ModuleRevisionId, String> resolvedRevisions = Collections.emptyMap();
/**
* Map from ModuleId of dependencies to new branch (as String)
*/
private Map<ModuleRevisionId, String> resolvedBranches = Collections.emptyMap();
/**
* the new status, <code>null</code> to keep the old one
*/
private String status = null;
/**
* the new revision, <code>null</code> to keep the old one
*/
private String revision = null;
/**
* the new publication date, <code>null</code> to keep the old one
*/
private Date pubdate = null;
/**
* Should included information be replaced
*/
private boolean replaceInclude = true;
/**
* Should parent descriptor be merged inline
*/
private boolean merge = true;
private ModuleDescriptor mergedDescriptor = null;
/**
* Configurations to exclude during update, or <code>null</code> to keep all confs.
*/
private String[] confsToExclude = null;
/**
* True to set branch information on dependencies to default branch when omitted, false to keep
* it as is.
*/
private boolean updateBranch = true;
private String branch;
/**
* True to indicate that the revConstraint attribute should be generated if applicable, false to
* never generate the revConstraint attribute.
*/
private boolean generateRevConstraint = true;
public ParserSettings getSettings() {
return settings;
}
public UpdateOptions setSettings(ParserSettings settings) {
this.settings = settings;
return this;
}
public Namespace getNamespace() {
return namespace;
}
public UpdateOptions setNamespace(Namespace ns) {
this.namespace = ns;
return this;
}
public Map<ModuleRevisionId, String> getResolvedRevisions() {
return resolvedRevisions;
}
public UpdateOptions setResolvedRevisions(Map<ModuleRevisionId, String> resolvedRevisions) {
this.resolvedRevisions = resolvedRevisions;
return this;
}
public String getStatus() {
return status;
}
public UpdateOptions setStatus(String status) {
this.status = status;
return this;
}
public String getRevision() {
return revision;
}
public UpdateOptions setRevision(String revision) {
this.revision = revision;
return this;
}
public Date getPubdate() {
return pubdate;
}
public UpdateOptions setPubdate(Date pubdate) {
this.pubdate = pubdate;
return this;
}
public boolean isReplaceInclude() {
return replaceInclude;
}
public UpdateOptions setReplaceInclude(boolean replaceInclude) {
this.replaceInclude = replaceInclude;
return this;
}
public boolean isMerge() {
// only return true if merge is set to true and if there is something to merge!
return merge && (mergedDescriptor != null)
&& (mergedDescriptor.getInheritedDescriptors().length > 0);
}
public UpdateOptions setMerge(boolean merge) {
this.merge = merge;
return this;
}
public ModuleDescriptor getMergedDescriptor() {
return mergedDescriptor;
}
public UpdateOptions setMergedDescriptor(ModuleDescriptor mergedDescriptor) {
this.mergedDescriptor = mergedDescriptor;
return this;
}
public String[] getConfsToExclude() {
return confsToExclude;
}
public UpdateOptions setConfsToExclude(String[] confsToExclude) {
this.confsToExclude = confsToExclude;
return this;
}
public boolean isUpdateBranch() {
return updateBranch;
}
public UpdateOptions setUpdateBranch(boolean updateBranch) {
this.updateBranch = updateBranch;
return this;
}
public String getBranch() {
return branch;
}
public UpdateOptions setBranch(String pubBranch) {
this.branch = pubBranch;
return this;
}
public boolean isGenerateRevConstraint() {
return generateRevConstraint;
}
public UpdateOptions setGenerateRevConstraint(boolean generateRevConstraint) {
this.generateRevConstraint = generateRevConstraint;
return this;
}
public Map<ModuleRevisionId, String> getResolvedBranches() {
return resolvedBranches;
}
public UpdateOptions setResolvedBranches(Map<ModuleRevisionId, String> resolvedBranches) {
this.resolvedBranches = resolvedBranches;
return this;
}
}