class IndexQueryDesc implements Serializable {
    /** */
    private static final long serialVersionUID = 0L;

    /** */
    private final List<IndexQueryCriterion> criteria;

    /** */
    private final String idxName;

    /** */
    private final String valType;

    /** */
    public IndexQueryDesc(List<IndexQueryCriterion> criteria, String idxName, String valType) {
        this.criteria = criteria;
        this.idxName = idxName;
        this.valType = valType;
    }

    /** */
    public List<IndexQueryCriterion> criteria() {
        return criteria;
    }

    /** */
    public String idxName() {
        return idxName;
    }

    /** */
    public String valType() {
        return valType;
    }

    /** */
    @Override public String toString() {<FILL_FUNCTION_BODY>}
}

        List<String> fields = criteria == null ? null : criteria.stream().map(IndexQueryCriterion::field).collect(Collectors.toList());

        return "IndexQuery[" +
            "idxName=" + idxName + ", " +
            "valType=" + valType + ", " +
            "fields=" + fields + "]";
    
<no_super_class>