001package org.dllearner.algorithms.qtl.datastructures; 002 003import org.apache.jena.graph.Node; 004import org.apache.jena.graph.NodeVisitor; 005import org.apache.jena.graph.Node_Concrete; 006import org.apache.jena.graph.Node_URI; 007import org.apache.jena.sparql.util.NodeComparator; 008 009/** 010 * @author Lorenz Buehmann 011 */ 012public class NodeInv extends Node_Concrete implements Comparable<NodeInv>{ 013 014 private final Node node; 015 016 public NodeInv(Node node) { 017 super(node.getURI()); 018 this.node = node; 019 } 020 021 public Node getNode() { 022 return node; 023 } 024 025 @Override 026 public Object visitWith(NodeVisitor v) { 027 { return v.visitURI( (Node_URI) node, (String) label ); } 028 } 029 030 @Override 031 public boolean isURI() { 032 return true; 033 } 034 035 @Override 036 public String getURI() { 037 return node.getURI(); 038 } 039 040 @Override 041 public boolean equals(Object o) { 042 if (this == o) return true; 043 if (!(o instanceof NodeInv)) return false; 044 045 NodeInv nodeInv = (NodeInv) o; 046 047 return node.equals(nodeInv.node); 048 } 049 050 @Override 051 public int hashCode() { 052 int result = super.hashCode(); 053 result = 31 * result + node.hashCode(); 054 return result; 055 } 056 057 @Override 058 public int compareTo(NodeInv o) { 059 if(this.getClass().equals(o.getClass())) { 060 return new NodeComparator().compare(this, o); 061 } else { 062 return -1; 063 } 064 } 065}