Netbeans平台的API: 数据系统(Datasystem API)

Netbeans平台的数据系统是 文件系统和面向文件操作之间的逻辑层,提供在 文件对象(file object)之上的工作API,能够文件的逻辑处理:图标,名字,操作等等。例如Netbeans如何识别HTML文件,XML文件,Java源文件等,对于不同的文件/数据类型,Netbeans会以不同的方式处理,例如可以对Java源文件编译,可以对XML文件提供折叠显示等。Netbeans通过 数据加载器DataLoader实现这个功能的, 基本流程是系统加载池 System Data Loader Pool负责扫描磁盘上的目录,过滤掉不相关的文件,然后依次询问在 系统注册了的数据加载器是否对这个文件类型进行处理。 第一个遇到的匹配的加载器负责处理该文件类型,它将为这个文件类型创建一个 匹配的数据对象Data Ob ject,这个数据对象在Netbeans中负责这个文件类型。通过数据加载器,你能够将一些不同类型的文件聚集在一起形成组。例如可视化Swing可以识别app1.java, app1.form, app1.class将他们视为一组文件,这组文件能够共享一个数据对象,并且共享一组动作。在查看器窗口中,为这个数据对象只创建一个主节点。对于用户来说,他们只看到一个节点,因此不会将这些相关的文件隔离开,分别对待。而不相关的文件,例如测试输出文件,备份文件等,将不被考虑,直接滤除。

注意,在Netbeans中,数据对象要比文件对象高一层次,而数据系统高于文件系统(这通常和我们的直觉相反)。因此,数据对象能够拥有一些文件对象没有的行为。这些行为是通过 Cookie提供的(这里的Cookie和Web中的Cookie概念不同)。这样,数据对象能够通过拥有一个Cookie,从而和一个打开的编辑器相关联,或者数据对象能够作为一个模版供别人使用等等,或者当更名或者移除时进行一系列特定操作。通过数据加载器能够实现特定的伪文件,例如DataShadows.

数据系统API包括三个包:
  1. org.openide.loaders 负责处理文件,将他们关联到组,然后设置数据类型
  2. org.openide.cookies 提供了一种设计模式,能够对数据对象和节点提供附加的行为
  3. org.openide.util.datatransfer 实现了一些剪切版的扩展
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值