annotationtreemodel.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 137 行
JAVA
137 行
//The MIT License//// Copyright (c) 2004 Mindswap Research Group, University of Maryland, College Park//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions://// The above copyright notice and this permission notice shall be included in// all copies or substantial portions of the Software.//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS// IN THE SOFTWARE.package org.mindswap.swoop.annotea;import java.net.URI;import javax.swing.tree.DefaultMutableTreeNode;import org.mindswap.swoop.treetable.*;import org.semanticweb.owl.model.OWLException;/** * @author Aditya * */public class AnnotationTreeModel extends AbstractTreeTableModel { public AnnotationTreeModel(Object root) { super(root); } // Names of the columns. static protected String[] cNames = {"Author", "Subject", "Date", "Entity"}; // Types of the columns. static protected Class[] cTypes = { String.class, String.class, String.class, String.class}; public int getColumnCount() { return 4; } public String getColumnName(int column) { return cNames[column]; } public Object getValueAt(Object node, int column) { DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node; Description annot = (Description) treeNode.getUserObject(); try { switch(column) { case 0: if (annot.getAuthor()!=null) return annot.getAuthor(); else return "Anonymous"; case 1: // type + subject String type = ""; if (annot.getAnnotationType()!=null) { try { type = Annotea.getEntityName(annot.getAnnotationType().getURI()); type = type.substring(0, 2); type = "[" + type.toUpperCase() + "] "; } catch (OWLException e) { e.printStackTrace(); } } // get subject - inside <head> of html block if (annot.getBody()!=null) { String subject = annot.getBody().trim(); if (subject.indexOf("<head>")>=0) { subject = subject.substring(subject.indexOf("<head>")+6, subject.indexOf("</head>")).trim(); } subject = type + subject; return subject; } else return type; case 2: if (annot.getCreated()!=null) { String date = annot.getCreated(); if (date.indexOf("-")>=0) { int spos = date.indexOf("-")+1; int epos = date.indexOf(" ", spos+1); if (spos!=-1 && epos!=-1) date = date.substring(spos, epos); } return date; } else return ""; case 3: // annotated entity if (annot.annotates!=null) { String annotURI = annot.annotates[0].toString(); if (annotURI.indexOf("#")>=0) annotURI = annotURI.substring(annotURI.indexOf("#")+1, annotURI.length()); else annotURI = annotURI.substring(annotURI.lastIndexOf("/")+1, annotURI.length()); if (annotURI!=null) return annotURI; } return ""; } } catch (SecurityException se) { } return null; } public int getChildCount(Object node) { DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node; return treeNode.getChildCount(); } public Object getChild(Object node, int index) { DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node; return treeNode.getChildAt(index); } public Class getColumnClass(int column) { return cTypes[column]; } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?