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

com.marklogic.flux.api.Reprocessor Maven / Gradle / Ivy

There is a newer version: 1.0.0.ea1
Show newest version
/*
 * Copyright © 2024 MarkLogic Corporation. All Rights Reserved.
 */
package com.marklogic.flux.api;

import java.util.Map;
import java.util.function.Consumer;

/**
 * Read data from MarkLogic via custom code and reprocess it via custom code.
 */
public interface Reprocessor extends Executor {

    interface ReadOptions {
        ReadOptions invoke(String modulePath);

        ReadOptions javascript(String query);

        ReadOptions javascriptFile(String path);

        ReadOptions xquery(String query);

        ReadOptions xqueryFile(String path);

        ReadOptions partitionsInvoke(String modulePath);

        ReadOptions partitionsJavascript(String query);

        ReadOptions partitionsJavascriptFile(String path);

        ReadOptions partitionsXquery(String query);

        ReadOptions partitionsXqueryFile(String path);

        ReadOptions vars(Map namesAndValues);

        ReadOptions logProgress(int interval);
    }

    interface WriteOptions {
        WriteOptions invoke(String modulePath);

        WriteOptions javascript(String query);

        WriteOptions javascriptFile(String path);

        WriteOptions xquery(String query);

        WriteOptions xqueryFile(String path);

        WriteOptions externalVariableName(String name);

        WriteOptions externalVariableDelimiter(String delimiter);

        WriteOptions vars(Map namesAndValues);

        WriteOptions abortOnWriteFailure(boolean value);

        WriteOptions batchSize(int batchSize);

        WriteOptions logProgress(int interval);
    }

    Reprocessor from(Consumer consumer);

    Reprocessor to(Consumer consumer);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy