KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > schema > completion > spi > CompletionModelProvider


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

19 package org.netbeans.modules.xml.schema.completion.spi;
20
21 import java.util.List JavaDoc;
22 import org.netbeans.modules.xml.schema.model.SchemaModel;
23
24 /**
25  * Schema aware code completion feature works, based on the "schemaLocation"
26  * attribute of the root element of the XML document. If found, it looks up
27  * the models of the schemas specified.
28  *
29  * CompletionModelProvider is a hook for XML documents that will not specify
30  * "schemaLocation" attribute in their document but still want to use the schema
31  * aware code completion feature. For example, if you want code completion in a
32  * WSDL document based on WSDL's schema, all you need to do is, implement a
33  * CompletionModelProvider and return the set of models for WSDL's schema(s).
34  *
35  *
36  * @author Samaresh
37  */

38 public abstract class CompletionModelProvider {
39     
40     /**
41      * Returns a list of CompletionModels at a given context. Context may be
42      * used in determining the list of CompletionModels. For example, it does
43      * not make sense to return WSDL models while working on a non-WSDL file.
44      */

45     public abstract List JavaDoc<CompletionModel> getModels(CompletionContext context);
46     
47     /**
48      * Class CompletionModel.
49      */

50     public static abstract class CompletionModel {
51         
52         /**
53          * Returns the suggested prefix to be used for completion.
54          */

55         public abstract String JavaDoc getSuggestedPrefix();
56         
57         /**
58          * Returns the target namespace for this schema model.
59          */

60         public abstract String JavaDoc getTargetNamespace();
61         
62         /**
63          * Returns the schema model.
64          */

65         public abstract SchemaModel getSchemaModel();
66     }
67     
68 }
69
Popular Tags