package com.sap.core.odata.api.client.batch;
import java.util.List;
import com.sap.core.odata.api.rt.RuntimeDelegate;
/**
* A BatchChangeSet
* <p> BatchChangeSet represents a Change Set, that consists of change requests
*
* @author SAP AG
*/
public abstract class BatchChangeSet implements BatchPart {
/**
* Add a new change request to the ChangeSet
* @param BatchChangeSetPart {@link BatchChangeSetPart}
*/
public abstract void add(BatchChangeSetPart request);
/**
* Get change requests
* @return a list of {@link BatchChangeSetPart}
*/
public abstract List<BatchChangeSetPart> getChangeSetParts();
/**
* Get new builder instance
* @return {@link BatchChangeSetBuilder}
*/
public static BatchChangeSetBuilder newBuilder() {
return BatchChangeSetBuilder.newInstance();
}
public static abstract class BatchChangeSetBuilder {
protected BatchChangeSetBuilder() {}
private static BatchChangeSetBuilder newInstance() {
return RuntimeDelegate.createBatchChangeSetBuilder();
}
public abstract BatchChangeSet build();
}
}