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

com.emc.mongoose.base.item.op.OperationsBuilder Maven / Gradle / Ivy

There is a newer version: 4.3.10
Show newest version
package com.emc.mongoose.base.item.op;

import com.emc.mongoose.base.item.Item;
import com.emc.mongoose.base.storage.Credential;
import com.github.akurilov.commons.io.Input;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/** Created by kurila on 14.07.16. */
public interface OperationsBuilder> extends AutoCloseable {

	int originIndex();

	OpType opType();

	OperationsBuilder opType(final OpType opType);

	String inputPath();

	OperationsBuilder inputPath(final String inputPath);

	OperationsBuilder outputPathInput(final Input outputPathSupplier);

	OperationsBuilder credentialInput(final Input credentialInput);

	OperationsBuilder credentialsByPath(final Map credentials);

	O buildOp(final I item) throws IOException, IllegalArgumentException;

	void buildOps(final List items, final List buff)
					throws IOException, IllegalArgumentException;

	@Override
	void close();
}