KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tools > ant > module > loader > AntProjectDataLoader


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.apache.tools.ant.module.loader;
21
22 import java.io.IOException JavaDoc;
23 import org.openide.filesystems.FileObject;
24 import org.openide.loaders.DataObjectExistsException;
25 import org.openide.loaders.MultiDataObject;
26 import org.openide.loaders.UniFileLoader;
27 import org.openide.util.NbBundle;
28
29 /**
30  * Recognizes Ant project files according to XML signature.
31  */

32 public class AntProjectDataLoader extends UniFileLoader {
33
34     public static final String JavaDoc REQUIRED_MIME = "text/x-ant+xml"; // NOI18N
35
private static final String JavaDoc KNOWN_ANT_FILENAME = "build.xml"; // NOI18N
36

37     private static final long serialVersionUID = 3642056255958054115L;
38
39     public AntProjectDataLoader () {
40         super ("org.apache.tools.ant.module.loader.AntProjectDataObject"); // NOI18N
41
}
42
43     @Override JavaDoc
44     protected String JavaDoc defaultDisplayName () {
45         return NbBundle.getMessage (AntProjectDataLoader.class, "LBL_loader_name");
46     }
47
48     @Override JavaDoc
49     protected void initialize () {
50         super.initialize ();
51         getExtensions().addMimeType(REQUIRED_MIME);
52     }
53
54     @Override JavaDoc
55     protected FileObject findPrimaryFile(FileObject fo) {
56         FileObject prim = super.findPrimaryFile(fo);
57         if (prim == null && fo.getNameExt().equals(KNOWN_ANT_FILENAME)) {
58             // XXX hack for #43871.
59
// Does not set the MIME type correctly, but at least should be
60
// possible to run targets, etc.
61
prim = fo;
62         }
63         return prim;
64     }
65
66     @Override JavaDoc
67     protected MultiDataObject createMultiObject (FileObject primaryFile) throws DataObjectExistsException, IOException JavaDoc {
68         return new AntProjectDataObject(primaryFile, this);
69     }
70
71     @Override JavaDoc
72     protected String JavaDoc actionsContext() {
73         return "Loaders/" + REQUIRED_MIME + "/Actions"; // NOI18N
74
}
75
76 }
77
Popular Tags