数据对象是文件对象的包装器. 一个文件对象仅仅是一个数据容器,也许这个文件有一个MIME类型, 不过像java.io.File一样, 他一点也不知道也不关心它到底代表了何种文件或者是这个文件究竟是什么.
数据对象是Netbeans平台中装载器API的一部分. 一个数据对象代表一个或多个(通常都是只代表一个)文件对象. 一个数据对象知道它代表的文件是何种类型. 它能够代表一个例如java源文件的经过解析的内容.或者在一个InstanceDataObject的情况下, 文件名就可以提供所有的信息.
数据对象由数据装载器产生. 模块为特定的文件类型注册相应的数据装载器. 所有对于每个文件类型,通常都有一个对应的数据装载器. 同时每个术语这个文件类型的文件通常都对应一个数据对象。
数据对象很少提及类型. 如果你将一个数据对象转换为一个实现类,那么十有八九你做错了. 通常的使用方法是你询问一个数据对象,要求得到你感兴趣的(程序需要交互的)接口的实例. 这个方法是DataObject.getCookie(Class class).
举个最简单的例子, Netbeans API定义了一个接口 org.openide.cookies.OpenCookie, 这个接口只有一个方法: open(). 这个方法将在编辑器中打开一个文件. 当open()方法被调用时到底发生了什么完全取决于实现这个数据对象的模块. 系统的其他部分不需也不必知道任何实现的细节: 它仅仅需要知道数据对象是否有一个OpenCookie.如果有,那么在它的上下文菜单中打开动作将被激活, 打开动作将会调用DataObject.getCookie((OpenCookie.class)).open()方法, 同时返回一个OpenCookie.
Cookie这个名字容易让人费解, 很不幸,这是个历史遗留问题. getCookie方法其实时服务发现方法Lookup的老版本变种. 这两个其实是一样的.只不过getCookie方法需要所有返回的对象要实现Node.Cookie这个标记接口,而Lookup能返回任何对象. 估计在未来的版本中getCookie()方法会被一个新的getLookup()方法取代.
就像上面说得一样, 一个数据对象也许代表不止一个文件.所以当你在用户界面展开一个目录时,也许实际的数据对象少于目录中的文件. 这就是为什么使用Netbeans开发可视化图形界面时,每个Swing表单都有一个Java源文件和一个表单文件(.form)相对应,但是在用户界面中你看不到这个表单文件的原因. 在过去, .properties属性文件也使用这种机制从而使用一个节点来代表不同语言的资源文件.
然而, 这种一个数据对象能够代表多个文件的方式是强烈不鼓励的, 新的程序和代码不要使用这种方式, 由于它在弹性方面带来了严重的副作用,这种方式将逐渐被取消.
分享到:
相关推荐
软件介绍: TLV数据对象分析器用于分析EMV中的TLV模板,查找EMV标签,银行visa 、master卡必备的EMV流程,对EMV、tlv等解析是件非常麻烦的事情,此工具能够提高开发人员开发效率。
Vue提供了强大的前端开发架构,很多时候我们需要判断数据对象是否为空,使用typeof判断是个不错选择,具体代码见图。 补充知识:vue打包后 history模式 跟子目录 静态文件路径 分析 history 根目录 路由mode变为...
ERP系统信息化资料:12. 第十二章 以簇方式存储数据对象.doc
SAP B1 数据对象说明, 数据库表,字段,中文描述等。
VTK用户手册——《第11章 VTK中的数据对象接口》 VTK用户手册目录: Part I VTK介绍 Chapter 1. 介绍 Chapter 2. 安装 Chapter 3. 系统概述 Part II 通过例子学习VTK Chapter 4. 基础知识 Chapter 5. 可视化技术 ...
Oracle\Les12_chinese常见数据对象
本文实例讲述了PHP数据对象PDO操作技巧。分享给大家供大家参考,具体如下: PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。 <?php try { $dsn = "mysql:host=localhost; port=3306; ...
北京火龙果软件工程技术中心 Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习...
文档主要呈现了ALV数据对象的实现与定义,实例代码,包括ALV打印格式,ALV 显示格式,ALV 排序内表,ALV 事件,ALV 表头等~~~
动态建立SQL Server数据对象结构.pdf
基于Oracle Spatial的地下矿多源异质时空数据对象模型与应用*,顾清华,白春妮,针对目前国内外在地下矿时空建模方面的现状,本文在系统分析地下矿多源异质时空对象数据特点和Oracle Spatial 存储特点的基础上,提出
实验二、GIS图形数据对象的组织(一) VC++开发GIS系统 hfut
本文介绍了ORACLE常用的数据控制语句、数据定义、查询语句、数据对象、权限管理语句的SQL语法。
ORACLE_常用的SQL语法和数据对象.html
js数组数据和对象数据做比较,并改变数组的值
Java 数据对象(JDO)介绍(1) http://developer.51cto.com 2005-10-11 11:01 Jeff Brown 51cto.com 我要评论(0) 摘要:Java 数据对象 (JDO) is 是一个存储Java对象的规范. 它已经被JCP组织定义成JSR12规范。 ...
《在系统可编程技术应用设计&SOPC技术及应用》——第3讲 数据类型、数据对象、操作符.ppt
ORACLE 常用的SQL语法和数据对象(CHM电子书) 常用SQL语句