KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > masterfs > GlobalSharabilityQueryImpl


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;
21
22 import java.io.File JavaDoc;
23 import java.util.Collection JavaDoc;
24 import org.netbeans.api.queries.SharabilityQuery;
25 import org.netbeans.spi.queries.SharabilityQueryImplementation;
26 import org.netbeans.spi.queries.VisibilityQueryImplementation;
27 import org.openide.util.Lookup;
28
29 /**
30  * Provides implementation of <code>SharabilityQueryImplementation</code> that
31  * is tightly coupled with <code>GlobalVisibilityQueryImpl</code> which is based on regular
32  * expression provided by users via property in IDESettings with property name
33  * IDESettings.PROP_IGNORED_FILES in Tools/Options.
34  *
35  * Invisible files are considered as not shared.
36  *
37  * @author Radek Matous
38  */

39 public class GlobalSharabilityQueryImpl implements SharabilityQueryImplementation {
40     private GlobalVisibilityQueryImpl visibilityQuery;
41     /** Creates a new instance of GlobalSharabilityQueryImpl */
42     public GlobalSharabilityQueryImpl() {
43     }
44
45     public int getSharability(final File JavaDoc file) {
46         if (visibilityQuery == null) {
47             Lookup.Result result = Lookup.getDefault().lookup(new Lookup.Template(VisibilityQueryImplementation.class));
48             Collection JavaDoc allInstance = result.allInstances();
49             assert allInstance.contains(GlobalVisibilityQueryImpl.INSTANCE);
50             visibilityQuery = GlobalVisibilityQueryImpl.INSTANCE;
51         }
52         return (visibilityQuery.isVisible(file.getName())) ? SharabilityQuery.UNKNOWN : SharabilityQuery.NOT_SHARABLE;
53     }
54 }
55
Popular Tags