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 + -
显示快捷键?