Class PJConverter

    • Constructor Detail

      • PJConverter

        public PJConverter()
    • Method Detail

      • getEquivalentItemType

        public static SequenceType getEquivalentItemType​(java.lang.Class javaClass)
        Get the nearest XPath equivalent to a Java class. A function call will be type-checked against an XPath function signature in which the Java classes are replaced by their nearest equivalent XPath types
        Parameters:
        javaClass - a Java class
        Returns:
        the nearest equivalent XPath SequenceType
      • convert

        public abstract java.lang.Object convert​(ValueRepresentation value,
                                                 java.lang.Class targetClass,
                                                 XPathContext context)
                                          throws XPathException
        Convert an XPath value to a Java value of a specified class
        Parameters:
        value - the supplied XPath value
        targetClass - the class of the required Java value
        context - the XPath dynamic context
        Returns:
        the corresponding Java value, which is guaranteed to be an instance of the target class (except that an empty sequence is converted to null)
        Throws:
        XPathException - if the conversion is not possible or fails
      • compile

        public java.lang.String compile​(java.lang.String var,
                                        java.lang.Class targetClass,
                                        CodeGeneratorService compiler)
        Generate Java code to implement the type conversion
        Parameters:
        var - the name of a variable whose value will be the XPath ValueRepresentation to be converted
        targetClass - the required class of the Java value
        compiler - provides supporting services by callback @return the text of a Java expression whose result will be a Java object/value of the required type
      • allocate

        public static PJConverter allocate​(Configuration config,
                                           ItemType itemType,
                                           int cardinality,
                                           java.lang.Class targetClass)
                                    throws XPathException
        Factory method to instantiate a converter from a given XPath type to a given Java class
        Parameters:
        config - the Saxon Configuration
        itemType - the item type of the XPath value to be converted
        cardinality - the cardinality of the XPath value to be converted
        targetClass - the Java class required for the conversion result
        Returns:
        a suitable converter
        Throws:
        XPathException
      • allocateNodeListCreator

        public static PJConverter allocateNodeListCreator​(Configuration config,
                                                          java.lang.Object node)
        Static method to get a converter from an XPath sequence of nodes to the representation of a NodeList in an external object model (this is really a special for DOM, which uses NodeList rather than general purpose Java collection classes)