org.eclipse.rdf4j.model

## Interface IRI

- All Superinterfaces:
    Resource, Serializable, URI, Value
  All Known Implementing Classes:
    AbstractIRI, MemIRI, NativeIRI, SimpleIRI, URIImpl

      public interface IRI
      extends URI, Resource

  An Internationalized Resource Identifier (IRI). IRIs are an extension of the existing `URI`: while URIs are limited to a subset of the ASCII character set, IRIs may contain characters from the Universal Character Set (Unicode/ISO 10646), including Chinese or Japanese kanji, Korean, Cyrillic characters, and so forth. It is defined by RFC 3987.

  An IRI can be split into a namespace part and a local name part, which are derived from an IRI string by splitting it in two using the following algorithm:

  - Split after the first occurrence of the '#' character,
  - If this fails, split after the last occurrence of the '/' character,
  - If this fails, split after the last occurrence of the ':' character.
  The last step should never fail as every legal (full) IRI contains at least one ':' character to separate the scheme from the rest of the IRI. The implementation should check this upon object creation.
  Author:
    Jeen Broekstra
  See Also:
    RFC 3987

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)` Compares this IRI to another object.
    `String` | `getLocalName()` Gets the local name part of this IRI.
    `String` | `getNamespace()` Gets the namespace part of this IRI.
    `int` | `hashCode()` Computes the hash code of this IRI.
    `default boolean` | `isIRI()` Check if the object is an instance of the given type.

    - ### Methods inherited from interface org.eclipse.rdf4j.model.URI

      `toString`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Resource

      `isResource`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Value

      `isBNode, isLiteral, isTriple, stringValue`

- - ### Method Detail

    - #### isIRI

          default boolean isIRI()

      Description copied from interface: `Value`
      Check if the object is an instance of the given type. Typically 2x than using instanceof. For implementers: This default implementation is overridden in the repsective sub-interface.
      Specified by:
        `isIRI` in interface `Value`
      Returns:
        true if instance of `IRI`

    - #### getNamespace

          String getNamespace()

      Gets the namespace part of this IRI.

      The namespace is defined as per the algorithm described in the class documentation.

      Specified by:
        `getNamespace` in interface `URI`
      Returns:
        the namespace of this IRI

    - #### getLocalName

          String getLocalName()

      Gets the local name part of this IRI.

      The local name is defined as per the algorithm described in the class documentation.

      Specified by:
        `getLocalName` in interface `URI`
      Returns:
        the local name of this IRI

    - #### equals

          boolean equals(Object o)

      Compares this IRI to another object.
      Specified by:
        `equals` in interface `URI`
      Overrides:
        `equals` in class `Object`
      Parameters:
        `o` - the object to compare this IRI to
      Returns:
        `true`, if the other object is an instance of `IRI` and their string values are equal; `false`, otherwise

    - #### hashCode

          int hashCode()

      Computes the hash code of this IRI.
      Specified by:
        `hashCode` in interface `URI`
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code for this IRI computed as `URI.toString()``.hashCode()`

Copyright © 2015-2021 Eclipse Foundation. All Rights Reserved.