Class BlankNodeImpl

java.lang.Object
org.apache.commons.rdf.simple.BlankNodeImpl
All Implemented Interfaces:
BlankNode, BlankNodeOrIRI, RDFTerm, SimpleRDF.SimpleRDFTerm

final class BlankNodeImpl extends Object implements BlankNode, SimpleRDF.SimpleRDFTerm
A simple implementation of BlankNode.
  • Field Details

    • SALT

      private static final UUID SALT
    • COUNTER

      private static final AtomicLong COUNTER
    • uniqueReference

      private final String uniqueReference
  • Constructor Details

    • BlankNodeImpl

      public BlankNodeImpl()
    • BlankNodeImpl

      public BlankNodeImpl(UUID uuidSalt, String name)
  • Method Details

    • uniqueReference

      public String uniqueReference()
      Description copied from interface: BlankNode
      Return a reference for uniquely identifying the blank node.

      The reference string MUST universally and uniquely identify this blank node. That is, different blank nodes created separately in different JVMs or from different RDF instances MUST NOT have the same reference string.

      The BlankNode.uniqueReference() of two BlankNode instances MUST be equal if and only if the two blank nodes are equal according to BlankNode.equals(Object).

      Clients should not assume any particular structure of the reference string, however it is recommended that the reference string contain a UUID-derived string, e.g. as returned from UUID.toString().

      IMPORTANT: This is not a blank node identifier nor a serialization/syntax label, and there are no guarantees that it is a valid identifier in any concrete RDF syntax. For an N-Triples compatible identifier, use RDFTerm.ntriplesString().

      Specified by:
      uniqueReference in interface BlankNode
      Returns:
      A universally unique reference to identify this BlankNode
    • ntriplesString

      public String ntriplesString()
      Description copied from interface: RDFTerm
      Return the term serialised as specified by the RDF-1.1 N-Triples Canonical form.
      Specified by:
      ntriplesString in interface RDFTerm
      Returns:
      The term serialised as RDF-1.1 N-Triples.
      See Also:
    • toString

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

      public int hashCode()
      Description copied from interface: BlankNode
      Calculate a hash code for this BlankNode.

      The returned hash code MUST be equal to the String.hashCode() of the BlankNode.uniqueReference().

      This method MUST be implemented in conjunction with BlankNode.equals(Object) so that two equal BlankNodes produce the same hash code.

      Specified by:
      hashCode in interface BlankNode
      Specified by:
      hashCode in interface RDFTerm
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this BlankNode.
      See Also:
    • equals

      public boolean equals(Object obj)
      Description copied from interface: BlankNode
      Check it this BlankNode is equal to another BlankNode. Two BlankNodes MUST be equal if, and only if, they have the same BlankNode.uniqueReference().

      Implementations MUST also override BlankNode.hashCode() so that two equal Literals produce the same hash code.

      Specified by:
      equals in interface BlankNode
      Specified by:
      equals in interface RDFTerm
      Overrides:
      equals in class Object
      Parameters:
      obj - Another object
      Returns:
      true if other is a BlankNode instance that represent the same blank node
      See Also: