KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > mdrant > WriteXMI


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.mdrant;
21
22 import java.io.File JavaDoc;
23 import java.io.FileOutputStream JavaDoc;
24
25 import javax.jmi.reflect.*;
26
27 import org.apache.tools.ant.BuildException;
28
29 import org.netbeans.api.xmi.XMIWriterFactory;
30 import org.netbeans.api.xmi.XMIWriter;
31
32 /** Exports given extent into XMI.
33  *
34  * @author Petr Hrebejk
35  */

36 public class WriteXMI extends MdrTask.Sub {
37
38     private static final String JavaDoc DEFAULT_XMI_VERSION = "1.2";
39
40     private File JavaDoc file; // File to read
41

42     private String JavaDoc extent; // extent to read into
43

44     private String JavaDoc xmiVersion;
45     
46     /** Creates a new instance of PrintExtentsNames */
47     public WriteXMI() {
48     }
49     
50     public void execute() throws Exception JavaDoc {
51         
52         if ( file == null ) {
53             throw new BuildException( "Export file has to be sppecified. Use the \"file\" attribute" );
54         }
55         
56         if ( extent == null ) {
57             throw new BuildException( "Extent to export has to be sppecified. Use the \"extent\" attribute" );
58         }
59         
60         if ( xmiVersion == null ) {
61             xmiVersion = DEFAULT_XMI_VERSION;
62         }
63         
64         XMIWriter xmiWriter = XMIWriterFactory.getDefault().createXMIWriter();
65         xmiWriter.write( new FileOutputStream JavaDoc( file ), getRepository().getExtent( extent ), xmiVersion );
66         
67     }
68     
69     // ANT task attributes -----------------------------------------------------
70

71     public void setFile( File JavaDoc file ) {
72         this.file = file;
73     }
74     
75     public void setExtent( String JavaDoc extent ) {
76         this.extent = extent;
77     }
78     
79     public void setXmiVersion( String JavaDoc xmiVersion ) {
80         this.xmiVersion = xmiVersion;
81     }
82     
83     
84 }
85
Popular Tags