您好我已经创建了一个自定义MultiFileLoader
,并且想知道在创建Netbeans插件时如何将其注册到DataLoaderPool
。
https://alvinalexander.com/java/jwarehouse/netbeans-src/java/src/org/netbeans/modules/java/JavaDataLoader.java.shtml
http://netbeans-org.1045718.n5.nabble.com/MultiFileLoader-being-called-multiple-times-for-same-file-td3026758.html
我不知道是否有办法使用@Annotation执行此操作,或者我是否必须将其添加到Netbeans Layers.xml
。
答案 0 :(得分:0)
根据网络上的参考资料,没有注释。 正确的方法是:
文档没有提供很多细节。 下面是更详细的解释:
易于实施但效率低下。为Netbeans遇到的任何FileObject调用DataLoader方法。这意味着磁盘上的任何文件,也包括虚拟文件系统中的任何文件,如图层文件系统。
如何:
图层方法要复杂得多,但功能也要强大得多。通过依赖mime类型,您可以将更多功能绑定到特定的DataObject,如自定义操作,编辑器......
图层xml中所需的元素是:
您的xml文件将以
之类的标记开头<brain xmlns="http://foo.bar.brain" name="sample brain 1"/>
foo.bar.brain.BrainDataObject文件将以以下注释开始:
@Messages({
"LBL_Brain_LOADER=Files of Brain"
})
@MIMEResolver.NamespaceRegistration(
displayName = "#LBL_Brain_LOADER",
mimeType = "text/brain+xml",
elementNS = {"http://foo.bar.brain"}
)
您的layer.xml文件将如下所示(仅显示相关部分):
<filesystem>
<folder name="Loaders">
<folder name="text">
<folder name="brain+xml">
<folder name="Factories">
<file name="foo-bar-brain-BrainDataLoader.instance">
</file>
</folder>
</folder>
</folder>
</folder>
</filesystem>