1 19 20 package org.netbeans.modules.j2ee.persistence.unit; 21 22 import java.io.IOException ; 23 import org.netbeans.api.project.FileOwnerQuery; 24 import org.openide.filesystems.FileObject; 25 import org.openide.loaders.MultiDataObject; 26 import org.openide.loaders.UniFileLoader; 27 import org.openide.util.NbBundle; 28 29 32 public class PUDataLoader extends UniFileLoader { 33 34 public static final String REQUIRED_MIME = "text/x-persistence1.0"; 35 38 private static final String REQUIRED_EXTENSION = "xml-jpa"; 39 40 public PUDataLoader() { 41 super(PUDataLoader.class.getName()); 42 } 43 44 protected void initialize() { 45 super.initialize(); 46 getExtensions().addMimeType(REQUIRED_MIME); 47 getExtensions().addExtension(REQUIRED_EXTENSION); 48 } 49 50 protected String defaultDisplayName() { 51 return NbBundle.getMessage(PUDataLoader.class, "LBL_loaderName"); } 53 54 protected MultiDataObject createMultiObject(FileObject pf) throws IOException { 55 boolean parse = !REQUIRED_EXTENSION.equals(pf.getExt()); 57 return new PUDataObject(pf, this, parse); 58 } 59 60 protected String actionsContext() { 61 return "Loaders/" + REQUIRED_MIME + "/Actions"; 62 } 63 64 protected FileObject findPrimaryFile(FileObject fo) { 65 FileObject superFo = super.findPrimaryFile(fo); 66 return (superFo != null && FileOwnerQuery.getOwner(superFo) != null) 67 ? superFo : null; 68 } 69 70 } 71 | Popular Tags |