nodecomparator.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 79 行

JAVA
79
字号
/* * Created on Apr 13, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */package org.mindswap.swoop.utils.rdfapi;import java.io.Serializable;import java.util.Comparator;import edu.unika.aifb.rdf.api.model.Literal;import edu.unika.aifb.rdf.api.model.ModelException;import edu.unika.aifb.rdf.api.model.RDFNode;import edu.unika.aifb.rdf.api.model.Resource;/** * @author ronwalf * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */public class NodeComparator implements Comparator, Serializable {	protected String base;		public NodeComparator(String base) {		this.base = base;	}	/**	 * 	 */	public NodeComparator() {		this.base = "";	}	/* (non-Javadoc)	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)	 */	public int compare(Object arg0, Object arg1) {		if (arg0 instanceof Literal) {			if (arg1 instanceof Literal) {				return arg0.toString().compareTo(arg1.toString());			} else if (arg1 instanceof Resource) {				return -1;			}		} else if (arg0 instanceof Resource) {						if (arg1 instanceof Resource) {				Resource resource0 = (Resource) arg0; 				Resource resource1 = (Resource) arg1;				if ((SwoopResourceImpl.isAnonymous(resource0)) 						&& !(SwoopResourceImpl.isAnonymous(resource1))) {					return 1;				} else if (!(SwoopResourceImpl.isAnonymous(resource0)) 						&& (SwoopResourceImpl.isAnonymous(resource1))) {					return -1;				}				try {					String uri0 = resource0.getURI();					String uri1 = resource1.getURI();										if (uri0.startsWith(base) && !uri1.startsWith(base)) {						return -1;					} else if (!uri0.startsWith(base) && uri1.startsWith(base)) {						return 1;					}					return resource0.getURI().compareTo(resource1.getURI());				} catch (ModelException e) {					throw new RuntimeException(e);				}			} else if (arg1 instanceof Literal) {				return 1;			}		}		throw new ClassCastException("Comparing types "+arg0.getClass()+" and "+arg1.getClass());	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?