`
alartin
  • 浏览: 207944 次
社区版块
存档分类
最新评论

Netbeans平台: 数据对象

阅读更多
数据对象文件对象的包装器. 一个文件对象仅仅是一个数据容器,也许这个文件有一个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属性文件也使用这种机制从而使用一个节点来代表不同语言的资源文件.

然而, 这种一个数据对象能够代表多个文件的方式是强烈不鼓励的, 新的程序和代码不要使用这种方式, 由于它在弹性方面带来了严重的副作用,这种方式将逐渐被取消.

分享到:
评论

相关推荐

    新一代Java开发工具 可视化编辑 测试运维自动化.rar

    VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)...

    JAVA课程设计(1).doc

    课程设计任务与要求: " "课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练" "掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系 " "统用例图...

    java面向对象笔试题-uop_cs1102:CS1102:编程I

    区分变量、原始数据类型和对象 阐明对象和子程序的特性 实现基本的输入和输出功能 认识并能够实现Java表达式 ##Tasks:阅读学习指南和阅读作业 下载安装JDK包和Netbeans集成开发环境 测试软件安装 参与讨论问题(在...

    JAVA社区交流平台网站

    4.2.2 对象与目标数据格式之间的转换 31 4.3 传输代理模块的设计与实现 35 4.3.1 网络传输协议 36 4.3.2 传输代理的运作流程 38 4.4 代码生成器模块的设计与实现 39 4.4.1 模板的设计 39 4.4.2 代码生成的运作流程 ...

    Java语言学习教程大纲及实例

    - 使用IDE(如Eclipse, IntelliJ IDEA或NetBeans)创建第一个Java程序 2. **Java基本语法**: - 变量声明与类型(int, String, boolean等) - 基本数据类型和运算符 - 控制结构:if-else语句、switch-case语句、...

    网上图书管理系统-数据库课程设计.doc

    //JDBC数据源路径 //数据库连接对象 public static Connection dbConn; //初始化成员变量 public Open_DB() { try { Class.forName(DBDirver); dbConn = DriverManager.getConnection(url, userName, password); ...

    Java语言-数据结构与算法视频教程 (第一部分)

    ____18.JavaDS_有序链表.mp4 |____17.JavaDS_用链表实现抽象数据类型.mp4 |____16.JavaDS_双端链表.mp4 |____15.JavaDS_单链表.mp4 |____14.JavaDS_解析算术表达式.mp4 ...|____01.NetBeans_下载和安装.mp4

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包2

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包---java 源码 大量 实例

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java嵌入matlab源码-DAVEtools:一个Java包,名义上内置在NetBeans中,它允许在Mathwork的Simulink(

    java嵌入matlab源码DAVEtools ...解析DAVE-ML文件(运行任何嵌入式验证测试),并创建一个Model对象,该对象代表DAVE-ML源文件中定义的模型。 也可用于提供有关模型的信息并设置模型的输入/获取输出。 可以在M

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包3

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包4

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    Formula One e.Report Engine Developer License--灵活的10

    摘要 Formula One e.Report Engine是一个灵活的100%纯Java工具,用来提取,格式化,从各种数据源传送数据,包括应用程序内的Java对象,数据库,Enterprise,JavaBeans和文本文件。 组件列表 技术特性...

    java报告

    并进行数据备份和数据恢复。对操作员进行的操作进行日志管理,还可提供用户密码的更改。 采用的工具:如JDK、MyEclipse、NetBeans、SQL Server、Java2、J2EE、UML等。 采用的关键技术和方法:如面向对象分析、设计...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

Global site tag (gtag.js) - Google Analytics