KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > spi > editor > mimelookup > MimeDataProvider


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.spi.editor.mimelookup;
21
22 import org.netbeans.api.editor.mimelookup.MimePath;
23 import org.openide.util.Lookup;
24
25 /**
26  * Provides a <code>Lookup</code> for the specific <code>MimePath</code>.
27  *
28  * <p>The implementations of this interface should be registered among the services
29  * in the default lookup, for details look at
30  * <a HREF="http://openide.netbeans.org/lookup/index.html"> META-INF/services registration</a>.
31  *
32  * @author Miloslav Metelka, Vita Stejskal
33  */

34 public interface MimeDataProvider {
35
36     /**
37      * Retrieves a <code>Lookup</code> for the given <code>MimePath</code>.
38      *
39      * <p>The <code>Lookup</code> returned by this method should hold a reference
40      * to the <code>MimePath</code> it was created for.
41      *
42      * <p>The implementors should consider caching of the <code>Lookup</code> instances
43      * returned by this method for performance reasons. The <code>MimePath</code>
44      * object can be used as a stable key for such a cache, because it implements
45      * its <code>equals</code> and <code>hashCode</code> method in the suitable way.
46      *
47      * @param mimePath The mime path to get the <code>Lookup</code> for. The mime
48      * path passed in can't be <code>null</code>, but it can be the
49      * {@link MimePath#EMPTY} mime path.
50      *
51      * @return The <code>Lookup</code> for the given <code>MimePath</code> or
52      * <code>null</code> if there is no lookup available for this mime path.
53      */

54     public Lookup getLookup(MimePath mimePath);
55
56 }
57
Popular Tags