Mercurial Hosting > luan
diff src/org/eclipse/jetty/util/component/FileDestroyable.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children | 8e9db0bbf4f9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/eclipse/jetty/util/component/FileDestroyable.java Wed Sep 07 21:15:48 2016 -0600 @@ -0,0 +1,88 @@ +// +// ======================================================================== +// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.util.component; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.eclipse.jetty.util.IO; +import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; +import org.eclipse.jetty.util.resource.Resource; + +public class FileDestroyable implements Destroyable +{ + private static final Logger LOG = Log.getLogger(FileDestroyable.class); + final List<File> _files = new ArrayList<File>(); + + public FileDestroyable() + { + } + + public FileDestroyable(String file) throws IOException + { + _files.add(Resource.newResource(file).getFile()); + } + + public FileDestroyable(File file) + { + _files.add(file); + } + + public void addFile(String file) throws IOException + { + _files.add(Resource.newResource(file).getFile()); + } + + public void addFile(File file) + { + _files.add(file); + } + + public void addFiles(Collection<File> files) + { + _files.addAll(files); + } + + public void removeFile(String file) throws IOException + { + _files.remove(Resource.newResource(file).getFile()); + } + + public void removeFile(File file) + { + _files.remove(file); + } + + public void destroy() + { + for (File file : _files) + { + if (file.exists()) + { + LOG.debug("Destroy {}",file); + IO.delete(file); + } + } + } + +}