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> ...
- 计算机病毒洛,蓝狐动漫《百变机兽》中未完的战争,蓝毒兽原来是电脑病毒?...
原标题:蓝狐动漫<百变机兽>中未完的战争,蓝毒兽原来是电脑病毒? 最近,好久没有更新了,因为最近找到一部非常好看的童年动漫<百变机兽>,然后就一直追剧.今天和大家一起聊聊< ...
最新文章
- JQuery遍历控件的方法
- 下载nodejs的mysql安装包下载安装_Node.js安装 下载
- Java:计算类的serialVersionUID
- 论文浅尝 - TACL2020 | 改进低资源跨语言实体链接的候选生成问题
- 一条开启勇士王朝的短信
- iframe design=on 时,oncontextmeun不能触发之问题!
- Python 基础课程第五天
- ERP软件管理持续升级 抢占产业先机
- Java:注解(Annotation)自定义注解入门
- 过滤器为JSP文件生成静态页面
- Python基于seaborn绘制喜欢的热力图,不同色系一览
- 文件浏览器一定要有个向上级按钮
- php百度地图普通ip定位,使用百度地图定位IP位置
- APUE---chap3文件I/O---3.11原子操作
- vue 时间插件限制选择时间
- here i am(歌手BryanAdams的歌曲)
- 微众银行再次入驻微信小程序,人人可申请,66万人提额100亿,发福利啦!!!...
- 知识点滴 - X射线和伽马射线有什么区别?
- 埃林哲一面面试经历(记录第一次面试)
- 仿乐享微信源码分享,微信管家升级版最新版本
热门文章
- nfs挂载hdfs,实现云存储
- 使用sersync实现多台服务器实时同步文件
- zip、rar文件格式
- Linux系统启动过程分析 -转
- mongodb java驱动_Java的MongoDB驱动及读写策略
- 蓝桥杯 ALGO-37 算法训练 Hankson的趣味题
- 1064. 朋友数(20)-PAT乙级真题
- 1051. 复数乘法 (15)-PAT乙级真题
- 腾达ac9虚拟服务器,腾达AC9官方定制固件1.0版-加广告屏蔽、迅雷等
- springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台