All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.infinicast.client.api.IPath Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package io.infinicast.client.api;

import io.infinicast.JArray;
import io.infinicast.JObject;
import io.infinicast.TriConsumer;
import io.infinicast.client.api.paths.*;
import io.infinicast.client.api.paths.handler.CompletionCallback;
import io.infinicast.client.api.paths.handler.JsonCompletionCallback;
import io.infinicast.client.api.paths.handler.messages.APMessageCallback;
import io.infinicast.client.api.paths.handler.messages.APValidateDataChangeCallback;
import io.infinicast.client.api.paths.handler.messages.APValidateMessageCallback;
import io.infinicast.client.api.paths.handler.objects.APObjectIntroduceCallback;
import io.infinicast.client.api.paths.handler.objects.GetDataCallback;
import io.infinicast.client.api.paths.handler.reminders.AReminderCallback;
import io.infinicast.client.api.paths.handler.requests.APRequestAnswerCallback;
import io.infinicast.client.api.paths.handler.requests.APRequestCallback;
import io.infinicast.client.api.paths.options.CompleteCallback;
import io.infinicast.client.api.paths.taskObjects.ADataAndPathAndEndpointContext;
import io.infinicast.client.api.paths.taskObjects.ADataAndPathContext;
import io.infinicast.client.api.query.ListenTerminateReason;

