KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > api > xmi > sax > XMIConsumerFactory


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 package org.netbeans.api.xmi.sax;
20
21 import org.netbeans.api.xmi.XMIInputConfig;
22 import org.openide.util.Lookup;
23 import java.util.Collection JavaDoc;
24
25 /** Factory for XMIConsumer instances.
26  *
27  * @author Martin Matula
28  * @author Brian Smith
29  */

30 public abstract class XMIConsumerFactory {
31     /** Returns the default instance of XMIConsumerFactory.
32      * @return Default XMI consumer factory.
33      */

34     public static XMIConsumerFactory getDefault() {
35         Lookup.Result result = Lookup.getDefault().lookup(
36             new Lookup.Template(XMIConsumerFactory.class)
37         );
38         Collection JavaDoc instances = result.allInstances();
39         return (instances.size() > 0 ? (XMIConsumerFactory) result.allInstances().iterator().next() : null);
40     }
41     
42     /** Creates new instance of XMIConsumer.
43      * @return New instance of XMIConsumer.
44      */

45     public abstract XMIConsumer createXMIConsumer();
46     
47     /** Creates new instance of XMIConsumer configured using the passed configuration object.
48      * The configuration object should not be used by XMIConsumer directly
49      * (i.e. the real configuration of the returned XMIConsumer should be a copy of the passed
50      * configuraion object).
51      * @param configuration Configuration of the XMIConsumer instance to be created.
52      */

53     public abstract XMIConsumer createXMIConsumer(XMIInputConfig configuration);
54 }
55
Popular Tags