Class JPConverter

java.lang.Object
net.sf.saxon.expr.JPConverter
Direct Known Subclasses:
JPConverter.ExternalObjectWrapper, JPConverter.FromBigDecimal, JPConverter.FromBigInteger, JPConverter.FromBoolean, JPConverter.FromBooleanArray, JPConverter.FromByte, JPConverter.FromByteArray, JPConverter.FromCharacter, JPConverter.FromCharArray, JPConverter.FromCollection, JPConverter.FromDate, JPConverter.FromDouble, JPConverter.FromDoubleArray, JPConverter.FromFloat, JPConverter.FromFloatArray, JPConverter.FromInstant, JPConverter.FromInt, JPConverter.FromIntArray, JPConverter.FromLocalDate, JPConverter.FromLocalDateTime, JPConverter.FromLong, JPConverter.FromLongArray, JPConverter.FromObject, JPConverter.FromObjectArray, JPConverter.FromOffsetDateTime, JPConverter.FromQName, JPConverter.FromSequence, JPConverter.FromSequenceIterator, JPConverter.FromShort, JPConverter.FromShortArray, JPConverter.FromSource, JPConverter.FromString, JPConverter.FromUnicodeString, JPConverter.FromURI, JPConverter.FromXdmValue, JPConverter.FromZonedDateTime, JPConverter.VoidConverter

public abstract class JPConverter extends Object
This class together with its embedded subclasses handles conversion from Java values to XPath values.

The general principle is to allocate a specific JPConverter at compile time wherever possible. If there is insufficient type information to make this feasible, a general-purpose JPConverter is allocated, which in turn allocates a more specific converter at run-time to do the actual work.

  • Constructor Details

    • JPConverter

      public JPConverter()
  • Method Details

    • allocate

      public static JPConverter allocate(Class<?> javaClass, Type genericType, Configuration config)
      Allocate a Java-to-XPath converter for a given class of Java objects
      Parameters:
      javaClass - the class of the Java object to be converted (this may be the static type or the dynamic type, depending when the converter is allocated)
      genericType - the generic type of the Java object; may be null if unknown
      config - the Saxon Configuration
      Returns:
      a suitable converter
    • convert

      public abstract GroundedValue convert(Object object, XPathContext context) throws XPathException
      Convert a Java object to an equivalent XPath value
      Parameters:
      object - the java object to be converted
      context - the XPath dynamic evaluation context
      Returns:
      the XPath value resulting from the conversion
      Throws:
      XPathException - if the conversion is not possible or if it fails
    • getItemType

      public abstract ItemType getItemType()
      Get the item type of the XPath value that will result from the conversion
      Returns:
      the XPath item type
    • getCardinality

      public int getCardinality()
      Get the cardinality of the XPath value that will result from the conversion
      Returns:
      the cardinality of the result