Class ComparableNodeValue

java.lang.Object
org.aksw.jenax.arq.util.node.ComparableNodeValue
All Implemented Interfaces:
Serializable, Comparable<ComparableNodeValue>

public class ComparableNodeValue extends Object implements Comparable<ComparableNodeValue>, Serializable
A wrapper that makes NodeValues comparable by their value. For example, "5"^^xsd:int equals "5"^^xsd:double. Allows for use in guava's RangeSet.
Author:
raven
See Also:
  • Field Details

    • node

      protected org.apache.jena.graph.Node node
    • nodeValue

      protected transient org.apache.jena.sparql.expr.NodeValue nodeValue
  • Constructor Details

    • ComparableNodeValue

      protected ComparableNodeValue(org.apache.jena.graph.Node node, org.apache.jena.sparql.expr.NodeValue nodeValue)
  • Method Details

    • getNode

      public org.apache.jena.graph.Node getNode()
    • getNodeValue

      public org.apache.jena.sparql.expr.NodeValue getNodeValue()
    • wrap

      public static ComparableNodeValue wrap(org.apache.jena.graph.Node node)
    • wrap

      public static ComparableNodeValue wrap(org.apache.jena.sparql.expr.NodeValue nodeValue)
    • compareTo

      public int compareTo(ComparableNodeValue that)
      Compare strictly by value if possible. Comparing 5 (int) to to 5.0 (double) can thus yield 0. In contrast, NodeValue.compareAlways(NodeValue, NodeValue) discriminates equal values further by the rdf term. fallback to lexical comparison
      Specified by:
      compareTo in interface Comparable<ComparableNodeValue>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object