KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > api > xmi > XMIWriterFactory


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;
20
21 import org.openide.util.*;
22 import java.util.*;
23
24 /** Factory for XMI writers.
25  *
26  * @author Martin Matula
27  */

28 public abstract class XMIWriterFactory {
29     /** Returns the default instance of XMIWriterFactory.
30      * @return Default XMI writer factory.
31      */

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

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

51     public abstract XMIWriter createXMIWriter(XMIOutputConfig configuration);
52 }
53
Popular Tags