Interface XPathQuery

  • All Superinterfaces:
    XPathBasicQuery, XPathQueryBase

    public interface XPathQuery
    extends XPathQueryBase, XPathBasicQuery
    Fluent API for basic or schema-based XPath queries.

    Can be used to create and execute XPath queries in a fluent manner. For example:

     
     public getObjectsWithValue(IContext context, ICore core, int value) {
         List<IMendixObject> results = core.createXPathQuery("//Entity[attribute=$value]")
             .setVariable("value", 1)
             .setAmount(500)
             .setOffset(50)
             .setDepth(1)
             .execute(context);
         return results;
     }
     

    After the XPath query is built up, XPathQueryBase.execute(IContext) can be called to retrieve the results.

    Since:
    Mendix 7.17
    • Method Detail

      • setRetrievalSchema

        XPathSchemaQuery setRetrievalSchema​(IRetrievalSchema schema)
        Adds a retrieval schema to the query.
        Parameters:
        schema - the schema to apply.
        Returns:
        the instance of XPathSchemaQuery that can be use to construct an XPath query with schema
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               java.math.BigDecimal value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type BigDecimal

        Adds a BigDecimal variable In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal BigDecimal value
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               boolean value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type Boolean

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal Boolean value
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               double value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type Double

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal Double value
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               int value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type Integer

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal Integer value
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               long value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type Long

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal Long value
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               IMendixObject object)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type IMendixObject

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        object - variable that represents a IMendixObject value. Will be replaced by it's identifier in the query
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               IMendixIdentifier identifier)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type IMendixIdentifier

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        identifier - variable that represents an identifier of an object
        Returns:
        the updated query instance
      • setVariable

        XPathQuery setVariable​(java.lang.String name,
                               java.lang.String value)
        Description copied from interface: XPathQueryBase
        Sets a variable with a value of type String

        In XPath queries it is possible to add variables Variable can be denoted with '$', e.g. a valid query syntax could be '//Entity.Ref[field >= $limit]'.

        Specified by:
        setVariable in interface XPathBasicQuery
        Specified by:
        setVariable in interface XPathQueryBase
        Parameters:
        name - name of variables referenced in the expression (without '$') and their values.
        value - variable that represents a literal String value
        Returns:
        the updated query instance