Class ObjectValue

All Implemented Interfaces:
Serializable, Expression, Item, ValueRepresentation
Direct Known Subclasses:
ValidationErrorValue

public class ObjectValue extends AtomicValue
An XPath value that encapsulates a Java object. Such a value can only be obtained by calling an extension function that returns it.
See Also:
  • Constructor Details

    • ObjectValue

      public ObjectValue()
      Default constructor for use in subclasses
    • ObjectValue

      public ObjectValue(Object object)
      Constructor
      Parameters:
      object - the object to be encapsulated
  • Method Details

    • setValue

      public void setValue(Object value)
      Set the value in this object value
    • convertPrimitive

      public AtomicValue convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
      Convert to target data type
      Specified by:
      convertPrimitive in class AtomicValue
      Parameters:
      requiredType - type code of the required atomic type
      validate - true if validation is required. If set to false, the caller guarantees that the value is valid for the target data type, and that further validation is therefore not required. Note that a validation failure may be reported even if validation was not requested.
      context - The conversion context to be used. This is required at present only when converting to a date or time: it provides the implicit timezone.
      Returns:
      the result of the conversion, if successful. If unsuccessful, the value returned will be a ValidationErrorValue. The caller must check for this condition. No exception is thrown, instead the exception will be encapsulated within the ValidationErrorValue.
    • getStringValue

      public String getStringValue()
      Get the value as a String
      Specified by:
      getStringValue in interface Item
      Specified by:
      getStringValue in interface ValueRepresentation
      Specified by:
      getStringValue in class AtomicValue
      Returns:
      a String representation of the value
      See Also:
    • effectiveBooleanValue

      public boolean effectiveBooleanValue(XPathContext context) throws XPathException
      Get the effective boolean value of the value
      Specified by:
      effectiveBooleanValue in interface Expression
      Overrides:
      effectiveBooleanValue in class AtomicValue
      Parameters:
      context - the evaluation context (not used in this implementation)
      Returns:
      true, unless the value is boolean false, numeric zero, or zero-length string
      Throws:
      XPathException - if any dynamic error occurs evaluating the expression
    • getItemType

      public ItemType getItemType(TypeHierarchy th)
      Determine the data type of the expression
      Specified by:
      getItemType in interface Expression
      Overrides:
      getItemType in class Value
      Parameters:
      th -
      Returns:
      Type.OBJECT
    • getObject

      public Object getObject()
      Get the encapsulated object
    • equals

      public boolean equals(Object other)
      Determine if two ObjectValues are equal
      Overrides:
      equals in class Value
      Throws:
      ClassCastException - if they are not comparable
    • hashCode

      public int hashCode()
      Description copied from class: Value
      Return a hash code to support the equals() function
      Overrides:
      hashCode in class Value
    • convertToJava

      public Object convertToJava(Class target, XPathContext context) throws XPathException
      Convert to Java object (for passing to external functions)
      Overrides:
      convertToJava in class Value
      Throws:
      XPathException