001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: *
017: */
018: package org.apache.ivy.core.retrieve;
019:
020: import org.apache.ivy.core.LogOptions;
021: import org.apache.ivy.util.filter.Filter;
022: import org.apache.ivy.util.filter.FilterHelper;
023:
024: /**
025: * A set of options used during retrieve related tasks
026: *
027: * @see RetrieveEngine
028: */
029: public class RetrieveOptions extends LogOptions {
030: /**
031: * The names of configurations to retrieve. If the array consists only of '*', then all
032: * configurations of the module will be retrieved.
033: */
034: private String[] confs = new String[] { "*" };
035:
036: /**
037: * The pattern to which ivy files should be retrieved. If destIvyPattern is null no ivy files
038: * will be copied.
039: */
040: private String destIvyPattern = null;
041:
042: /**
043: * The filter to apply before retrieving artifacts.
044: */
045: private Filter artifactFilter = FilterHelper.NO_FILTER;
046:
047: /**
048: * True if a synchronisation of the destination directory should be done, false if a simple copy
049: * is enough. Synchronisation means that after the retrieve only files which have been retrieved
050: * will be present in the destination directory, which means that some files may be deleted.
051: */
052: private boolean sync = false;
053:
054: /**
055: * True if the original files should be used insteaad of their cache copy.
056: */
057: private boolean useOrigin = false;
058:
059: /**
060: * True if symbolic links should be created instead of plain copy. Works only on OS supporting
061: * symbolic links.
062: */
063: private boolean makeSymlinks = false;
064:
065: /**
066: * The id used to store the resolve information.
067: */
068: private String resolveId;
069:
070: public Filter getArtifactFilter() {
071: return artifactFilter;
072: }
073:
074: public RetrieveOptions setArtifactFilter(Filter artifactFilter) {
075: this .artifactFilter = artifactFilter;
076: return this ;
077: }
078:
079: public String[] getConfs() {
080: return confs;
081: }
082:
083: public RetrieveOptions setConfs(String[] confs) {
084: this .confs = confs;
085: return this ;
086: }
087:
088: public String getDestIvyPattern() {
089: return destIvyPattern;
090: }
091:
092: public RetrieveOptions setDestIvyPattern(String destIvyPattern) {
093: this .destIvyPattern = destIvyPattern;
094: return this ;
095: }
096:
097: public boolean isMakeSymlinks() {
098: return makeSymlinks;
099: }
100:
101: public RetrieveOptions setMakeSymlinks(boolean makeSymlinks) {
102: this .makeSymlinks = makeSymlinks;
103: return this ;
104: }
105:
106: public boolean isSync() {
107: return sync;
108: }
109:
110: public RetrieveOptions setSync(boolean sync) {
111: this .sync = sync;
112: return this ;
113: }
114:
115: public boolean isUseOrigin() {
116: return useOrigin;
117: }
118:
119: public RetrieveOptions setUseOrigin(boolean useOrigin) {
120: this .useOrigin = useOrigin;
121: return this ;
122: }
123:
124: public String getResolveId() {
125: return resolveId;
126: }
127:
128: public RetrieveOptions setResolveId(String resolveId) {
129: this.resolveId = resolveId;
130: return this;
131: }
132:
133: }
|