com.marklogic.client.expression.JsonExpr Maven / Gradle / Ivy
Show all versions of marklogic-client-api Show documentation
/*
* Copyright © 2024 MarkLogic Corporation. All Rights Reserved.
*/
package com.marklogic.client.expression;
import com.marklogic.client.type.XsBooleanVal;
import com.marklogic.client.type.XsStringSeqVal;
import com.marklogic.client.type.XsUnsignedLongVal;
import com.marklogic.client.type.ServerExpression;
// IMPORTANT: Do not edit. This file is generated.
/**
* Builds expressions to call functions in the json server library for a row
* pipeline.
*/
public interface JsonExpr {
/**
* Creates a (JSON) array, which is like a sequence of values, but allows for nesting.
*
*
*
* Provides a client interface to the json:array server function.
* @return a server expression with the json:array server data type
*/
public ServerExpression array();
/**
* Creates a (JSON) array, which is like a sequence of values, but allows for nesting.
*
* Provides a client interface to the json:array server function.
* @param array A serialized array element. (of element-node)
* @return a server expression with the json:array server data type
*/
public ServerExpression array(ServerExpression array);
/**
* Returns the size of the array.
*
*
*
* Provides a client interface to the json:array-size server function.
* @param array An array. (of json:array)
* @return a server expression with the xs:unsignedLong server data type
*/
public ServerExpression arraySize(ServerExpression array);
/**
* Returns the array values as an XQuery sequence.
*
*
*
* Provides a client interface to the json:array-values server function.
* @param array An array. (of json:array)
* @return a server expression with the item server data type
*/
public ServerExpression arrayValues(ServerExpression array);
/**
* Returns the array values as an XQuery sequence.
*
* Provides a client interface to the json:array-values server function.
* @param array An array. (of json:array)
* @param flatten Include values from subarrays in the sequence. The default is false, meaning that subarrays are returned as array values. (of xs:boolean)
* @return a server expression with the item server data type
*/
public ServerExpression arrayValues(ServerExpression array, boolean flatten);
/**
* Returns the array values as an XQuery sequence.
*
* Provides a client interface to the json:array-values server function.
* @param array An array. (of json:array)
* @param flatten Include values from subarrays in the sequence. The default is false, meaning that subarrays are returned as array values. (of xs:boolean)
* @return a server expression with the item server data type
*/
public ServerExpression arrayValues(ServerExpression array, ServerExpression flatten);
/**
* Creates a JSON object, which is a kind of map with a fixed and ordered set of keys.
*
*
*
* Provides a client interface to the json:object server function.
* @return a server expression with the json:object server data type
*/
public ServerExpression object();
/**
* Creates a JSON object, which is a kind of map with a fixed and ordered set of keys.
*
* Provides a client interface to the json:object server function.
* @param map A serialized JSON object. (of element-node)
* @return a server expression with the json:object server data type
*/
public ServerExpression object(ServerExpression map);
/**
* Creates a JSON object.
*
*
*
* Provides a client interface to the json:object-define server function.
* @return a server expression with the json:object server data type
*/
public ServerExpression objectDefine();
/**
* Creates a JSON object.
*
* Provides a client interface to the json:object-define server function.
* @param keys The sequence of keys in this object. (of xs:string)
* @return a server expression with the json:object server data type
*/
public ServerExpression objectDefine(ServerExpression keys);
/**
* Extract a subarray from an array, producing a new array. The second and third arguments to this function operate similarly to those of fn:subsequence for XQuery sequences.
*
* Provides a client interface to the json:subarray server function.
* @param array An array. (of json:array)
* @param startingLoc The starting position of the start of the subarray. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression subarray(ServerExpression array, double startingLoc);
/**
* Extract a subarray from an array, producing a new array. The second and third arguments to this function operate similarly to those of fn:subsequence for XQuery sequences.
*
*
*
* Provides a client interface to the json:subarray server function.
* @param array An array. (of json:array)
* @param startingLoc The starting position of the start of the subarray. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression subarray(ServerExpression array, ServerExpression startingLoc);
/**
* Extract a subarray from an array, producing a new array. The second and third arguments to this function operate similarly to those of fn:subsequence for XQuery sequences.
*
* Provides a client interface to the json:subarray server function.
* @param array An array. (of json:array)
* @param startingLoc The starting position of the start of the subarray. (of xs:numeric)
* @param length The length of the subarray. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression subarray(ServerExpression array, double startingLoc, double length);
/**
* Extract a subarray from an array, producing a new array. The second and third arguments to this function operate similarly to those of fn:subsequence for XQuery sequences.
*
* Provides a client interface to the json:subarray server function.
* @param array An array. (of json:array)
* @param startingLoc The starting position of the start of the subarray. (of xs:numeric)
* @param length The length of the subarray. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression subarray(ServerExpression array, ServerExpression startingLoc, ServerExpression length);
/**
* Constructs a json:array from a sequence of items.
*
*
*
* Provides a client interface to the json:to-array server function.
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray();
/**
* Constructs a json:array from a sequence of items.
*
* Provides a client interface to the json:to-array server function.
* @param items The items to be used as elements in the constructed array. (of item)
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray(ServerExpression items);
/**
* Constructs a json:array from a sequence of items.
*
* Provides a client interface to the json:to-array server function.
* @param items The items to be used as elements in the constructed array. (of item)
* @param limit The size of the array to construct. If the size is less than the length of the item sequence, only as "limit" items are put into the array. If the size is more than the length of the sequence, the array is filled with null values up to the limit. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray(ServerExpression items, double limit);
/**
* Constructs a json:array from a sequence of items.
*
* Provides a client interface to the json:to-array server function.
* @param items The items to be used as elements in the constructed array. (of item)
* @param limit The size of the array to construct. If the size is less than the length of the item sequence, only as "limit" items are put into the array. If the size is more than the length of the sequence, the array is filled with null values up to the limit. (of xs:numeric)
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray(ServerExpression items, ServerExpression limit);
/**
* Constructs a json:array from a sequence of items.
*
* Provides a client interface to the json:to-array server function.
* @param items The items to be used as elements in the constructed array. (of item)
* @param limit The size of the array to construct. If the size is less than the length of the item sequence, only as "limit" items are put into the array. If the size is more than the length of the sequence, the array is filled with null values up to the limit. (of xs:numeric)
* @param zero The value to use to pad out the array, if necessary. By default the empty sequence is used. (of item)
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray(ServerExpression items, double limit, ServerExpression zero);
/**
* Constructs a json:array from a sequence of items.
*
* Provides a client interface to the json:to-array server function.
* @param items The items to be used as elements in the constructed array. (of item)
* @param limit The size of the array to construct. If the size is less than the length of the item sequence, only as "limit" items are put into the array. If the size is more than the length of the sequence, the array is filled with null values up to the limit. (of xs:numeric)
* @param zero The value to use to pad out the array, if necessary. By default the empty sequence is used. (of item)
* @return a server expression with the json:array server data type
*/
public ServerExpression toArray(ServerExpression items, ServerExpression limit, ServerExpression zero);
}