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

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属性文件也使用这种机制从而使用一个节点来代表不同语言的资源文件.

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

分享到:
评论

相关推荐

    NetBeans富客户端编程权威教程

    2. **Node和Explorer视图**:Node是NetBeans中表示数据对象的抽象,它可以包含数据和操作。Explorer视图是用户界面中展示这些Node的一种方式,通常用于显示文件系统、数据库或其他结构化的数据。开发者可以通过...

    HIBERNATE FOR NETBEANS 数据操作方法

    **Hibernate for NetBeans 数据操作方法** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。NetBeans 是一款强大的集成开发环境(IDE),提供了丰富的功能来支持...

    hibernate for netbeans 6.1

    总之,Hibernate for NetBeans 6.1为开发者提供了一个强大且便捷的平台,使他们能够在Java应用中轻松地管理和操作数据库,同时保持高效的开发流程。尽管它可能不适用于所有NetBeans版本,但对于使用NetBeans 6.1的...

    The Definitive Guide to NetBeans Platform 7

    - **数据和文件管理**:涵盖了文件系统集成、数据对象和节点的概念。 #### 用户界面开发(第2部分) - **菜单栏与工具栏**:提供了创建自定义菜单和工具栏的方法,以增强用户交互体验。 - **窗口系统**:解释了...

    netbeans图书管理系统

    【标题】:“NetBeans图书管理系统”是一个基于NetBeans平台开发的图书管理软件,它提供了全面的图书信息管理、借阅与归还、库存控制以及用户管理等功能,旨在为图书馆或个人书库提供高效便捷的信息化解决方案。...

    netbeans6.0正式版

    下面将详细介绍NetBeans 6.0的主要特性、安装过程以及与面向对象编程的相关性。 1. **主要特性**: - **多语言支持**:NetBeans 6.0不仅支持Java,还支持PHP、C++、HTML5等多种编程语言,方便不同领域的开发者在...

    netbeans guide

    - 介绍NetBeans平台的数据存储机制。 - 分析文件系统的管理和优化技巧。 - 讨论如何处理大数据量的情况。 - **第8章:技巧与窍门** - 分享提高开发效率的小技巧。 - 提供常见问题的解决方案。 - 介绍如何利用...

    Netbeans连接MySQL和SQL Server

    5. **操作SQL Server数据库**:一旦连接建立,你就可以像处理MySQL一样,通过NetBeans管理SQL Server数据库的对象和数据。 在实际开发中,你可能需要根据实际的服务器地址、端口、实例名和数据库名调整这些连接参数...

    餐厅订座系统(NetBeans)

    【Java】:作为项目的编程语言,Java是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性闻名。在餐厅订座系统中,Java被用来实现业务逻辑,包括用户身份验证、数据库交互、预订处理等功能。Java...

    学生信息系统Java Netbeans简单:学生信息系统Java Netbeans简单,带有SQLite数据库

    Java是一种广泛使用的面向对象的编程语言,以其跨平台性、安全性以及强大的类库而著名。在这个项目中,Java被用来编写控制台界面和与SQLite数据库交互的逻辑代码。 ### 2. NetBeans IDE NetBeans是开源的Java IDE,...

    用netbeans做的java图书管理系统

    开发人员可能使用Java的面向对象特性,如类、对象和接口,来设计系统架构,同时利用Java的标准库,如Java SQL API(JDBC)来与数据库交互,存储和检索图书和用户数据。 【标签】:“netbeans java” 这两个标签...

    hibernate for netbeans5.5

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,从而简化了数据库操作。描述提到这个资源只适用于NetBeans 5.5,意味着可能包含了特定于该版本的配置或插件。 标签“5.5”...

    NETBEANS7下J2EE6开发技术-英文

    JPA提供了一种声明式的方式,使得开发者可以轻松地将Java对象和数据库记录对应起来,实现数据的透明访问。 6. **EJB (Enterprise JavaBeans)**: EJB是J2EE的核心组件,用于构建可复用的、分布式的、事务安全的企业...

    JAVA NetBeans 个人通讯录

    **文件I/O操作**:为了保存和读取通讯录数据,项目可能使用了Java的文件输入输出流(FileInputStream, FileOutputStream)和对象流(ObjectInputStream, ObjectOutputStream)进行序列化和反序列化操作,将数据持久...

    用Netbeans开发Hibernate项目

    7. **DAO(数据访问对象)设计模式**:通常,我们使用DAO来封装数据库操作,以保持业务逻辑和数据访问的分离。创建对应的DAO接口和实现类,将Hibernate方法封装在其中。 8. **HQL(Hibernate查询语言)**:学习使用...

    学生信息管理系统NetBeans开发实例

    下面将详细介绍NetBeans平台下开发学生信息管理系统涉及的关键知识点。 1. **Java编程语言**:Java是学生信息管理系统的基础,它是一种跨平台的面向对象编程语言。Java的面向对象特性使得代码可读性高、易于维护,...

    netbeans Ajax

    NetBeans是一款开源的、跨平台的IDE,特别适合Java、JavaScript等语言的开发,包括Web应用。Ajax,全称为Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,它通过...

    Netbeans学生管理系统

    该系统利用Java的面向对象特性、稳定性和跨平台兼容性,确保在不同操作系统环境下都能稳定运行。NetBeans作为开发环境,提供了丰富的集成开发工具和库支持,使得开发者能高效地构建应用程序。 系统的核心功能可能...

Global site tag (gtag.js) - Google Analytics