- 浏览: 209583 次
最新评论
-
qinzl_1:
能举一些代码实例吗?
Apache VFS(2):文件的监听和监控 -
skyuck:
java9920 写道写得很清晰,很不错!我想问一下,如果可以 ...
Jackrabbit的简单节点定义文件格式 -
caoyangx:
roki 写道新书推荐!清华出版社新书《搜索引擎零距离》
购 ...
Apache Solr 介绍(1) -
PointOnLine:
再 顶 。
Apache VFS(4): 事件 -
PointOnLine:
再 顶 。
Apache VFS(3): 文件过滤器和选择器
文章列表
一般来说,我们使用Apache VFS时,直接从VFS对象获得的文件管理器是StandardFileSystemManager,StandardFileSystemManager从DefaultFileSystemManager继承而来。而解析文件在DefaultFileSystemManager中完成。
绝大部分时候,你会提供一个URI来定位你的文件系统,例如:ftp://yourftp/rootdir或者http://yourweb/rootdir或者file://c:/rootdir
,然后你将这个字符串作为参数传给StandardFileSystemManger, 这时候DefaultF ...
- 2007-06-20 16:09
- 浏览 3019
- 评论(0)
理解Apache VFS的概念性接口很重要,因为Apache VFS例子太少,如果不仔细研究的话,根本农不清楚:
VfsComponent接口
这个接口号称是用来管理所有VFS组件的生命周期的。方法比较简单:
init 用来初始化组件
close 用来关闭组件
setContext(VfsComponentContext ctx) 设置组件上下文,注意它维护了一个组件上下文:VfsComponentContext
setLogger 设置日志
有一个抽象类实现了这个接口AbstractVfsComponent抽象类,这个抽象类加了一个方法getContex ...
- 2007-06-20 14:33
- 浏览 2616
- 评论(0)
使用Apache VFS比较简单,第一个面对的对象是org.apache.commons.vfs.VFS对象。它有三个静态的方法:
getManager 这个方法最重要,将返回一个默认的FileSystemManager接口
setUriStyle
isUriStyle 判断是否是URI形式
FileSystemManager接口,文件系统管理器接口
文件系统管理器负责一系列文件系统,通过文件系统使用名字来定位一个文件对象,定位方法是resolveFile()方法
文件系统管理器可以识别多种类型的文件名:
绝对的URI: 必须以协议Schema开始 ...
- 2007-06-20 10:25
- 浏览 3089
- 评论(0)
Apache VFS的事件只有文件改变事件,这个事件模型比较特别:
org.apache.commons.vfs.FileChangeEvent类是顶层,也是具体类,只有一个方法:getFile(),返回触发事件的文件对象。
org.apache.commons.vfs.events.AbstractFileChangeEvent抽象类继承了上述的FileChangeEvent具体类,增加了一个抽象方法:notify(FileListener listener)来通知监听器
我们真正使用的有三个继承上述抽象类的具体类:
ChangedEvent
CreatedEvent
...
- 2007-06-20 09:39
- 浏览 2583
- 评论(2)
Apache VFS提供了FileFilter接口和FileSelector接口以及FileSelectInfo接口。这三个接口很容易让人摸不着头脑,都声称是
遍历文件层次结构中用来选择文件的。只不过FileFilter说是直接的子文件 (direct children of the base)
FileSelectInfo
只有三个 ...
- 2007-06-19 17:07
- 浏览 3603
- 评论(1)
Apache VFS有文件监听和监控功能。
FileListener接口监听三种事件:
fileChanged(FileChangeEvent eve): 文件变化,只有使用了FileMonitor才触发
fileCreated(FileChangeEvent eve): 文件创建
fileDeleted(FileChangeEvent eve): 文件删除
FileChangeEvent很简单,只有一个方法getFile(),返回触发事件的FileObject对象。
- 2007-06-19 16:00
- 浏览 3244
- 评论(2)
Apache VFS提供了一种虚拟文件系统,能够让你通过程序很方便的和位于本地文件系统,FTP文件系统,HTTP文件打交道。
在Apache VFS中核心是FileObject接口。它代表一个文件,和Java File不同,它具有更多延伸的功能和信息。实现FileObject ...
- 2007-06-19 14:26
- 浏览 6669
- 评论(1)
Netbeans平台的数据系统是文件系统和面向文件操作之间的逻辑层,提供在文件对象(file object)之上的工作API,能够文件的逻辑处理:图标,名字,操作等等。例如Netbeans如何识别HTML文件,XML文件,Java源文件等,对于不同的文件/数据 ...
- 2007-06-18 14:07
- 浏览 1312
- 评论(0)
Netbeans使用Node将JavaBeans或者其他具备属性的容器以树状的结构展现。Netbeans中有专门的Node包负责使用和创建节点,同时提供Cookies(以后会讲到)和动作,能够被查看器以树状结构显示。
什么是节点?可以说节点是任何Netbeans中的数据对象的包装器,这些对象通过节点来显示和执行任务(通过节点的动作),一般来说这些数据对象由数据系统接口(Datasystem API)提供。当然数据对象也可以根据特定需要单独创建。你看到的查看器中的图标,对话框,组件窗口都是基于节点的,他们通过查看器API显示。节点本身不存储数据,这个任务是由数据对象完成,节点仅仅是数据对 ...
- 2007-06-18 10:37
- 浏览 2170
- 评论(0)
Netbeans平台上开发富客户端需要仔细研究他的API,这里简单梳理一下:
Actions APIs - 最重要的也是开发者必须使用的API,负责处理象表单和工具栏等上面的动作, 想一下Swing的Action.
Ant -Ant的整合API.
Ant-Based Project Support ...
- 2007-06-18 10:05
- 浏览 2542
- 评论(0)
看到几篇介绍LDAP的好文章,任何对于LDAP持有兴趣,却不是高手的人都需要看看(注意这里LDAP和Directory姑且算作一个意思,严格的说, Directory是目录服务,LDAP是访问这个目录服务的协议,看客自行理解就行了):
LDAP是什么东西,我需要 ...
- 2007-06-15 09:44
- 浏览 1769
- 评论(0)
开发Netbeans RCP前需要一些基础知识:
原文
一个模块其实就是一个带有特定manifest条目的JAR文件,Netbeans支持创建模块,而其本身也是模块搭键起来的.
模块如何和Netbeans系统打交道呢?答案是通过模块内部的一个XML文件来和Netbeans系统交互,这个XML文件被称为层次文件(Layer file/Module Layer),通常是layer.xml. Netbeans系统将会读取这个文件.关于这个层次文件,我们以后详细介绍
通过模块,你可以改变主窗口或者工具栏等地方的菜单
通过继承 TopComponen ...
- 2007-06-11 13:17
- 浏览 1574
- 评论(0)
Compass的搜索语法基本上和Lucene一样.但是有两点要注意:Compass读取搜索配置文件, 默认的是对所有元数据都搜索, 这点比Lucene方便. 例如,在Lucene中,你需要指定要搜索的Field, 如果你需要搜索标题域和内容域的话, 唯一的方法就是创建一个全文域将标题域和内容域整合在一起. 而在Compass中, 在配置文件中有all这个选项, 默认情况下就是对所有元数据搜索;另外一个是Compass支持事务, 所以在使用搜索结果时, 需要脱离(detach).Compass中和搜索结果有关的接口和类:
Compass HitsOperations接口: 定义了一些对搜 ...
- 2007-05-30 10:21
- 浏览 3913
- 评论(0)
基本上JCR规范并没有考虑到安全机制, 仅仅提供了接口Credentials和一个简单实现SimpleCredentials, 简单信任状只使用简单的用户名和密码, 在仓库登陆的时候作为参数来获得会话.
Jackrabbit在这方面有所加强. 单独使用一个包org.apache.jackrabbit.core.security来实现安全机制.包含2个接口和15个类.
AccessManager接口:通过查询访问管理器来决定是否被授权对特定的项目Item(包含节点和属性)具备特定的操作或者动作.这里设置了三种授权:读,写,删除
- 2007-05-24 16:12
- 浏览 2494
- 评论(0)
JCR提供观察机制, 目的是在Item变化时(包括节点和属性),客户可以得到通知,从而作出相应的反应. JCR专门有一个包: javax.jcr.observation. 它包含5个接口:
Event: 事件,支持5种事件类型: 节点的增加和删除,属性的增加,删除和改变. 事件类有三个方法,分别是getPath()返回和这个事件相连的项目(可能是节点,也可能是属性)的绝对路径,getType()返回事件类型,getUserID()返回和这个事件相连的用户ID字符串(通过引起这个事件的会话的getUserID方法)
EventIterator, 事件的Iterator ...
- 2007-05-24 15:44
- 浏览 1721
- 评论(0)