Class XdmExternalObject

All Implemented Interfaces:
Iterable<XdmItem>

public class XdmExternalObject extends XdmItem
The class XdmExternalObject represents an XDM item that wraps an external (Java or .NET) object. As such, it is outside the scope of the XDM specification (but permitted as an extension).

In releases prior to 9.5, external objects in Saxon were represented as atomic values. From 9.5 they are represented as a fourth kind of item, alongside nodes, atomic values, and functions.

  • Constructor Details

    • XdmExternalObject

      public XdmExternalObject(Object value)
      Create an XdmExternalObject that wraps a supplied Java object
      Parameters:
      value - the supplied Java object. Must not be null.
      Throws:
      NullPointerException - if the supplied value is null.
  • Method Details

    • getExternalObject

      public Object getExternalObject()
      Get the wrapped Java object
      Returns:
      the wrapped object
    • toString

      public String toString()
      Get the result of converting the external value to a string.
      Overrides:
      toString in class XdmValue
      Returns:
      the result of applying toString() to the wrapped external object.
    • equals

      public boolean equals(Object other)
      Compare two external objects for equality. Two instances of XdmExternalObject are equal if the Java objects that they wrap are equal.
      Overrides:
      equals in class Object
      Parameters:
      other - the object to be compared
      Returns:
      true if the other object is an XdmExternalObject and the two wrapped objects are equal under the equals() method.
    • hashCode

      public int hashCode()
      Return a hash code for the object. This respects the semantics of equals(Object);
      Overrides:
      hashCode in class Object
      Returns:
      a suitable hash code