KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > mktemp > MkTempDirectory


1 /**
2  * $Id: MkTempDirectory.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 2002-2004 iDare Media, Inc. All rights reserved.
4  *
5  * Originally written by iDare Media, Inc. for release into the public domain. This
6  * library, source form and binary form, is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation; either version 2.1 of the License, or (at your option) any
9  * later version.<p>
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU LGPL (GNU Lesser General Public License) for more details.<p>
14  *
15  * You should have received a copy of the GNU Lesser General Public License along with this
16  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite
17  * 330, Boston, MA 02111-1307 USA. The LGPL can be found online at
18  * http://www.fsf.org/copyleft/lesser.html<p>
19  *
20  * This product has been influenced by several projects within the open-source community.
21  * The JWare developers wish to acknowledge the open-source community's support. For more
22  * information regarding the open-source products used within JWare, please visit the
23  * JWare website.
24  *----------------------------------------------------------------------------------------*
25  * WEBSITE- http://www.jware.info EMAIL- inquiries@jware.info
26  *----------------------------------------------------------------------------------------*
27  **/

28
29 package com.idaremedia.antx.mktemp;
30
31 import java.io.File JavaDoc;
32
33 import org.apache.tools.ant.BuildException;
34 import org.apache.tools.ant.Project;
35
36 /**
37  * Instance of MkTempObject that only produces temporary directories. Note temporary
38  * directories (unlike temporary files) are <em>not</em> marked for automatic
39  * deletion when the VM exits.
40  *
41  * @since JWare/AntX 0.1
42  * @author ssmc, &copy;2002-2004 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
43  * @version 0.5
44  * @.safety single
45  * @.group api,helper
46  **/

47
48 public final class MkTempDirectory extends MkTempObject
49 {
50     /**
51      * Create a new task instance.
52      **/

53     public MkTempDirectory()
54     {
55         super();
56         setPersist(true);
57     }
58
59
60     /**
61      * Creates a new temporary directory. Will not produce the
62      * same named directory within a single VM instance. If a prototype file was
63      * named, a identical copy is created in the new temporary directory.
64      **/

65     public void execute() throws BuildException
66     {
67         verifyInProject_("exec");
68
69         File JavaDoc newDir = createDirectory(getInDir());
70
71         if (getPathProperty()!=null || getUrlPathProperty()!=null) {
72             saveFinalPath(newDir,true);
73         }
74         else {
75             //NB: there are legitimate reasons not to specify a property (esp. tests)
76
String JavaDoc warnmsg = uistrs().get("mktemp.no.property", newDir.getPath());
77             log(warnmsg, Project.MSG_VERBOSE);
78         }
79
80         if (isAutoDelete()) {
81             newDir.deleteOnExit();
82         }
83     }
84 }
85
86 /* end-of-MkTempDirectory.java */
87
Popular Tags