import java.util.HashMap;
import java.util.concurrent.CompletableFuture;
import java.util.function.BiConsumer;
/**
 * Everything in Infinicast is using paths. Paths are the way to share anything:
 * paths can be used to store data, send requests and send messages.
 * all data, requests, messages can be listened on and live updates can be received.
*/
public interface IPath {
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, double value, CompletionCallback completeCallback);
    /**
     * Sends a Json Message to a Path. All Endpoints currently listening on Messages on this path will receive it.
     * @param json the Message payload
     * @return a promise that completes when the message has been received by the cloud
    */
    CompletableFuture sendMessageAsync(JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, int value);
    /**
     * Sets the data of this path.
     * @param json the data to be assigned
     * @return a result that indicates success or failure
    */
    CompletableFuture setDataAsync(JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, String value, CompletionCallback completeCallback);
    /**
     * deletes the path. Does not affect child paths!
     * @return promise containg success or error
    */
    CompletableFuture deleteDataAsync();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, JArray value);
    /**
     * deletes the path and all listeners on the path as well as the roles directly added to this path
     * @return promise containg success or error
    */
    CompletableFuture deleteDataAndListenersAsync();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, JArray value, CompletionCallback completeCallback);
    /**
     * deletes all listeners on the path
     * @return promise containg success or error
    */
    CompletableFuture deleteListenersAsync();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, JObject value);
    /**
     * Experimental feature:
     * adds a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
     * @return success or error
    */
    CompletableFuture addReminderAsync(ReminderSchedulingOptions schedulingOptions, JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Experimental feature:
     * adds or replace a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param queryData data to identify the reminder.
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
     * @return success or error
    */
    CompletableFuture addOrReplaceReminderAsync(JObject queryData, ReminderSchedulingOptions schedulingOptions, JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, double value);
    /**
     * Experimental feature:
     * deletes a reminder by comparing the provided queryData
     * @param queryData data to identify the reminder.
     * @return success or error
    */
    CompletableFuture deleteReminderAsync(JObject queryData);
    /**
     * comparable to rest requests.
     * Sends a Json Request to a Path. exactly one listener will be triggered with the OnRequest handler. The selected listener has to respond.
     * @param json the Message payload
     * @param answer a callback returning if an error occured, the answered json, path and endpointcontext
    */
    void sendRequest(JObject json, APRequestAnswerCallback answer);
    /**
     * comparable to rest requests.
     * Sends a Json Request to a Path. exactly one listener will be triggered with the OnRequest handler. The selected listener has to respond.
     * @param json the Message payload
     * @return a promise containg the data, path and endpointcontext of the answer - or an exception if the request failed
    */
    CompletableFuture sendRequestAsync(JObject json);
    /**
     * Get a child of this path with the {@code name}
     * e.g. if the path was /my/path/  the result will be /my/path/name/
     * @param name Name of the path
     * UNKNOWN DOC TAG 'region'
     * @return the resulting path
    */
    IPath path(String name);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, double value, CompletionCallback completeCallback);
    /**
     * registers a listener on data changes on this path
     * @param callback callback when the data changed
     * @return a promise indicating success or error
    */
    CompletableFuture onDataChangeAsync(TriConsumer callback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, int value);
    /**
     * registers a data validator on this path. A validator will be called before the data change is applied to the system
     * the validator needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the data changed
     * @return a promise indicating success or error
    */
    CompletableFuture onValidateDataChangeAsync(APValidateDataChangeCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, String value, CompletionCallback completeCallback);
    /**
     * registers a message validator on this path. A validator will be called before the message is actually sent to the system
     * the validtor needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the validation occurs
     * @return a promise indicating success or error
    */
    CompletableFuture onValidateMessageAsync(APValidateMessageCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, JArray value);
    /**
     * registers a request handler that will be called on one of the listeners as soon as a request on this path is sent.
     * the responder object needs to be used to respond to the sender.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the request
     * @return a promise indicating success or error
    */
    CompletableFuture onRequestAsync(APRequestCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, JArray value, CompletionCallback completeCallback);
    /**
     * Experimental feature:
     * registers a reminder handler that will be called on one of the listeners as soon as a reminder on this path is triggered by the system.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the reminder event
     * @return a promise indicating success or error
    */
    CompletableFuture onReminderAsync(AReminderCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, JObject value);
    /**
     * this method is deprecated and should no longer be used
     * @param callback
    */
    CompletableFuture onIntroduceAsync(APObjectIntroduceCallback callback);
    /**
     * returns a path reference to the parent collection of this path.
     * Example: on a path /my/foo/bar/ the result would be a reference to /my/foo/
     * @return  returns a path reference to the parent collection of this path.
    */
    IPath parentPath();
    /**
     * returns a map of key value pairs via the passed paramString.
     * Example: on a path /my/foo/bar/ ExtractPathParams with a string /my/$var1/$var2/ would return a map:{var1:foo, var2: bar}
     * @param paramString a param string path e.g. /my/$var2/$anyVariableName/
     * @return
    */
    HashMap extractPathParams(String paramString);
    /**
     * returns an element of this path address as a string.
     * Example: on a path /my/foo/bar/ idx = 0 would return my, idx = 1 would return foo and idx = 2 would return bar
     * @param idx
     * @return
    */
    String pathAddressElement(int idx);
    void addDebugPingInfo(int pingInMs);
    void addDebugMessage(AMessageLevel level, String message);
    void addDebugMessage(AMessageLevel level, JObject message);
    IPath withAdvancedOptions(JObject obj);
    /**
     * returns a string representation of the current path e.g. /root/my/path/
     * @return the string representation of this path
    */
    String toString();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSet(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return the resulting json
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
     * @return a Promise indicating failure or success of the operation and the json
    */
    CompletableFuture modifyDataAtomicAndGetResultAsync(AtomicChange data);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataDecValue(String field, double value);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return the resulting json
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataAtomicAsync(AtomicChange data);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataDecValue(String field, double value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueAsync(String field, JObject value);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataDecValue(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueAsync(String field, String value);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataDecValue(String field, int value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueAsync(String field, int value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataIncValue(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueAsync(String field, boolean value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataIncValue(String field, double value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueAsync(String field, double value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataIncValue(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueIfEmptyAsync(String field, JObject value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    void modifyDataIncValue(String field, int value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueIfEmptyAsync(String field, String value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
    */
    void modifyDataSetValueIfEmpty(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueIfEmptyAsync(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValueIfEmpty(String field, double value, CompletionCallback completeCallback);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueIfEmptyAsync(String field, boolean value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
    */
    void modifyDataSetValueIfEmpty(String field, boolean value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @return a Promise indicating failure or success of the operation
    */
    CompletableFuture modifyDataSetValueIfEmptyAsync(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValueIfEmpty(String field, boolean value, CompletionCallback completeCallback);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    CompletableFuture modifyDataIncValueAsync(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
    */
    void modifyDataSetValueIfEmpty(String field, int value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    CompletableFuture modifyDataIncValueAsync(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValueIfEmpty(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    CompletableFuture modifyDataDecValueAsync(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
    */
    void modifyDataSetValueIfEmpty(String field, String value);
    /**
     * Modifies the data by decrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about success or failure.
    */
    CompletableFuture modifyDataDecValueAsync(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValueIfEmpty(String field, String value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAsync(String field, JObject value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
    */
    void modifyDataSetValueIfEmpty(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAsync(String field, JArray value);
    /**
     * Modify Path Data by setting the field to the passed value if the field is empty
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValueIfEmpty(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAsync(String field, String value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
    */
    void modifyDataSetValue(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAsync(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValue(String field, double value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAsync(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
    */
    void modifyDataSetValue(String field, boolean value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAsync(String field, JObject value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValue(String field, boolean value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAsync(String field, JArray value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
    */
    void modifyDataSetValue(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAsync(String field, String value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValue(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAsync(String field, int value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
    */
    void modifyDataSetValue(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAsync(String field, double value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValue(String field, String value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAsync(String field, JObject value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
    */
    void modifyDataSetValue(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAsync(String field, JArray value);
    /**
     * Modify Path Data by setting the field to the passed value
     * @param field
     * @param value
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataSetValue(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAsync(String field, String value);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return if the operation was successfull or not
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
    */
    void modifyDataAtomic(AtomicChange data);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAsync(String field, int value);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return if the operation was successfull or not
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataAtomic(AtomicChange data, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAsync(String field, double value);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return the resulting json
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
    */
    void modifyDataAtomicAndGetResult(AtomicChange data);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAsync(String field, JObject value);
    /**
     * Modify Path Data by providing an AtomicChange object that allows to chain operations into one atomic operation.
     * The callback function will return the resulting json
     * @param data an AtomicChange object that can chain multiple atomic changes into one big atomic change
     * @param completeCallback a callback function that indicates if the function was successfull(error=null) or failed(error contains the error in that case)
    */
    void modifyDataAtomicAndGetResult(AtomicChange data, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAsync(String field, JArray value);
    /**
     * this method is deprecated and should no longer be used
     * @param callback
    */
    void onIntroduce(APObjectIntroduceCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAsync(String field, String value);
    /**
     * this method is deprecated and should no longer be used
     * @param callback
     * @param registrationCompleteCallback
    */
    void onIntroduce(APObjectIntroduceCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAsync(String field, int value);
    /**
     * Experimental feature:
     * registers a reminder handler that will be called on one of the listeners as soon as a reminder on this path is triggered by the system.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the reminder event
    */
    void onReminder(AReminderCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAsync(String field, double value);
    /**
     * Experimental feature:
     * registers a reminder handler that will be called on one of the listeners as soon as a reminder on this path is triggered by the system.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the reminder event
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onReminder(AReminderCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueAndGetResultAsync(String field, JObject value);
    /**
     * registers a request handler that will be called on one of the listeners as soon as a request on this path is sent.
     * the responder object needs to be used to respond to the sender.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the request
    */
    void onRequest(APRequestCallback callback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueAndGetResultAsync(String field, String value);
    /**
     * registers a request handler that will be called on one of the listeners as soon as a request on this path is sent.
     * the responder object needs to be used to respond to the sender.
     * the handler can be deregistered by passing null as callback
     * @param callback callback that handels the request
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onRequest(APRequestCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueAndGetResultAsync(String field, int value);
    /**
     * registers a message validator on this path. A validator will be called before the message is actually sent to the system
     * the validtor needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the validation occurs
    */
    void onValidateMessage(APValidateMessageCallback callback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueAndGetResultAsync(String field, boolean value);
    /**
     * registers a message validator on this path. A validator will be called before the message is actually sent to the system
     * the validtor needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the validation occurs
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onValidateMessage(APValidateMessageCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueAndGetResultAsync(String field, double value);
    /**
     * registers a message handler on this path. Messages sent to this path will  cause the callback handler to be triggered
     * the EndpointAndPath context can be used to get the sending endpoint of th received messages
     * the handler can be deregistered by passing null as callback
     * @param callback the callback to be called when a message is sent to this path
     * @return a promise indicating success or error
    */
    CompletableFuture onMessageAsync(APMessageCallback callback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueIfEmptyAndGetResultAsync(String field, JObject value);
    /**
     * registers a message handler on this path. Messages sent to this path will  cause the callback handler to be triggered
     * the EndpointAndPath context can be used to get the sending endpoint of th received messages
     * the handler can be deregistered by passing null as callback
     * @param callback the callback to be called when a message is sent to this path
     * @param listenTerminationHandler an optional parameter to get informed when the listening has been ended by the server.
     * @return a promise indicating success or error
    */
    CompletableFuture onMessageAsync(APMessageCallback callback, BiConsumer listenTerminationHandler);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueIfEmptyAndGetResultAsync(String field, String value);
    /**
     * registers a message handler on this path. Messages sent to this path will  cause the callback handler to be triggered
     * the EndpointAndPath context can be used to get the sending endpoint of th received messages
     * the handler can be deregistered by passing null as callback
     * @param callback the callback to be called when a message is sent to this path
    */
    void onMessage(APMessageCallback callback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueIfEmptyAndGetResultAsync(String field, int value);
    /**
     * registers a message handler on this path. Messages sent to this path will  cause the callback handler to be triggered
     * the EndpointAndPath context can be used to get the sending endpoint of th received messages
     * the handler can be deregistered by passing null as callback
     * @param callback the callback to be called when a message is sent to this path
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onMessage(APMessageCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueIfEmptyAndGetResultAsync(String field, boolean value);
    /**
     * registers a message handler on this path. Messages sent to this path will  cause the callback handler to be triggered
     * the EndpointAndPath context can be used to get the sending endpoint of th received messages
     * the handler can be deregistered by passing null as callback
     * @param callback the callback to be called when a message is sent to this path
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
     * @param listenTerminationHandler an optional parameter to get informed when the listening has been ended by the server.
    */
    void onMessage(APMessageCallback callback, CompleteCallback registrationCompleteCallback, BiConsumer listenTerminationHandler);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataSetValueIfEmptyAndGetResultAsync(String field, double value);
    /**
     * registers a data validator on this path. A validator will be called before the data change is applied to the system
     * the validtor needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the validation occurs
    */
    void onValidateDataChange(APValidateDataChangeCallback callback);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataIncValueAndGetResultAsync(String field, int value);
    /**
     * registers a data validator on this path. A validator will be called before the data change is applied to the system
     * the validtor needs to accept, change or reject the change via the responder object
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the validation occurs
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onValidateDataChange(APValidateDataChangeCallback callback, CompleteCallback registrationCompleteCallback);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataIncValueAndGetResultAsync(String field, double value);
    /**
     * registers a listener on data changes on this path
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the data changed
    */
    void onDataChange(TriConsumer callback);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataDecValueAndGetResultAsync(String field, int value);
    /**
     * registers a listener on data changes on this path
     * the handler can be deregistered by passing null as callback
     * @param callback callback when the data changed
     * @param registrationCompleteCallback sucessfull registration(error = null) or error
    */
    void onDataChange(TriConsumer callback, CompleteCallback registrationCompleteCallback);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataDecValueAndGetResultAsync(String field, double value);
    /**
     * Experimental feature:
     * deletes a reminder by comparing the provided queryData
     * @param queryData data to identify the reminder.
    */
    void deleteReminder(JObject queryData);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAndGetResultAsync(String field, JObject value);
    /**
     * Experimental feature:
     * deletes a reminder by comparing the provided queryData
     * @param queryData data to identify the reminder.
     * @param completeCallback called with success or error
    */
    void deleteReminder(JObject queryData, CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAndGetResultAsync(String field, JArray value);
    /**
     * Experimental feature:
     * adds or replace a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param queryData data to identify the reminder.
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
    */
    void addOrReplaceReminder(JObject queryData, ReminderSchedulingOptions schedulingOptions, JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAndGetResultAsync(String field, String value);
    /**
     * Experimental feature:
     * adds or replace a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param queryData data to identify the reminder.
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
     * @param completeCallback called with success or error
    */
    void addOrReplaceReminder(JObject queryData, ReminderSchedulingOptions schedulingOptions, JObject json, CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAndGetResultAsync(String field, int value);
    /**
     * Experimental feature:
     * adds a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
    */
    void addReminder(ReminderSchedulingOptions schedulingOptions, JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToSetAndGetResultAsync(String field, double value);
    /**
     * Experimental feature:
     * adds a reminder in the cloud. exactly one of the services that is registered via OnReminder will receive the reminder
     * @param schedulingOptions scheduling options to define when the timer should be fired
     * @param json data to be added to the reminder
     * @param completeCallback called with success or error
    */
    void addReminder(ReminderSchedulingOptions schedulingOptions, JObject json, CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAndGetResultAsync(String field, JObject value);
    /**
     * deletes all listeners on the path
    */
    void deleteListeners();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAndGetResultAsync(String field, JArray value);
    /**
     * deletes all listeners on the path
     * @param completeCallback called with success or error
    */
    void deleteListeners(CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAndGetResultAsync(String field, String value);
    /**
     * deletes the path and all listeners on the path as well as the roles directly added to this path
    */
    void deleteDataAndListeners();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAndGetResultAsync(String field, int value);
    /**
     * deletes the path and all listeners on the path as well as the roles directly added to this path
     * @param completeCallback called with success or error
    */
    void deleteDataAndListeners(CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromSetAndGetResultAsync(String field, double value);
    /**
     * deletes the path. Does not affect child paths!
    */
    void deleteData();
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAndGetResultAsync(String field, JObject value);
    /**
     * deletes the path. Does not affect child paths!
     * @param completeCallback called with success or error
    */
    void deleteData(CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAndGetResultAsync(String field, JArray value);
    /**
     * returns the data stored in the path
     * @return the returned json or an error
    */
    CompletableFuture getDataAsync();
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAndGetResultAsync(String field, String value);
    /**
     * returns the data stored in the path
     * @param options  optional parameter to add additional datacontext to the path (Note: deprecated)
     * @return the returned json or an error
    */
    CompletableFuture getDataAsync(GetDataOptions options);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAndGetResultAsync(String field, int value);
    /**
     * returns the data stored in the path
     * @param callback the returned json or an error
    */
    void getData(GetDataCallback callback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataAddToArrayAndGetResultAsync(String field, double value);
    /**
     * returns the data stored in the path
     * @param callback the returned json or an error
     * @param options  optional parameter to add additional datacontext to the path (Note: deprecated)
    */
    void getData(GetDataCallback callback, GetDataOptions options);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAndGetResultAsync(String field, JObject value);
    /**
     * Sets the data of this path.
     * @param json the data to be assigned
    */
    void setData(JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAndGetResultAsync(String field, JArray value);
    /**
     * Sets the data of this path.
     * @param json the data to be assigned
     * @param completeCallback a result that indicates success or failure
    */
    void setData(JObject json, CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAndGetResultAsync(String field, String value);
    /**
     * Sends a Json Message to a Path. All Endpoints currently listening on Messages on this path will receive it.
     * @param json the Message payload
    */
    void sendMessage(JObject json);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAndGetResultAsync(String field, int value);
    /**
     * Sends a Json Message to a Path. All Endpoints currently listening on Messages on this path will receive it.
     * @param json the Message payload
     * @param completeCallback a callback triggered when the message  has been received by the cloud
    */
    void sendMessage(JObject json, CompleteCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    CompletableFuture modifyDataRemoveFromArrayAndGetResultAsync(String field, double value);
    /**
     * returns the string representation of the parent path
     * Example: on a path /my/foo/bar/ the result would be a string containing '/my/foo/'
    */
    String getParentPathAddress();
    /**
     * returns the id part of this path.
     * Example: on a path /my/foo/bar/ the id would be the stirng 'bar'
    */
    String getId();
    /**
     * basically allows to use this path as a data collection.
     * returns the reference to a IChildrenQuery element that can be used to modify, query, delete.. children of this path.
    */
    IChildrenQuery getChildren();
    /**
     * basically allows to use this path as a collection based on listeners.
     * All fitting paths that currently have listeners will be added.
     * returns the reference to a IPathByListenersQuery element that can be used to filter and get children of this path.
    */
    IPathByListenersQuery getPathByListeners();
    /**
     * returns the reference to a IListenerQuery element that can be used to get informations about the listening endpoints on a given path.
    */
    IListenerQuery getListeners();
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the set
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSet(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, JArray value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, String value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, double value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added.
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArray(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, JObject value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, JArray value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, String value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, int value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, double value, CompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArray(String field, double value);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, JObject value);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, String value);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, int value);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, boolean value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, boolean value);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueAndGetResult(String field, double value);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, JObject value);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, String value);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, int value);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, boolean value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, boolean value);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * sets the data of a given field to the value if the field is currently empty.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataSetValueIfEmptyAndGetResult(String field, double value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataIncValueAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataIncValueAndGetResult(String field, int value);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataIncValueAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by incrementing the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataIncValueAndGetResult(String field, double value);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataDecValueAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataDecValueAndGetResult(String field, int value);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataDecValueAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by decrement the given field of the data in this path.
     * if the data field is not existing or not a number it will be initialized as 0.
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataDecValueAndGetResult(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, JArray value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be added only once
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToSetAndGetResult(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, JArray value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and ensures that the json will be removed from the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromSetAndGetResult(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, JArray value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and adds the value to the array
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataAddToArrayAndGetResult(String field, double value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, JObject value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, JObject value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, JArray value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, JArray value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, String value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, String value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, int value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, int value);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, double value, JsonCompletionCallback completeCallback);
    /**
     * Modifies the data by converting the given field in the data to an array and removes the value from the array one time
     * if the data field is not existing or not a json array it will be initialized as [].
     * a completion callback or a promise can be used to get an information about the complete data after the change or error.
    */
    void modifyDataRemoveFromArrayAndGetResult(String field, double value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy