Prefuse 4未完
今天才发现,prefuse的官方用户手册没有写完,只能自己边研究边写了。
之前用到一个GraphMLReader类的GraphReader函数,就先从他入手吧:
1、GraphMlReader
定义:
public class GraphMLReader extends AbstractGraphReader implements GraphReader{ /*** ..... ***/ }
其中:GraphReader仅仅定义了四个不同参数reader函数,其内容为:
public interface GraphReader { public Graph readGraph(String location) throws DataIOException; public Graph readGraph(URL url) throws DataIOException; public Graph readGraph(File f) throws DataIOException; public Graph readGraph(InputStream is) throws DataIOException; }
AbstractGraphReader也是一个抽象类,对前三个Reader进行了实现,最后一个参数为InputStream is的仍然保留为抽象函数,但是,如果观察这些实现的函数会发现,所有的读入动作,最后都交给了public Graph readGraph(InputStream is) throws DataIOException; 函数来实现,这样具体怎么读入数据,就要看集成这个抽象类的类来决定了。
而GraphMLReader直接对这个函数进行了实现:
public Graph readGraph(InputStream is) throws DataIOException {try { SAXParserFactory factory = SAXParserFactory.newInstance();SAXParser saxParser = factory.newSAXParser();GraphMLHandler handler = new GraphMLHandler();System.out.println("here");saxParser.parse(is, handler);return handler.getGraph();} catch ( Exception e ) {if ( e instanceof DataIOException ) {throw (DataIOException)e;} else {throw new DataIOException(e);}}}
其中SAXParserFactory,SAXParser是java提供的一个解析XML的库文件,输入的第一个参数为InputStream,第二个参数是DefaultHandler。这里的GraphMLHandler就是一个继承了DefaultHandler的静态类,见该文件中后边部分。
转载于:https://www.cnblogs.com/Joy06/p/3371794.html
Prefuse 4未完相关推荐
- 《今日简史》读书笔记(未完待续)
<今日简史>读书笔记(未完待续) 这本书是尤瓦尔·赫拉利的简史三部曲的最后一本,前2本书是<未来简史>和<人类简史>.根据豆瓣上网友的评价,这本书是尤瓦尔·赫拉利写 ...
- [每周软件]:Cucumber:未完待续的原因
2019独角兽企业重金招聘Python工程师标准>>> 本来这个计划是一周的 剩下未完的三篇才是核心 两篇源码分析,一篇总结+BDD分析,但是因为目前水平有限 源码追了一部分之后追丢 ...
- ExtJs之Ext.grid.GridPanel(部分未完)
今天在家休息,年假不用就作费啊. 看了几部香港老电影,陪爸爸看了勇士占奇才, 然后,测试了一下EXTJS未完的内容, 在京东上订了七本历史普及书,近两百块..:) 搞定. ? 1 2 3 4 5 6 ...
- 创建型模式——Factory Method(未完)
当对某个对象的实例化代码散布在整个项目中的时候,似乎你已经可以嗅到坏味道了,我们叫做"创建蔓延".除非你肯定这个对象的实例化方法永远不会改变,否则最后将"创建的知识搬迁到 ...
- linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要
Linux 命令个人总结====== 未完待续 man [功能说明]: 查看帮助 [语法格式]: man [123456789]命令.文件. [选项参数]: 数字"1"表示用户命令 ...
- CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)
目录 1. 前期预备知识 1.1 串口通讯电路图 1.2 实验相关寄存器 1.2 常用波特率设置 本章未完待续..... 原来写的文章已经丢失了,只能找到这一小部分,看什么时候有时间再补上. 1. 前 ...
- [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)
[教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) a10036it 发表于 2015-7-27 21:11:19 https://www.itsk.com/t ...
- Codeforces Round #395 (Div. 2)(未完)
2.2.2017 9:35~11:35 A - Taymyr is calling you 直接模拟 #include <iostream> #include <cstdio> ...
- 计算机病毒洛,蓝狐动漫《百变机兽》中未完的战争,蓝毒兽原来是电脑病毒?...
原标题:蓝狐动漫<百变机兽>中未完的战争,蓝毒兽原来是电脑病毒? 最近,好久没有更新了,因为最近找到一部非常好看的童年动漫<百变机兽>,然后就一直追剧.今天和大家一起聊聊< ...
最新文章
- python3 列表转字节_Python 3.9!10大新特性值得关注
- 图灵奖得主Hamming对于少数人获得重大成果原因的思考,送给此刻克服迷惘坚持前行的你...
- 吴恩达新年公开推荐这个设计师,上千人点赞
- 武汉python培训班排行榜-比较靠谱的武汉Python培训机构是哪个?
- activeMQ安装9(window下)
- c语言布尔 printf,fmt.Printf中的格式化动作('verb')
- Flutter - 生成二维码与识别二维码
- 伪静态隐藏域名后缀_你想知道的动态URL、静态URl、伪静态URL概念及区别都在这里!...
- 这 10 行比较字符串相等的代码给我整懵了,不信你也来看看
- 【转载】浏览器测试工具有哪些 浏览器安全性能内核兼容测试工具推荐
- github使用指南_GitHub 上的 12 个骚操作
- 李秋豪计算机系统,CS:APP3e 深入理解计算机系统_3e Y86-64模拟器指南
- FPGA学习.7——DDS信号发生器
- 计算机网络有哪三种地址,IP地址的分类有哪几种
- PTA 求链式线性表的倒数第K项 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
- nginx本地代理调试微信登录(window版本)
- 某android广告SDK逆向分析总结
- csdn的博客专家:【前端领域新星创作者】认证成功了
- SpringMVC @RequestBody问题:Unrecognized field , not marked as ignorable
- 如何快速查询全部快递单号物流信息