View Javadoc
1   /*
2    * Copyright 2014 The Codehaus Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.codehaus.plexus.archiver.diags;
17  
18  import javax.annotation.Nonnull;
19  
20  import java.io.File;
21  import java.io.IOException;
22  import java.nio.charset.Charset;
23  import java.nio.file.attribute.FileTime;
24  import java.util.Collections;
25  import java.util.Comparator;
26  import java.util.Date;
27  import java.util.Map;
28  
29  import org.codehaus.plexus.archiver.ArchiveEntry;
30  import org.codehaus.plexus.archiver.ArchivedFileSet;
31  import org.codehaus.plexus.archiver.Archiver;
32  import org.codehaus.plexus.archiver.ArchiverException;
33  import org.codehaus.plexus.archiver.FileSet;
34  import org.codehaus.plexus.archiver.ResourceIterator;
35  import org.codehaus.plexus.components.io.resources.PlexusIoResource;
36  import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection;
37  
38  /**
39   * An archiver that does nothing. Really.
40   */
41  @SuppressWarnings("UnusedDeclaration")
42  public class NoOpArchiver implements Archiver {
43  
44      boolean useJvmChmod;
45  
46      private boolean ignorePermissions;
47  
48      @Override
49      public void createArchive() throws ArchiverException, IOException {}
50  
51      @Override
52      public void addDirectory(@Nonnull File directory) throws ArchiverException {}
53  
54      @Override
55      public void addDirectory(@Nonnull File directory, String prefix) throws ArchiverException {}
56  
57      @Override
58      @Deprecated
59      public void addDirectory(@Nonnull File directory, String[] includes, String[] excludes) throws ArchiverException {}
60  
61      @Override
62      @Deprecated
63      public void addDirectory(@Nonnull File directory, String prefix, String[] includes, String[] excludes)
64              throws ArchiverException {}
65  
66      @Override
67      public void addFileSet(@Nonnull FileSet fileSet) throws ArchiverException {}
68  
69      @Override
70      public void addSymlink(String symlinkName, String symlinkDestination) throws ArchiverException {}
71  
72      @Override
73      public void addSymlink(String symlinkName, int permissions, String symlinkDestination) throws ArchiverException {}
74  
75      @Override
76      public void addFile(@Nonnull File inputFile, @Nonnull String destFileName) throws ArchiverException {}
77  
78      @Override
79      public void addFile(@Nonnull File inputFile, @Nonnull String destFileName, int permissions)
80              throws ArchiverException {}
81  
82      @Override
83      @Deprecated
84      public void addArchivedFileSet(@Nonnull File archiveFile) throws ArchiverException {}
85  
86      @Override
87      @Deprecated
88      public void addArchivedFileSet(@Nonnull File archiveFile, String prefix) throws ArchiverException {}
89  
90      @Override
91      public void addArchivedFileSet(File archiveFile, String[] includes, String[] excludes) throws ArchiverException {}
92  
93      @Override
94      @Deprecated
95      public void addArchivedFileSet(@Nonnull File archiveFile, String prefix, String[] includes, String[] excludes)
96              throws ArchiverException {}
97  
98      @Override
99      public void addArchivedFileSet(ArchivedFileSet fileSet) throws ArchiverException {}
100 
101     @Override
102     public void addArchivedFileSet(ArchivedFileSet fileSet, Charset charset) throws ArchiverException {}
103 
104     @Override
105     public void addResource(PlexusIoResource resource, String destFileName, int permissions) throws ArchiverException {}
106 
107     @Override
108     public void addResources(PlexusIoResourceCollection resources) throws ArchiverException {}
109 
110     @Override
111     public File getDestFile() {
112         return null;
113     }
114 
115     @Override
116     public void setDestFile(File destFile) {}
117 
118     @Override
119     public void setFileMode(int mode) {}
120 
121     @Override
122     public int getFileMode() {
123         return 0;
124     }
125 
126     @Override
127     public int getOverrideFileMode() {
128         return 0;
129     }
130 
131     @Override
132     public void setDefaultFileMode(int mode) {}
133 
134     @Override
135     public int getDefaultFileMode() {
136         return 0;
137     }
138 
139     @Override
140     public void setDirectoryMode(int mode) {}
141 
142     @Override
143     public int getDirectoryMode() {
144         return 0;
145     }
146 
147     @Override
148     public int getOverrideDirectoryMode() {
149         return 0;
150     }
151 
152     @Override
153     public void setDefaultDirectoryMode(int mode) {}
154 
155     @Override
156     public int getDefaultDirectoryMode() {
157         return 0;
158     }
159 
160     @Override
161     public boolean getIncludeEmptyDirs() {
162         return false;
163     }
164 
165     @Override
166     public void setIncludeEmptyDirs(boolean includeEmptyDirs) {}
167 
168     @Override
169     public void setDotFileDirectory(File dotFileDirectory) {}
170 
171     @Nonnull
172     @Override
173     public ResourceIterator getResources() throws ArchiverException {
174         return new ResourceIterator() {
175 
176             @Override
177             public boolean hasNext() {
178                 return false;
179             }
180 
181             @Override
182             public ArchiveEntry next() {
183                 return null;
184             }
185 
186             @Override
187             public void remove() {
188                 throw new UnsupportedOperationException("remove");
189             }
190         };
191     }
192 
193     @Override
194     @Deprecated
195     public Map<String, ArchiveEntry> getFiles() {
196         return Collections.emptyMap();
197     }
198 
199     @Override
200     public boolean isForced() {
201         return false;
202     }
203 
204     @Override
205     public void setForced(boolean forced) {}
206 
207     @Override
208     public boolean isSupportingForced() {
209         return false;
210     }
211 
212     @Override
213     public String getDuplicateBehavior() {
214         return null;
215     }
216 
217     @Override
218     public void setDuplicateBehavior(String duplicate) {}
219 
220     @Override
221     @Deprecated
222     public void setUseJvmChmod(boolean useJvmChmod) {
223         this.useJvmChmod = useJvmChmod;
224     }
225 
226     @Override
227     @Deprecated
228     public boolean isUseJvmChmod() {
229         return useJvmChmod;
230     }
231 
232     @Override
233     public boolean isIgnorePermissions() {
234         return ignorePermissions;
235     }
236 
237     @Override
238     public void setIgnorePermissions(boolean ignorePermissions) {
239         this.ignorePermissions = ignorePermissions;
240     }
241 
242     /**
243      * @deprecated Use {@link #setLastModifiedTime(FileTime)} instead.
244      */
245     @Override
246     @Deprecated
247     public void setLastModifiedDate(final Date lastModifiedDate) {}
248 
249     /**
250      * @deprecated Use {@link #getLastModifiedTime()} instead.
251      */
252     @Override
253     @Deprecated
254     public Date getLastModifiedDate() {
255         return null;
256     }
257 
258     @Override
259     public void setLastModifiedTime(final FileTime lastModifiedTime) {}
260 
261     @Override
262     public FileTime getLastModifiedTime() {
263         return null;
264     }
265 
266     @Override
267     public void setFilenameComparator(final Comparator<String> filenameComparator) {}
268 
269     @Override
270     public void setOverrideUid(int uid) {}
271 
272     @Override
273     public void setOverrideUserName(String userName) {}
274 
275     @Override
276     public int getOverrideUid() {
277         return 0;
278     }
279 
280     @Override
281     public String getOverrideUserName() {
282         return null;
283     }
284 
285     @Override
286     public void setOverrideGid(int gid) {}
287 
288     @Override
289     public void setOverrideGroupName(String groupName) {}
290 
291     @Override
292     public int getOverrideGid() {
293         return 0;
294     }
295 
296     @Override
297     public String getOverrideGroupName() {
298         return null;
299     }
300 
301     @Override
302     public void setUmask(int umask) {}
303 
304     @Override
305     public int getUmask() {
306         return 0;
307     }
308 
309     /**
310      * @deprecated Use {@link #configureReproducibleBuild(FileTime)} instead.
311      */
312     @Override
313     @Deprecated
314     public void configureReproducible(Date lastModifiedDate) {}
315 
316     @Override
317     public void configureReproducibleBuild(FileTime lastModifiedTime) {}
318 }