KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openidex > search > SharabilityFilter


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 2004 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.openidex.search;
21
22 import org.netbeans.api.queries.SharabilityQuery;
23 import org.openide.filesystems.FileObject;
24 import org.openide.filesystems.FileUtil;
25
26 /**
27  *
28  * @author Marian Petras
29  */

30 final class SharabilityFilter implements FileObjectFilter {
31
32     /**
33      */

34     public boolean searchFile(FileObject file)
35             throws IllegalArgumentException JavaDoc {
36         if (file.isFolder()) {
37             throw new java.lang.IllegalArgumentException JavaDoc(
38                     "file (not folder) expected"); //NOI18N
39
}
40
41         return SharabilityQuery.getSharability(FileUtil.toFile(file))
42                != SharabilityQuery.NOT_SHARABLE;
43     }
44
45     /**
46      */

47     public int traverseFolder(FileObject folder)
48             throws IllegalArgumentException JavaDoc {
49         if (!folder.isFolder()) {
50             throw new java.lang.IllegalArgumentException JavaDoc(
51                     "folder expected"); //NOI18N
52
}
53
54         final int sharability = SharabilityQuery
55                                 .getSharability(FileUtil.toFile(folder));
56         switch (sharability) {
57             case SharabilityQuery.NOT_SHARABLE:
58                 return DO_NOT_TRAVERSE;
59             case SharabilityQuery.SHARABLE:
60                 return TRAVERSE_ALL_SUBFOLDERS;
61             default:
62                 return TRAVERSE;
63         }
64     }
65
66 }
67
Popular Tags