
com.bronto.api.operation.AbstractCommonOperations Maven / Gradle / Ivy
The newest version!
package com.bronto.api.operation;
import java.util.Iterator;
import com.bronto.api.BrontoApi;
import com.bronto.api.BrontoWriteExceptionTransform;
import com.bronto.api.CommonOperations;
import com.bronto.api.model.ObjectBuilder;
import com.bronto.api.model.WriteResult;
import com.bronto.api.reflect.ApiReflection;
import com.bronto.api.request.BrontoReadPager;
import com.bronto.api.request.BrontoReadRequest;
public abstract class AbstractCommonOperations implements CommonOperations {
protected final C client;
protected final Class clazz;
protected final ApiReflection reflect;
public AbstractCommonOperations(Class clazz, C client) {
this.clazz = clazz;
this.client = client;
this.reflect = getSupportedWriteOperations();
}
public abstract ApiReflection getSupportedWriteOperations();
@Override
public ObjectBuilder newObject() {
return ObjectBuilder.newObject(clazz);
}
@Override
public Iterable readAll(final BrontoReadRequest request) {
return new Iterable() {
@Override
public Iterator iterator() {
return new BrontoReadPager(client, request);
}
};
}
@Override
public Iterable writeAll(final BrontoWriteBatch batches) {
return writeAll(batches, new DefaultWriteExceptionTransform(client, reflect, batches));
}
@Override
public Iterable writeAll(final BrontoWriteBatch batches, final BrontoWriteExceptionTransform handle) {
return new Iterable() {
@Override
public Iterator iterator() {
return new BrontoWritePager(client, reflect, batches, handle);
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy