KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > masterfs > filebasedfs > naming > FolderName


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.masterfs.filebasedfs.naming;
21
22
23 import java.io.File JavaDoc;
24 import java.util.Map JavaDoc;
25 import java.util.WeakHashMap JavaDoc;
26
27 /**
28  * @author Radek Matous
29  */

30 public class FolderName extends FileName {
31     private static Map JavaDoc fileCache = new WeakHashMap JavaDoc();
32
33
34     FolderName(final FileNaming parent, final File JavaDoc file) {
35         super(parent, file);
36         synchronized (FolderName.class) {
37             FolderName.fileCache.put(this, file);
38         }
39     }
40
41
42     public File JavaDoc getFile() {
43         File JavaDoc retValue;
44         synchronized (FolderName.class) {
45             retValue = (File JavaDoc) FolderName.fileCache.get(this);
46
47             if (retValue == null) {
48                 retValue = super.getFile();
49                 FolderName.fileCache.put(this, retValue);
50             }
51         }
52
53         assert retValue != null;
54         return retValue;
55     }
56
57     static void freeCaches() {
58         synchronized (FolderName.class) {
59             FolderName.fileCache = new WeakHashMap JavaDoc();
60         }
61
62     }
63
64     public boolean isFile() {
65         return false;
66     }
67
68 }
Popular Tags