2021SC@SDUSC【软件工程应用与实践】Cocoon项目2——core文件夹分析(1)

2021SC@SDUSC


按照上次会议的讨论结果,我们确定了core文件夹下的内容属于本项目的核心代码,因此首先基于core文件夹进行了大致的分工。
本次代码部分我主要分析了component文件夹下source里的helpers部分,该部分共包含4个java文件,对每个Java文件从作用到属性,再到方法分别进行了分析。

SourceRefresher接口

SourceRefresher是一个调用 Source.refresh()方法的组件,该方法位于配置的source集上,Source.refresh()的作用为在基础数据内容更改后刷新此对象的内容,通过调用它实现了可以根据超时值或响应外部事件触发刷新的功能

DelaySourceRefresher.java

1、总结

这个文件用于复习器的默认实现
继承了AbstractLogEnabled
实现了SourceRefresher接口

2、方法

public void refresh(String name,String uri,Parameters parameters) throws SourceException

  • name- 唯一识别源的名称
  • uri- 要刷新的乌里。可以使用每个有效的协议
  • params- 其他参数,如刷新运行之间的间隔

SourceRefresher中添加一个给定的uri

protected void addRefreshSource(String key, String uri, long delay, long interval)
通过key值对task进行查询,当task值为空时,声明一个RefresherTask类型的task并传入对应的参数值,添加一个新的source,若task的interval值不等于输入值时,调用update方法更新source现有的interval

protected void removeRefreshSource(String key)
通过key值对task进行查询,当task值不为空时将其删除

3、嵌套类

protected class DelaySourceRefresher.RefresherTask
继承了AbstractLogEnabled,实现了Runnable接口,进行环境设置,并定义了update方法

protected class DelaySourceRefresher.ConfigurationTask
继承了AbstractLogEnabled,实现了Runnable接口,将进修配置写入source,当失败则记录标记值供下次运行

2、SourceCredential.java

1、总结

这个文件表示给定用户的凭据,并定义了基本的get和set方法

2、方法

public SourceCredential(String principal,String password)
public SourceCredential(String principal)创建新的凭据

getPrincipal()返回本金

setPrincipal(String principal)设置本金

getPassword()返回密码

setPassword(String password)设置密码

2、SourceCredential.java

1、总结

Source属性界面,继承自object,实现了Xmlizable接口

2、构造器

通过构造器重载SourceProperty(Element property)SourceProperty(String namespace, String name)SourceProperty(String namespace, String name, String value)
实现了为source添加新的属性

  • name- 属性名称
  • namespace- 属性命名空间
  • value- 价值

3、方法

setNamespace()设置该属性的命名空间

setName()设置属性的名称
注:由于属性的命名空间和名称实际为不可修改的值,因此上述方法已弃用

getNamespace()返回属性命名空间

getName()返回属性名称

java public void toSAX(ContentHandler handler) throws SAXException
生成代表对象状态的 SAX 事件
如果调用该方法产生对应事件时,应注意handler可能实际上是一个可以接受XMLConsumer的事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值